Mobile Manipulator
The Mobile Manipulator combines the Husarion Panther base with the Franka Emika arm in a fully modular stack. By treating each as a separate ROS 2 package—rcdt_panther
and rcdt_franka
, we can compose them under a new rcdt_mobile_manipulator
package without duplicating launch or test logic.
Physical robot
The Franka Emika arm is powered through the battery of the panther and controlled through the build-in computer of the Panther. The controller is connected to the Panther’s computer.
First turn on the Panther and wait till the system is fully booted.
Then run the following command to start the high-voltage system of the panther:
ros2 service call /panther/hardware/aux_power_enable std_srvs/srv/SetBool "{data: true}"
After that, turn on the Franka arm by flipping the button at the control box.
SSH in the build-in computer and start the combined system within the rcdt_robotics container with:
ros2 launch rcdt_mobile_manipulator mobile_manipulator.launch.py simulation:=False
Simulation
Start the combined system with:
ros2 launch rcdt_mobile_manipulator mobile_manipulator.launch.py
Tests
By exposing the rcdt_mobile_manipulator
launch description as a pytest fixture, you can import and run the existing Panther and Franka end-to-end tests against the combined system without any modification. Any improvements or fixes in the rcdt_panther
and rcdt_franka
test suites automatically apply when testing the mobile manipulator, keeping its codebase minimal and focused purely on orchestration.