https://github.com/agroboticsresearch/lerobot_ros2

ros2 humble support for lerobot

https://github.com/agroboticsresearch/lerobot_ros2

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

ros2 humble support for lerobot

Basic Info
  • Host: GitHub
  • Owner: AgRoboticsResearch
  • Language: Python
  • Default Branch: master
  • Size: 5.66 MB
Statistics
  • Stars: 19
  • Watchers: 2
  • Forks: 3
  • Open Issues: 1
  • Releases: 0
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme

README.md

LeRobot ROS2 - SO101 Follower Arm

A ROS2 implementation for the SO101 follower robotic arm, providing complete integration with LeRobot framework including hardware interface, MoveIt motion planning, and topic-based control.

🤖 Overview

This repository contains ROS2 packages for controlling the SO101 follower arm robot. It includes:

  • Robot Description: URDF/XACRO models with 3D meshes
  • MoveIt Integration: Motion planning and execution
  • Hardware Interface: Direct motor control via Feetech servos
  • Topic-based Control: Flexible control interface

📦 Packages

so101_follower_description

Robot description package containing: - URDF/XACRO robot model - 3D mesh files (.stl/.part) - RViz visualization configuration - Launch files for robot display

so101_follower_moveit

MoveIt configuration package with: - Kinematic configuration - Motion planning setup - Controller configuration - Collision detection setup

so101_hw_interface

Hardware interface package providing: - Motor control via Feetech protocol - Calibration utilities - Hardware abstraction layer - LeRobot integration utilities

topic_based_ros2_control

Generic topic-based control interface for: - Flexible control architectures - Custom control strategies - Integration with external systems

🚀 Quick Start

Prerequisites

  • ROS2 Humble or later
  • MoveIt2
  • Python 3.8+

Installation

  1. Clone the repository: bash git clone https://github.com/AgRoboticsResearch/Lerobot_ros2.git cd Lerobot_ros2

  2. Install dependencies: bash rosdep install --from-paths src --ignore-src -r -y

  3. Build the workspace: bash colcon build source install/setup.bash

Usage

Visualize the robot:

bash ros2 launch so101_follower_description display.launch.py

Launch MoveIt demo:

bash ros2 launch so101_follower_moveit demo.launch.py

Start hardware interface:

bash ros2 launch so101_hw_interface so101_hw.launch.py

Calibrate the arm:

bash ros2 run so101_hw_interface so101_calibrate

🎛️ Advanced Usage

Hardware Control with Joint State Publisher

For manual joint control and visualization with the hardware interface:

```bash

Terminal 1: Launch robot visualization without GUI

ros2 launch so101followerdescription display.launch.py \ usegui:=false \ jointstatestopic:=/so101follower/joint_states

Terminal 2: Start the motor bridge (hardware interface)

ros2 run so101hwinterface so101motorbridge

Terminal 3: Launch joint state publisher GUI for manual control

ros2 run jointstatepublishergui jointstatepublishergui \ --ros-args -r /jointstates:=/so101follower/joint_commands ```

This setup allows you to: - Visualize the robot in RViz with real joint states from hardware - Control joint positions manually using the GUI sliders - Monitor real-time feedback from the Feetech servos

Topic Remapping Guide

  • /so101_follower/joint_states: Real joint positions from hardware
  • /so101_follower/joint_commands: Desired joint positions to hardware
  • Use topic remapping (-r) to connect different components

🔧 Configuration

Hardware Setup

  • Connect Feetech servos via serial/USB interface
  • Update motor IDs in config/so101_calibration.yaml
  • Verify communication with so101_motor_bridge

Calibration

  1. Run calibration script: so101_calibrate
  2. Follow on-screen instructions to move joints
  3. Calibration data saved automatically

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙋‍♂️ Support

For questions and support: - Open an issue on GitHub - Check the documentation - Join our community discussions

🔗 Related Projects


Made with ❤️ for the robotics community

Owner

  • Name: AgRoboticsResearch
  • Login: AgRoboticsResearch
  • Kind: organization

GitHub Events

Total
  • Issues event: 1
  • Watch event: 11
  • Push event: 1
  • Pull request event: 2
  • Fork event: 2
Last Year
  • Issues event: 1
  • Watch event: 11
  • Push event: 1
  • Pull request event: 2
  • Fork event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 27 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 27 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • leocneves (1)
Pull Request Authors
  • matsujirushi (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

src/so101_hw_interface/setup.py pypi
  • setuptools *