Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NASA_Challenge_[@xfiderek]_[Improving fidelity of SSRMS demo with Trick] #41

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

xfiderek
Copy link

@xfiderek xfiderek commented Sep 5, 2024

Improving fidelity of SSRMS demo with Trick

Team lead freelance username: xfiderek
Submission title: Improving fidelity of SSRMS demo with Trick

Resolves: #42

This PR features an end-to-end demo of canadarm2 (SSRMS) modelled using Trick and connected to moveit2 via authored ROS2<>Trick bridge. The demo includes the following:

  1. ros_trick_bridge - A ROS2 package allowing spawning & controlling trick simulations from ROS2 launch. It also sends /clock messages from trick to ROS2.
  2. trick_ros2_control - A ROS2 Control plugin that enables communication between ros2_control-enabled robots and trick simulations.
  3. SIM_trick_canadarm - A trick simulation of canadarm demo running at 100Hz. The simulation calculates forward dynamics with Articulated Body Algorithm, with friction model that takes into account Stribeck effect.
  4. Demo-related packages with moveit configurations, visualization, launch files and additional utils.
  5. Dockerfiles and compose file launching an end to end canadarm demo

Both ros_trick_bridge and trick_ros2_control can be easily imported into any project that wants to leverage connection between trick and ROS2. Any type of data can be exchanged between two systems in the provided framework.

Please check README.md for further details

Architecture of the bridge:
image
Screenshot from RVIZ:
image
Screenshot from Trick View GUI:
image

@xfiderek xfiderek changed the title NASA_Challenge_[xfiderek]_[Improving fidelity of SSRMS demo with Trick] NASA_Challenge_[@xfiderek]_[Improving fidelity of SSRMS demo with Trick] Sep 5, 2024
@xfiderek xfiderek force-pushed the spaceros_comp branch 11 times, most recently from f6b4ef7 to 7d565ea Compare September 6, 2024 12:13
@xfiderek
Copy link
Author

xfiderek commented Sep 7, 2024

Info for reviewers: I have an alternative version where instead of cloning space_robots demo as a dependency I have a long dockerfile which includes almost a 100% copy-paste of space robots demo. However, I would personally prefer to keep it as-is if that is ok with you since 1) this avoid unneccessary code duplicationm 2) you already fired the CI :) and. 3) that code will become obstolete as soon as we start pushing moveit2 stack to the registry. When we introduce standalone moveit2 image pushed to the registry, then I can certainly rework this demo if needed.

@xfiderek
Copy link
Author

xfiderek commented Sep 7, 2024

Hi, i think CI failed because I was building images with docker compose build, which seems not to work under certain circumstances (e.g. here danny-avila/LibreChat#2754 (comment)) . I switched to docker build... now in build.sh. Please try the CI again.

Edit: looking into CI workflow definition it seems that you are running build.sh file from the root folder of the repo, which I think is the reason why my build and build of PR#45 fail. Would not it make sense to first cd to the subfolder containing build.sh and execute it from there?

Adds package that spawns trick simulation as a subprocess and controls its lifecycle as ROS2 managed noe
…).

Adds a ROS2 package with ROS2 Control Hardware Plugin that allows to use Trick as Hardware System.
It works similarly to gazebo_ros2_control.
…os#42).

Adds Trick simulation of SSRMS, calculating forward dynamics of the arm.
It features friction model taking into account Stribeck effect.
It uses RBDL as a backend library to solve forward dynamics equations.
…ce-ros#42).

canadarm_wrench_publisher package demonstrates how to use trick bridge in any ros2 node.
It is also used in the end-to-end demo.
…space-ros#42).

Adds moveit config with ros2 controllers configuration for the end to end demo.
…pace-ros#42).

The dockerfile builds trick, ros_trick_bridge and canadarm simulation.
…ith trick (space-ros#42).

Adds dockerfile with ROS part of the end-to-end demo.
@mkhansenbot
Copy link
Contributor

@xfiderek - I just changed the build workflow to cd into the folder first, then rebased your branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[NASA Space ROS Sim Summer Sprint Challenge] Add ROS2<>Trick bridge with canadarm2 demo
2 participants