Skip to content

Simulation merge with dev - #239

Open
wallmichi1 wants to merge 18 commits into
devfrom
simulation
Open

Simulation merge with dev#239
wallmichi1 wants to merge 18 commits into
devfrom
simulation

Conversation

@wallmichi1

@wallmichi1 wallmichi1 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What was done?

  • The simulation has been updated to a new state, i.e., robot base, world, and chassis have been added, as well as movements for the base, arm, and hand.
  • mia_hand_simulation_controller: A new package was added that translates manipulation inputs into commands for MoveIt.
  • small_house: The package for the world was added and modified (objects were removed for performance reasons).

What does the project structure look like?

  • Described in the README of manipulator_description.

How does it work?

  • Also described in the README of manipulator_description.

Which files are important for the review?

  • Most important are the launch files in manipulator_description.
  • Optionally, the URDF/XACRO files can be reviewed as well (as far as possible).
  • Meshes can be ignored, as well as everything in the small_house package.
  • The mia_hand_simulation_controller package is also important.
  • Everything in Movement (changes or files) can be ignored.

Co-authored-by: wallmichi1 <178703665+wallmichi1@users.noreply.github.com>
@nilsmandischer

nilsmandischer commented Aug 21, 2026

Copy link
Copy Markdown
Member

@wallmichi1 please, change PR description language to English! In addition, please, update the branch with the dev branch (should not break anything afaik).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_house as 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

Comment thread code/mia_hand_simulation_controller/README.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.

7 participants