![]() |
ai_worker repositoryffw ffw_bringup ffw_description ffw_hand_library ffw_joint_trajectory_command_broadcaster ffw_moveit_config ffw_teleop |
|
Repository Summary
Checkout URI | https://github.com/ROBOTIS-GIT/ai_worker.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-04-07 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
ffw | 1.0.1 |
ffw_bringup | 1.0.1 |
ffw_description | 1.0.1 |
ffw_hand_library | 1.0.1 |
ffw_joint_trajectory_command_broadcaster | 1.0.1 |
ffw_moveit_config | 1.0.1 |
ffw_teleop | 1.0.1 |
README
🦾 FFW-1
1. Introduction
This is the FFW (Freedom From Work) project repository. It supports the control of the Follower device (hand, lift, and neck) as well as the Leader device (arms and hands).
This package supports ROS 2 Jazzy and Gazebo Harmonic on Ubuntu 24.04.
2. Prerequisites
Supported ROS Version
This package is compatible only with ROS 2 Jazzy. Ensure that ROS 2 Jazzy is properly installed.
Required Packages
Install the following dependencies:
sudo apt-get update && sudo apt-get install -y \
libboost-all-dev \
ros-jazzy-hardware-interface \
ros-jazzy-controller-manager \
ros-jazzy-ros2-controllers \
ros-jazzy-tf-transformations \
ros-jazzy-gz* \
ros-jazzy-pal-statistics \
python3-tk
sudo apt-get install -y ros-jazzy-moveit-* --no-install-recommends
USB Port Permissions
To enable communication with the hardware, add your user to the dialout
group:
sudo usermod -aG dialout $USER
A login and logout are required.
3. Installation
1. Clone the Repository
Navigate to your ROS 2 workspace and clone the repository:
cd ~/${WORKSPACE}/src
git clone -b jazzy https://github.com/ROBOTIS-GIT/DynamixelSDK.git && \
git clone -b jazzy https://github.com/ROBOTIS-GIT/dynamixel_interfaces.git && \
git clone -b jazzy https://github.com/ROBOTIS-GIT/dynamixel_hardware_interface.git
2. Build the Package
Compile the package using colcon
:
cd ~/${WORKSPACE}
colcon build --symlink-install
3. Source the Workspace
source ~/${WORKSPACE}/install/setup.bash
4. Execution Commands
Step 1: Choose Your Operating Mode
0️⃣ Calibration
When using it for the first time, wear the leader device and perform calibration to check the range of motion. This process is done only once initially.
ros2 launch ffw_bringup hand_calibration.launch.py
1️⃣ Leader-Follower Mode
For leader-follower functionality, use:
ros2 launch ffw_bringup ffw_teleop_with_hand.launch.py
Ensure proper connection and detection of leader and follower devices.
Operation Sequence upon Launch
- Establish hardware connection with the follower device.
- Move the follower device to the initial position.( Standing position with arms outstretched)
- Establish hardware connection with the leader device.
2️⃣ Standalone Mode
For standalone mode, launch:
ros2 launch ffw_bringup hardware_follower_teleop_with_hand.launch.py
*Only the follower is connected to the hardware interface.
ros2 launch ffw_bringup hardware_leader_with_hand.launch.py
*Only the Leader is connected to the hardware interface.
ros2 launch ffw_bringup hardware_follower_standalone.launch.py
*Mode to operate the follower via MoveIt
3️⃣ Gazebo Simulation Mode
For Gazebo simulation mode, launch:
ros2 launch ffw_bringup gazebo.launch.py
Ensure that Gazebo Harmonic is properly installed and configured before running the simulation.
Step 2: Extend Functionality
1. MoveIt! Launch
Enable MoveIt functionality for advanced motion planning in RViz:
*Before operation, either hardware_follower_standalone.launch.py
or Gazebo must be launched.”
ros2 launch ffw_moveit_config moveit_core.launch.py
Move interactive markers to position the robotic arm, then click Plan and Execute.
2. GUI Teleop
ros2 launch ffw_teleop keyboard_control_teleop_with_hand.launch.py
This is for hardware_follower_teleop_with_hand.launch.py
and hardware_follower_teleop_without_hand.launch.py
ros2 launch ffw_teleop keyboard_control_standalone.launch.py
This is for hardware_follower_standalone.launch.py
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).