This workspace contains a single ROS 2 package (openduck_controller) that runs the OpenDuck policy controller and a WASD keyboard teleop node.
src/openduck_controller- policy controller + WASD teleop nodemodels/- place policy files here (default:BEST_WALK_ONNX_2.onnx)
cd /home/david/laiting_ws_openduck/opemduck_ros2_humble_ws
colcon build --packages-select openduck_controller
source install/setup.bashros2 launch openduck_controller openduck_policy.launch.pyThe launch file defaults to:
/home/david/laiting_ws_openduck/opemduck_ros2_humble_ws/models/BEST_WALK_ONNX_2.onnx
Override with:
ros2 launch openduck_controller openduck_policy.launch.py policy_path:=/path/to/model.onnxros2 run openduck_controller wasd_teleop_nodeControls:
- W/S: forward/back
- Q/E: left/right strafe
- A/D: yaw left/right
- Space: stop
Adjust speeds:
ros2 run openduck_controller wasd_teleop_node --ros-args \
-p command_topic:=/cmd_vel \
-p linear_speed:=0.1 \
-p lateral_speed:=0.05 \
-p angular_speed:=0.6 \
-p publish_rate_hz:=50.0- The controller node name is
openduck_policy_controller. - The config file is
src/openduck_controller/config/controller.yaml. - If you publish foot contacts, set
contact_topicin the config file or passcontact_topic:=/openduck_mini/contacts.