No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
feetech_arm_control repositoryrobotics controller moveit ros2 moveit2 feetech sts3215 arm_controller arm_hardware_interface |
|
Repository Summary
Description | ROS 2 MoveIt 2 control for a 6-DoF STS3215 servo robotic arm. |
Checkout URI | https://github.com/iltlo/feetech_arm_control.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-02-14 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | robotics controller moveit ros2 moveit2 feetech sts3215 |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
arm_controller | 0.0.0 |
arm_hardware_interface | 0.0.0 |
README
Feetech Arm Control
This repository provides a ROS2 hardware interface, URDF model, and MoveIt configuration for controlling a 6-DoF robotic arm using Feetech motors. The 3D model is currently in beta and pending open-source release by Simple Automation, please follow their progress on X!
✨ Features
-
Udev Rules for Serial Communication
- Provides consistent device names.
-
MoveIt 2 Integration
- Supports intuitive end-effector control in RViz.
- Includes a GUI for setting goal poses (XYZ & RPY).
-
Simulation & Hardware Compatibility
- Works in both RViz simulation and real-world hardware.
- Publishes actual joint state feedback to a ROS topic.
-
Robot Description & Configuration (Git Submodule)
- Uses URDF/XACRO for robot modeling.
- Includes SRDF for MoveIt 2 configuration.
- Defines joint limits, collision models, and kinematics.
-
TODO
- Display actual joint state feedback in RViz.
- Implement or integrate an IK solver.
🚀 Installation
1️⃣ Clone the repository into your ROS2 workspace:
cd ~/your_ros2_ws/src
git clone https://github.com/iltlo/feetech_arm_control.git
2️⃣ Install dependencies:
cd ~/your_ros2_ws/src/feetech_arm_control
git submodule update --init --recursive
pip install feetech-servo-sdk
3️⃣ Set Up Udev Rules (Mandatory for Serial Communication)
To ensure consistent device naming and prevent permission issues, the Feetech Arm requires a udev rule.
📌 Steps to Install Udev Rules
- Run the setup script:
cd ~/your_ros2_ws/src/feetech_arm_control/scripts
chmod +x setup_udev.sh
sudo ./setup_udev.sh
- Unplug and replug the USB cable to apply the changes.
- Verify the device is detected:
ls -l /dev/ttyARM*
You should see something like:
lrwxrwxrwx 1 root root 7 Feb 14 00:48 /dev/ttyARM0 -> ttyACM0
lrwxrwxrwx 1 root root 7 Feb 14 00:52 /dev/ttyARM1 -> ttyACM1
4️⃣ Build and source the workspace:
colcon build && source ~/your_ros2_ws/install/setup.bash
🎮 Usage
🔹 MoveIt! Demo
To run the MoveIt 2 demo for End Effector drag-and-drop control:
ros2 launch arm_moveit_config feetech_moveit.launch.py
To use a Qt5 GUI for controlling the arm pose:
ros2 launch arm_controller ee_goal_control.launch.py
To run with the actual hardware (Optional):
ros2 run arm_hardware_interface hardware_interface
🔹 Display in RViz
To display the robot model in RViz:
ros2 launch arm_description display.launch.py
🛠 Development Environment
- Ubuntu 22.04
- ROS2 Humble
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.