Skip to content

Repository files navigation

ChonkUR L Rail-E

Descriptions, deployments, tooling, and MoveIt configuration for the ChonkUR L Rail-E robot system, part of the iMETRO Facility at NASA's Johnson Space Center. This project is intended for use in one of ER4's managed workspaces (such as the in the clr_ws).

The hardware includes the ChonkUR robot mounted on an Ewellix Lift and Vention Linear Rail system.

alt text

Usage

The project includes a kinematic simulation for the robot. Launching the controllers and hardware interface is done using the provided launch files.

To launch the kinematic simulation:

ros2 launch clr_deploy clr_sim.launch.py

# Or to include the environment mockups
ros2 launch clr_deploy clr_sim.launch.py include_mockups_in_description:=true

For hardware we run the UR pendantless, which is a two part launch process:

# To launch the hardware robot, first deploy chonkur communications to activate the dashboard client
# in its own long-lived shell on the controls machine.
ros2 launch chonkur_deploy chonkur_comm.launch.py

# On the console machine, launch the UR GUI, which handles most operations that normally occur on the UR pendant
ros2 launch chonkur_deploy chonkur_gui.launch.py

# Back on the controls machine, after reading the UR arm
# Start the hardware interfaces for the rail, lift, and ChonkUR
ros2 launch clr_deploy clr_hw.launch.py

A MoveIt RViz widget can then be launched with:

ros2 launch clr_moveit_config clr_moveit.launch.py

# Or to include the environment mockups
ros2 launch clr_moveit_config clr_moveit.launch.py include_mockups_in_description:=true

A MuJoCo simulation including the environment is available in clr_mujoco_config. Note that it requires the MuJoCo ROS 2 simulation hardware interface to run.

# Start the mujoco_ros2_control-based simulation
ros2 launch clr_mujoco_config clr_mujoco.launch.py

# In another shell launch the moveit interface with sim parameters set
ros2 launch clr_moveit_config clr_moveit.launch.py include_mockups_in_description:=true use_sim_time:=true

For convenience, we also provide the option of running the MuJoCo simulation with state interfaces for the mockups. This keeps the mockup joint states up to date on the ROS 2 side for applications such as MoveIt, though there is no analog on hardware.

# Start the mujoco_ros2_control-based simulation with mockup state interfaces
ros2 launch clr_mujoco_config clr_mujoco.launch.py include_mockup_state_interfaces:=true

While position control is enabled by default, torque control can also be used with the UR10e in the MuJoCo simulation and on hardware. First, enable the effort controller, then send a command:

# Deactivate the default controller and activate the effort controller
ros2 control switch_controllers --deactivate joint_trajectory_controller --activate effort_controller

# Example: set the UR's shoulder_pan_joint torque to 1.0
ros2 topic pub --once /effort_controller/commands std_msgs/msg/Float64MultiArray "{data: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0]}"

# Stop the previous command
ros2 topic pub --once /effort_controller/commands std_msgs/msg/Float64MultiArray "{data: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}"

Citation

This project falls under the purview of the iMETRO project. If you use this in your own work, please cite the following paper:

@INPROCEEDINGS{imetro-facility-2025,
  author={Dunkelberger, Nathan and Sheetz, Emily and Rainen, Connor and Graf, Jodi and Hart, Nikki and Zemler, Emma and Azimi, Shaun},
  booktitle={2025 22nd International Conference on Ubiquitous Robots (UR)},
  title={Design of the iMETRO Facility: A Platform for Intravehicular Space Robotics Research},
  year={2025},
  volume={},
  number={},
  pages={390-397},
  keywords={NASA;Moon;Seals;Maintenance engineering;Maintenance;Robots;Standards;Open source software;Testing;Logistics},
  doi={10.1109/UR65550.2025.11077983}}

About

Description, configuration, and launch files for the Robot-on-rails hardware in the iMETRO facility at NASA JSC.

Resources

Stars

3 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages