This package contains launch files and controller configuration for bringing up the Exodus2025 robotic arm.
ros2 launch arm_controller arm.launch.py use_fake_hardware:=trueThis is useful for:
- Testing controllers without physical hardware
- Visualizing the robot in RViz
- Developing motion planning algorithms
- Testing your software stack
First, make sure your CAN interface is up:
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 upThen launch with real hardware:
ros2 launch arm_controller arm.launch.py use_fake_hardware:=false can_interface:=can0use_fake_hardware: Use fake hardware interface (default: false)can_interface: CAN interface name (default: slcan0) - only used with real hardwareuse_rviz: Launch RViz for visualization (default: true)controllers_file: YAML file with controllers configuration (default: controllers.yaml)
Test with fake hardware and no RViz:
ros2 launch arm_controller arm.launch.py use_fake_hardware:=true use_rviz:=falseUse real hardware with slcan0 interface:
ros2 launch arm_controller arm.launch.py use_fake_hardware:=false can_interface:=slcan0Use the old test launch file (deprecated, kept for reference):
ros2 launch arm_controller cubemars_test.launch.pyThe default controller configuration includes:
joint_state_broadcaster: Publishes joint states to/joint_statestopicforward_position_controller: Accepts position commands for all joints
Send a position command to all joints:
ros2 topic pub /forward_position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.0, 0.5, -0.5, 0.0, 0.0]"Monitor joint states:
ros2 topic echo /joint_statesList available controllers:
ros2 control list_controllersList hardware interfaces:
ros2 control list_hardware_interfaces