๐ English ยท Korean
4-Wheel Independent Swerve-Drive Platform by ROBOTIS AI
Get Started ยป
โยทโ
Packages ยป
โยทโ
Architecture ยป
Antbot is a production-ready, open-source ROS 2 robot stack designed for the ROBOTIS AI Antbot autonomous delivery robot โ a 4-wheel independent swerve-drive platform built for last-mile delivery.
This repository provides a complete, modular software stack to operate the robot:
- ๐ Swerve-drive controller with inverse kinematics, motion profiling, and odometry
- ๐ Hardware interface for the ANT-RCU board via Dynamixel Protocol 2.0
- ๐ท Multi-camera driver supporting V4L2, USB, and Orbbec Gemini 336L RGB-D
- ๐ก Sensor integration for 2D/3D LiDAR, IMU, and GNSS
- ๐ค Complete URDF model with sensor frames and visual meshes
- ๐ One-command bringup to launch the entire robot system
Built entirely on ROS 2 Humble and the ros2_control framework.
| Package | Description |
|---|---|
antbot |
Meta-package for the Antbot project |
antbot_bringup |
Launch files for all hardware drivers, controllers, and sensors |
antbot_description |
URDF / Xacro robot model with sensor frames and meshes |
antbot_swerve_controller |
ros2_control swerve-drive controller with IK, motion profiling, and odometry |
antbot_hw_interface |
ros2_control SystemInterface plugin for the RCU board |
antbot_libs |
Shared C++ library for Dynamixel Protocol 2.0 communication |
antbot_camera |
Multi-driver camera package (V4L2 / USB / Orbbec Gemini 336L RGB-D) |
antbot_imu |
IMU driver with complementary filter and auto-calibration |
antbot_teleop |
Keyboard/joystick teleoperation with holonomic velocity control |
External sensor drivers included:
vanjee_lidar_sdk(3D LiDAR) andvanjee_lidar_msg(LiDAR message definitions).
System Block Diagram (click to expand)
antbot_bringup antbot_description
(launch files) (URDF / Xacro, meshes)
โ โ
โ launches โ robot_description
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ros2_control Framework โ
โ (Controller Manager) โ
โ โ
โ antbot_swerve_controller โโโโโ /cmd_vel โ
โ (IK, motion profiling, odometry) โ
โ โโโ /odom โ
โ โโโ /tf โ
โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
read() โ write()
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ antbot_hw_interface โ
โ (BoardInterface plugin) โ
โ โ
โ Wheel โ Steering โ
โ Encoder โ Motor โ
โ Battery โ Ultrasound โ
โ Cargo โ Headlight โ Wiper โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ antbot_libs โ โโโโโโโโโโโโโโโโโโโโโโโ
โ Communicator โ โ antbot_imu โ
โ ControlTableParser โ โ (ImuNode) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโ
โ Serial (Dynamixel Protocol 2.0) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโ
โ โ
โโโโโโโโผโโโโโโโ โโโโโโโโผโโโโโโโ
โ ANT-RCU โ โ IMU Board โ
โ Motors x4 โ โ Accel/Gyro โ
โ Steering x4โ โโโโโโโโโโโโโโโ
โ Encoders โ
โ Battery โ
โโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ antbot_camera โ
โ V4L2 / USB / Gemini 336L โโโโโ /sensor/camera/*/image_raw
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ vanjee_lidar_sdk โ
โ Vanjee WLR-722 (3D) โโโโโ /sensor/lidar_3d/point_cloud
โ COIN D4 (2D) ร 2 โโโโโ /sensor/lidar_2d_{front,back}/scan
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
bringup.launch.py
โโโ robot_state_publisher.launch.py โ URDF โ /tf, /tf_static
โโโ controller.launch.py โ ros2_control + swerve controller
โโโ imu.launch.py โ 6-axis IMU
โโโ lidar_2d.launch.py โ 2ร COIN D4 (USB serial)
โโโ lidar_3d.launch.py โ Vanjee WLR-722 (Ethernet)
โโโ ublox_gps_node-launch.py โ u-blox GNSS
โโโ camera.launch.py โ V4L2 + USB + RGB-D cameras
โโโ teleop_joy.launch.py โ DualSense joystick teleop
antbot/
โโโ antbot/ # Meta-package
โโโ antbot_bringup/ # Launch files (bringup, view, controller, sensors)
โโโ antbot_description/ # URDF / Xacro model, meshes, RViz config
โโโ antbot_swerve_controller/ # Swerve-drive controller (IK, odometry, profiling)
โโโ antbot_hw_interface/ # ros2_control hardware plugin for ANT-RCU
โโโ antbot_libs/ # Shared C++ library (Dynamixel comms, XML parsing)
โโโ antbot_interfaces/ # Custom ROS 2 message and service definitions
โโโ antbot_camera/ # Multi-driver camera node (V4L2, USB, RGB-D)
โโโ antbot_imu/ # IMU driver with complementary filter
โโโ antbot_teleop/ # Keyboard/joystick teleoperation (Python)
โโโ vanjee_lidar_sdk/ # Vanjee 3D LiDAR driver
โโโ vanjee_lidar_msg/ # Vanjee LiDAR message definitions
โโโ docs/ # Documentation and images
โโโ setting.sh # Dependency installation script
โโโ additional_repos.repos # External repository list for vcs import
Quick Start โ Already have ROS 2 Humble installed?
mkdir -p ~/antbot_ws/src && cd ~/antbot_ws/src git clone https://github.com/ROBOTIS-move/antbot.git cd ~/antbot_ws/src/antbot && bash setting.sh cd ~/antbot_ws && colcon build --symlink-install && source install/setup.bash ros2 launch antbot_bringup bringup.launch.py
1. Create a workspace and clone the repository:
mkdir -p ~/antbot_ws/src && cd ~/antbot_ws/src
git clone https://github.com/ROBOTIS-move/antbot.git2. Run the setup script to install dependencies (system tools, external repos, and ROS dependencies via rosdep):
cd ~/antbot_ws/src/antbot
bash setting.sh3. Build the workspace:
cd ~/antbot_ws
colcon build --symlink-install4. Source the workspace:
source ~/antbot_ws/install/setup.bash๐ก Tip: Add
source ~/antbot_ws/install/setup.bashto your~/.bashrcfor automatic sourcing on every new terminal.
Launch the complete system โ ros2_control, swerve controller, IMU, LiDAR, GPS, and cameras:
ros2 launch antbot_bringup bringup.launch.pyMonitor all sensors with RViz (run on a separate PC):
ros2 launch antbot_bringup view.launch.pyPreview the URDF model (no hardware required):
ros2 launch antbot_description description.launch.pyDrive the robot with your keyboard/joystick:
# Keyboard teleop (run in terminal)
ros2 run antbot_teleop teleop_keyboard
# Joystick teleop (DualSense, USB)
ros2 launch antbot_teleop teleop_joy.launch.pyKey bindings:
| Key | Action |
|---|---|
W / X |
Forward / Backward |
A / D |
Strafe Left / Right |
Q / E |
Rotate CCW / CW |
S |
Stop |
1 ~ 9 |
Speed Level |
ESC |
Quit |
Joystick button bindings (DualSense):
| Input | Action |
|---|---|
| Left Stick Y | Forward / Backward |
| Left Stick X | Curve turning (while moving) |
| L2 / R2 | In-place rotate CCW / CW |
| Triangle / Cross | Speed level UP / DOWN |
| Square / Circle | Cargo lock / unlock |
| L1 / R1 | Headlight / Wiper toggle |
# Drive forward at 0.5 m/s
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist \
"{linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
# Strafe right at 0.3 m/s
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist \
"{linear: {x: 0.0, y: -0.3, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
# Rotate in place at 1.0 rad/s
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist \
"{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.0}}"| Component | Specification |
|---|---|
| Drive Type | 4-wheel independent swerve drive |
| Control Board | ANT-RCU (Dynamixel Protocol 2.0, ID 200) |
| Communication | USB Serial @ 4 Mbps |
| Wheel Motors | 4ร (M1โM4), range: โ185 ~ 185 RPM |
| Steering Motors | 4ร (S1โS4), range: โ56.2ยฐ ~ 56.2ยฐ |
| Cameras | 1ร Stereo RGB-D (Orbbec Gemini 336L) + 4ร Mono (Novitec V4L2) |
| 3D LiDAR | Vanjee WLR-722 (Ethernet) |
| 2D LiDAR | 2ร COIN D4 (USB Serial) |
| IMU | 6-axis (3-axis accelerometer + 3-axis gyroscope) |
| GNSS | u-blox GPS receiver |
| Battery | BMS monitored (voltage, current, SoC, temperature) |
| Topic | Type | Description |
|---|---|---|
/cmd_vel |
Velocity commands (linear x/y + angular z) |
| Service | Type | Description |
|---|---|---|
cargo/command |
antbot_interfaces/CargoCommand |
Lock / unlock the cargo door |
headlight/operation |
std_srvs/SetBool |
Turn headlight on / off |
wiper/operation |
antbot_interfaces/WiperOperation |
Set wiper mode (OFF / ONCE / REPEAT) |
| Package | Purpose |
|---|---|
| Dynamixel Protocol 2.0 communication | |
| Controller manager framework | |
| Declarative parameter generation | |
| ROS โ OpenCV image conversion | |
| Control table XML parsing | |
| IMU visualization in RViz |
Distributed under the Apache License 2.0. See LICENSE for more information.
Copyright 2026 ROBOTIS AI CO., LTD.
ROBOTIS AI CO., LTD.
- ๐ Website: www.robotis.com
- ๐ Email: jdu@robotis.com