feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics 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!

Control Demo

✨ 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

  1. Run the setup script:
    cd ~/your_ros2_ws/src/feetech_arm_control/scripts
    chmod +x setup_udev.sh
    sudo ./setup_udev.sh
    
  1. Unplug and replug the USB cable to apply the changes.
  2. 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

moveit-screenshot gui-screenshot

🔹 Display in RViz

To display the robot model in RViz:

ros2 launch arm_description display.launch.py

rviz-screenshot

🛠 Development Environment

  • Ubuntu 22.04
  • ROS2 Humble

CONTRIBUTING

No CONTRIBUTING.md found.

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215

feetech_arm_control repository

robotics controller moveit ros2 moveit2 feetech sts3215