How kaburaj/hiwonder_xarm_1s works
This ROS 2 repository describes and operates the Hiwonder xArm 1s. Its principal workflow is joint-state commands reaching a follower node, which converts joint angles to servo positions and sends updates to the USB-connected arm. A separate visualization workflow publishes the robot model to RViz; the repository also includes a work-in-progress MoveIt planning configuration. Some MoveIt launch wiring is inferred only from the sampled launch excerpts and package tree, so uncertain controller connections are omitted.
Main entry points: run.launch.py Visualization launch · learm_moveit_mode1.launch.py MoveIt launch · follower.py Servo follower · learm.urdf URDF and meshes
Components 17
Arm operation
- joint_states topic
- Follower launch
learm_ros2/launch/follower.launch.py - Servo follower
learm_ros2/learm_ros2/follower.py
Robot model
- Visualization launch
learm_ros2/launch/run.launch.py - Joint-state publisher
- Robot state publisher
- URDF and meshes
learm_ros2_description/urdf/learm.urdf - RViz viewer
MoveIt planning
- MoveIt launch
learm_ros2/launch/learm_moveit_mode1.launch.py - MoveIt planning
- Planning and controller config
learm_ros2_description/config/ompl_planning.yaml - Semantic robot model
learm_ros2_description/srdf/learm.srdf.xacro - MoveIt demo launches
learm_ros2_moveit_config/launch/demo2.launch.py - MoveIt configuration
learm_ros2_moveit_config/config/simple_moveit_controllers.yaml
Other components
- Robot operator
- Joint-state interface
- USB arm controller
Connections 18
- Robot operator → Joint-state interface: sets joints
- Joint-state interface → joint_states topic: publishes
- Follower launch → Servo follower: starts
- joint_states topic → Servo follower: subscribes
- Servo follower → USB arm controller: sets servo positions
- Robot operator → Visualization launch: starts visualization
- Visualization launch → Joint-state publisher: starts
- Visualization launch → Robot state publisher: starts
- Visualization launch → RViz viewer: starts
- Visualization launch → URDF and meshes: reads URDF
- Joint-state publisher → joint_states topic: publishes
- Robot state publisher → URDF and meshes: uses model
- RViz viewer → URDF and meshes: displays model
- Robot operator → MoveIt launch: starts planning
- MoveIt launch → MoveIt planning: starts
- MoveIt launch → Planning and controller config: loads planning config
- MoveIt launch → Semantic robot model: loads semantic model
- MoveIt demo launches → MoveIt configuration: uses configuration