Simulation merge with dev - #239
Open
wallmichi1 wants to merge 18 commits into
Open
Conversation
…late directly send hand_motion into simulation
…cription, README for mia_hand_simulation_controller
Co-authored-by: wallmichi1 <178703665+wallmichi1@users.noreply.github.com>
Member
|
@wallmichi1 please, change PR description language to English! In addition, please, update the branch with the dev branch (should not break anything afaik). |
There was a problem hiding this comment.
Pull request overview
This PR updates the ROS 2 simulation stack by introducing an installable Gazebo “small house” world package, extending the manipulator description for a mobile base + MIA hand setup, and adding a simulation controller package that bridges high-level manipulation intents to MoveIt execution.
Changes:
- Add
small_houseas an installable ROS 2 resource package (world/models/maps) and document how to run the combined world + manipulator simulation. - Add
mia_hand_simulation_controller(ament_python) with MoveIt action clients for MIA hand and UR arm bridging. - Update manipulator MoveIt/SRDF/controller config and robot description assets to support the MIA hand controller and mobile simulation layout.
Reviewed changes
Copilot reviewed 68 out of 442 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| code/small_house/CMakeLists.txt | Installs world/models/maps into the package share directory. |
| code/small_house/package.xml | Declares small_house as an ament_cmake package. |
| code/small_house/** | Adds Gazebo model/world assets for the small house environment (large asset drop). |
| code/SIMULATION_SMALL_HOUSE.md | Documents build/run steps and how the world + manipulator are wired together. |
| code/mia_hand_simulation_controller/setup.py | Defines ament_python packaging + data file installation for the bridge package. |
| code/mia_hand_simulation_controller/package.xml | Declares the bridge package metadata and test dependencies. |
| code/mia_hand_simulation_controller/README.md | Documents intended usage of the bridge node(s). |
| code/mia_hand_simulation_controller/mia_hand_simulation_controller/mia_hand_bridge.py | Sends MoveIt joint constraints for the MIA hand based on manipulation intent. |
| code/mia_hand_simulation_controller/mia_hand_simulation_controller/ur5e_bridge.py | Sends MoveIt joint constraints for UR arm motion (currently random goals). |
| code/manipulator_ur_moveit_config/srdf/manipulator_macro.srdf.xacro | Adjusts MIA hand named states and collision assumptions; removes passive-joint entries. |
| code/manipulator_ur_moveit_config/launch/ur_moveit.launch.py | Points RViz config lookup to this repo’s MoveIt config package. |
| code/manipulator_ur_moveit_config/config/moveit.rviz | Changes RViz fixed frame to odom. |
| code/manipulator_ur_moveit_config/config/moveit_controllers.yaml | Adds mia_joint_trajectory_controller for the MIA hand planning group. |
| code/manipulator_ur_moveit_config/config/joint_limits.yaml | Adds MoveIt joint limits (pos/vel/accel) for MIA hand joints. |
| code/manipulator_description/urdf/ur_realsense_mount.xacro | Updates RealSense mount URDF macro and mesh pathing. |
| code/manipulator_description/urdf/ur_chasis.xacro | Adds chassis link/joint between base and UR arm with inertial tuning for sim stability. |
| code/manipulator_description/urdf/mia_hand.urdf.xacro | Adds a wrapper macro for selecting left/right MIA hand xacros. |
| code/manipulator_description/urdf/mia_hand.ros2_control.xacro | Switches sim hardware to gz_ros2_control/GazeboSimSystem and defines command/state interfaces. |
| code/manipulator_description/urdf/schrankregal.xacro | Adds shelf macro for scene-object composition. |
| code/manipulator_description/scripts/filter_mia_hand_urdf.py | Adds a wrapper to post-process xacro output (freeze ring/little mimic joints for sim consistency). |
| code/manipulator_description/config/manipulator_controllers.yaml | Extends MIA joint trajectory controller joint list/constraints for MoveIt execution. |
| code/manipulator_description/config/ur_joint_limits.yaml | Adds custom UR joint limits configuration file. |
| code/manipulator_description/config/joint_names_agx_description.yaml | Adds joint-name list config for the mobile base. |
| code/manipulator_description/launch/manipulator.*.robot.launch.py | Adds launch composition for real-robot control stack + MoveIt stack. |
| code/manipulator_description/package.xml | Adds runtime dependencies for the new world and navigation stack integration. |
| code/manipulator_description/CMakeLists.txt | Installs scripts/ along with config/launch/urdf/meshes. |
| code/manipulator_description/CHANGELOG.rst | Adds a changelog file (currently appears unrelated to this package). |
| code/arlab_movement/params/ranger_slam_params.yaml | Adds SLAM toolbox parameters for the Ranger base navigation stack. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+32
to
+37
| # Automatically collect all files from launch/, config/, and maps/ | ||
| # directories so we don't have to update this list every time a file is added. | ||
| for directory in "launch": | ||
| dir_path = os.path.join(os.path.dirname(__file__), directory) | ||
| if not os.path.isdir(dir_path): | ||
| continue |
Comment on lines
+73
to
+76
| if not goal_handle.accepted: | ||
| self.get_logger().error("Goal rejected") | ||
| return | ||
|
|
Comment on lines
+77
to
+80
| if not goal_handle.accepted: | ||
| self.get_logger().error("Goal rejected") | ||
| return | ||
|
|
Comment on lines
+55
to
+60
| try: | ||
| root = ET.fromstring(urdf_xml) | ||
| except ET.ParseError as exc: | ||
| print(f"[filter_mia_hand_urdf] Failed to parse xacro output: {exc}", file=sys.stderr) | ||
| return urdf_xml | ||
|
|
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was done?
What does the project structure look like?
How does it work?
Which files are important for the review?