How tonyrobotics/gauss works
Gauss6500 is a ROS-based robotic-arm platform. Its user-to-motion workflow spans user/API or sequence commands, robot motion planning and inverse kinematics, ROS hardware control, and motor communications. The repository also contains Raspberry Pi services, tool control, camera support, and a Dynamixel Workbench. The README confirms the arm and Gazebo/RViz simulations, but sampled implementation evidence is sparse; dashed edges mark plausible runtime connections that could not be verified from the excerpts. Solid edges are limited to source-index references.
Main entry points: arm_commander.py Arm commander · robot_commander.py Robot commander · move_group_arm.py MoveIt arm motion · gauss_hardware_interface.cpp Hardware interface
Components 26
Commands and UI
- Python API
gauss_python_api/src/gauss_python_api/gauss_api.py - Robot commander
gauss_commander/scripts/robot_commander.py - Arm commander
gauss_commander/scripts/arm_commander.py - Saved positions
gauss_commander/src/gauss_commander/position/position_file_handler.py - Saved trajectories
gauss_commander/src/gauss_commander/trajectory/trajectory_file_handler.py - Sequences
gauss_user_interface/src/gauss_user_interface/sequences/sequence_file_handler.py - Sequence interface
gauss_user_interface/scripts/sequence_manager.py - Blockly generator
gauss_user_interface/blockly_code_generator/gauss_python_generators.js
Motion planning
- MoveIt arm motion
gauss_commander/src/gauss_commander/move_group_arm.py - IK service
gauss_commander/scripts/gauss_IK_server.py - IK solver plugin
gauss_ikfast_gauss_arm_plugin/src/gauss_gauss_arm_ikfast_moveit_plugin.cpp - IKFast solver
gauss_ikfast_gauss_arm_plugin/src/gauss_gauss_arm_ikfast_solver.cpp - IKFast interface
gauss_ikfast_gauss_arm_plugin/include/ikfast.h
Robot hardware
- ROS driver
gauss_driver/src/gauss_driver_node.cpp - Hardware interface
gauss_driver/src/hw_interface/gauss_hardware_interface.cpp - Dynamixel communications
gauss_driver/src/communication/dxl_communication.cpp - CAN communications
gauss_driver/src/communication/can_communication.cpp - Dynamixel SDK
dynamixel_sdk/src/protocol2_packet_handler.cpp
Robot services
- Raspberry Pi services
gauss_rpi/scripts/gauss_rpi_node.py - Wi-Fi management
gauss_rpi/src/gauss_rpi/wifi/network_manager.py - Tool control
gauss_tools/scripts/tool_controller.py - USB camera
usb_cam/nodes/usb_cam_node.cpp
Device tooling
- Dynamixel GUI
dynamixel-workbench/dynamixel_workbench_single_manager_gui/src/main.cpp - Single motor manager
dynamixel-workbench/dynamixel_workbench_single_manager/src/single_dynamixel_controller.cpp - Motor item model
dynamixel-workbench/dynamixel_workbench_toolbox/src/dynamixel_workbench_toolbox/dynamixel_item.cpp
Other components
- Robot user
Connections 22
- Robot user → Python API: submits commands
- Robot user → Sequence interface: authors sequences
- Sequence interface → Sequences: stores sequences
- Blockly generator → Sequences: generates code
- Python API → Robot commander: sends commands
- Robot commander → Arm commander: dispatches motion
- Arm commander → Saved positions: loads positions
- Arm commander → Saved trajectories: loads trajectories
- Arm commander → MoveIt arm motion: requests planning
- IK service → IK solver plugin: requests solutions
- IK solver plugin → IKFast solver: uses solver
- IKFast solver → IKFast interface: implements interface
gauss_ikfast_gauss_arm_plugin/src/gauss_gauss_arm_ikfast_solver.cpp - MoveIt arm motion → IK solver plugin: loads solver
- MoveIt arm motion → ROS driver: sends motion
- ROS driver → Hardware interface: uses interface
- Hardware interface → Dynamixel communications: commands motors
- Hardware interface → CAN communications: commands steppers
- Dynamixel communications → Dynamixel SDK: uses SDK
- Raspberry Pi services → Wi-Fi management: manages network
- Robot commander → Tool control: controls tools
- Dynamixel GUI → Single motor manager: manages motor
- Dynamixel GUI → Motor item model: uses motor model