Skip to content
Terry-9067Public

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ English ยท Korean

AntBot Banner

ROS 2 Humble C++17 Python 3 Ubuntu 22.04 Jetson Orin

GitHub Stars GitHub Forks GitHub Issues GitHub Last Commit GitHub Repo Size


Every road. Every delivery.
4-Wheel Independent Swerve Drive Platform by ROBOTIS AI

Wiki Documentation

Get Started ยป โ€‚ยทโ€‚ Packages ยป โ€‚ยทโ€‚ Architecture ยป



๐Ÿ“Œ Table of Contents

  1. About
  2. Packages
  3. Architecture
  4. Directory Structure
  5. Getting Started
  6. Usage
  7. Hardware Specifications
  8. ROS 2 Topics & Interfaces
  9. License
  10. Contact
  11. Contributors

๐Ÿค– About

AntBot is a production-ready, open-source software stack for the ROBOTIS AI AntBot autonomous delivery robot, a 4-Wheel Independent Swerve Drive platform built for last-mile delivery.

Go anywhere. Open everywhere. โ€” Read the full story โ†’

This repository provides a complete, modular software stack to operate the robot:

  • Swerve-drive controller โ€” inverse kinematics, motion profiling, and odometry
  • Hardware interface โ€” ANT-RCU board via Dynamixel Protocol 2.0
  • Multi-camera driver โ€” V4L2, USB, and RGB-D
  • Sensor integration โ€” 2D/3D LiDAR, IMU, and GNSS
  • Complete URDF model โ€” sensor frames and visual meshes
  • One-command bringup โ€” launch the entire robot system

(back to top)


๐Ÿ“ฆ Packages

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_interfaces Custom ROS 2 message and service definitions
antbot_camera Multi-driver camera package (V4L2 / USB / RGB-D)
antbot_imu IMU driver with complementary filter and auto-calibration
antbot_teleop Keyboard/joystick teleoperation with holonomic velocity control
antbot_navigation Nav2 navigation stack with SLAM, localization (EKF), and path planning
antbot_gazebo Ignition Gazebo simulation environment with ros2_control integration

External sensor drivers included: vanjee_lidar_sdk (3D LiDAR) and vanjee_lidar_msg (LiDAR message definitions).

(back to top)


๐Ÿ›๏ธ Architecture

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 / RGB-D          โ”‚โ”€โ”€โ”€โ”€ /sensor/camera/*/image_raw
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚   vanjee_lidar_sdk            โ”‚
          โ”‚   3D LiDAR                    โ”‚โ”€โ”€โ”€โ”€ /sensor/lidar_3d/point_cloud
          โ”‚   2D LiDAR ร— 2                โ”‚โ”€โ”€โ”€โ”€ /sensor/lidar_2d_{front,back}/scan
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Launch Dependency Graph

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ร— 2D LiDAR (USB serial)
 โ”œโ”€โ”€ lidar_3d.launch.py                โ†’  3D LiDAR (Ethernet)
 โ”œโ”€โ”€ ublox_gps_node-launch.py          โ†’  u-blox GNSS
 โ”œโ”€โ”€ camera.launch.py                  โ†’  V4L2 + USB + RGB-D cameras
 โ””โ”€โ”€ teleop_joy.launch.py             โ†’  DualSense joystick teleop

(back to top)


๐Ÿ“‚ Directory Structure

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)
โ”œโ”€โ”€ antbot_navigation/             # Nav2 navigation (SLAM, EKF localization, path planning)
โ”œโ”€โ”€ antbot_gazebo/                 # Ignition Gazebo simulation (worlds, URDF, controllers)
โ”œโ”€โ”€ vanjee_lidar_sdk/              # Vanjee 3D LiDAR driver
โ”œโ”€โ”€ vanjee_lidar_msg/              # Vanjee LiDAR message definitions
โ”œโ”€โ”€ docs/                          # Documentation and images
โ”œโ”€โ”€ scripts/                       # Utility scripts
โ”‚   โ””โ”€โ”€ setting.sh                 # Dependency installation script
โ””โ”€โ”€ additional_repos.repos         # External repository list for vcs import

(back to top)


๐Ÿš€ Getting Started

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 scripts/setting.sh
cd ~/antbot_ws && colcon build --symlink-install && source install/setup.bash
ros2 launch antbot_bringup bringup.launch.py

Prerequisites

  • Ubuntu
  • ROS 2
  • C++

Installation

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.git

2. Run the setup script to install dependencies (system tools, external repos, and ROS dependencies via rosdep):

cd ~/antbot_ws/src/antbot
bash scripts/setting.sh

3. Build the workspace:

cd ~/antbot_ws
colcon build --symlink-install

4. Source the workspace:

source ~/antbot_ws/install/setup.bash

๐Ÿ’ก Tip: Add source ~/antbot_ws/install/setup.bash to your ~/.bashrc for automatic sourcing on every new terminal.

(back to top)


๐ŸŽฎ Usage

Full Robot Bringup

Launch the complete system โ€” ros2_control, swerve controller, IMU, LiDAR, GPS, and cameras:

ros2 launch antbot_bringup bringup.launch.py

Visualization

Monitor all sensors with RViz (run on a separate PC):

ros2 launch antbot_bringup view.launch.py

Preview the URDF model (no hardware required):

ros2 launch antbot_description description.launch.py

Teleoperation

Drive 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.py

Key bindings:

Key Action
W / X Forward / Backward
A / D Strafe Left / Right
Q / E Rotate CCW / CW
1 ~ 9 Speed Level
ESC Quit

Joystick button bindings (DualSense):

DualSense Joystick Button Map

Manual Velocity Commands

# 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}}"

Navigation

SLAM mapping โ€” build a map while driving:

ros2 launch antbot_navigation slam.launch.py

Autonomous navigation โ€” navigate using a saved map:

ros2 launch antbot_navigation navigation.launch.py

EKF localization only:

ros2 launch antbot_navigation localization.launch.py

Gazebo Simulation

Run the full simulation without physical hardware:

ros2 launch antbot_gazebo gazebo.launch.py

Teleoperate in simulation:

ros2 run antbot_teleop teleop_keyboard

(back to top)


๐Ÿ”ง Hardware Specifications

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 + 4ร— Mono (V4L2)
3D LiDAR 3D LiDAR (Ethernet)
2D LiDAR 2ร— 2D LiDAR (USB Serial)
IMU 6-axis (3-axis accelerometer + 3-axis gyroscope)
GNSS u-blox GPS receiver
Battery BMS monitored (voltage, current, SoC, temperature)

(back to top)


๐Ÿ“ก ROS 2 Topics & Interfaces

Published Topics

Topic Type Description
/odom nav_msgs Robot odometry from swerve controller
/tf tf2_msgs Transform tree
/imu/accel_gyro sensor_msgs IMU data (quaternion, angular velocity, linear acceleration)
/sensor/camera/*/image_raw sensor_msgs Camera image streams
/sensor/camera/*/camera_info sensor_msgs Camera calibration data
/sensor/lidar_3d/point_cloud sensor_msgs 3D point cloud
/sensor/lidar_2d_front/scan sensor_msgs Front 2D laser scan
/sensor/lidar_2d_back/scan sensor_msgs Rear 2D laser scan
/scan_0 sensor_msgs Front 2D laser scan (simulation)
/scan_1 sensor_msgs Rear 2D laser scan (simulation)
/imu/data sensor_msgs IMU data (simulation)

Subscribed Topics

Topic Type Description
/cmd_vel geometry_msgs Velocity commands (linear x/y + angular z)

Services

Service Type Description
/cargo/command antbot_interfaces Lock / unlock the cargo door
/headlight/operation std_srvs Turn headlight on / off
/wiper/operation antbot_interfaces Set wiper mode (OFF / ONCE / REPEAT)

Key Dependencies

Package Purpose
dynamixel_sdk Dynamixel Protocol 2.0 communication
ros2_control Controller manager framework
generate_parameter_library Declarative parameter generation
cv_bridge ROS โ†” OpenCV image conversion
tinyxml2 Control table XML parsing
rviz_imu_plugin IMU visualization in RViz
nav2 Autonomous navigation framework
slam_toolbox Online/offline SLAM for map building
robot_localization EKF/UKF sensor fusion for localization
ros_gz Ignition Gazebo โ†” ROS 2 bridge
ign_ros2_control Gazebo hardware interface for ros2_control

(back to top)


๐Ÿ“„ License

Distributed under the Apache License 2.0. See LICENSE for more information.

Copyright 2026 ROBOTIS AI CO., LTD.

(back to top)


๐Ÿ‘ฅ Contributors

(back to top)


๐Ÿ“ฌ Contact

ROBOTIS AI CO., LTD.

(back to top)


ROBOTIS
Made with ๐Ÿ’š by ROBOTIS AI

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages