Skip to content

Latest commit

ย 

History

History
523 lines (409 loc) ยท 22.5 KB

README_ko.md

File metadata and controls

523 lines (409 loc) ยท 22.5 KB

๐ŸŒ English ยท ํ•œ๊ตญ์–ด

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


๋ชจ๋“  ๊ธธ ์œ„์˜ ์ž์œจ์ฃผํ–‰ ๋ฐฐ์†ก ๋กœ๋ด‡
by ROBOTIS AI

Wiki Documentation

์‹œ์ž‘ํ•˜๊ธฐ ยป โ€‚ยทโ€‚ ํŒจํ‚ค์ง€ ยป โ€‚ยทโ€‚ ์•„ํ‚คํ…์ฒ˜ ยป



๐Ÿ“Œ ๋ชฉ์ฐจ

  1. ์†Œ๊ฐœ
  2. ํŒจํ‚ค์ง€
  3. ์•„ํ‚คํ…์ฒ˜
  4. ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ
  5. ์‹œ์ž‘ํ•˜๊ธฐ
  6. ์‚ฌ์šฉ๋ฒ•
  7. ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘
  8. ROS 2 ํ† ํ”ฝ & ์ธํ„ฐํŽ˜์ด์Šค
  9. ๋ผ์ด์„ ์Šค
  10. ์—ฐ๋ฝ์ฒ˜
  11. Contributors

๐Ÿค– ์†Œ๊ฐœ

AntBot์€ ROBOTIS AI์—์„œ ๊ฐœ๋ฐœํ•œ ์ž์œจ์ฃผํ–‰ ๋ฐฐ์†ก ๋กœ๋ด‡์šฉ ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค. 4๋ฐ”ํ€ด๊ฐ€ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ์กฐํ–ฅํ•˜๋Š” ์Šค์›Œ๋ธŒ ๋“œ๋ผ์ด๋ธŒ ๋ฐฉ์‹์œผ๋กœ, ์‹ค์ œ ๋ฐฐ์†ก ํ˜„์žฅ์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์˜ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ๋กœ๋ด‡์€ ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ๊ธฐ์ˆ ์€ ๋ˆ„๊ตฌ๋‚˜ ์“ธ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โ€” ์ž์„ธํžˆ ๋ณด๊ธฐ โ†’

์ด ์ €์žฅ์†Œ ํ•˜๋‚˜๋กœ ๋กœ๋ด‡ ๊ตฌ๋™์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ–์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • Swerve-drive controller โ€” ์—ญ๊ธฐ๊ตฌํ•™ ๊ธฐ๋ฐ˜ 4๋ฅœ ๋…๋ฆฝ ์กฐํ–ฅ ์ œ์–ด, ์˜ค๋„๋ฉ”ํŠธ๋ฆฌ ์ถœ๋ ฅ
  • Hardware interface โ€” Dynamixel Protocol 2.0์œผ๋กœ ANT-RCU ๋ณด๋“œ์™€ ํ†ต์‹ 
  • Multi-camera driver โ€” V4L2, USB, RGB-D ์นด๋ฉ”๋ผ ๋™์‹œ ์ง€์›
  • Sensor integration โ€” 2D/3D LiDAR, IMU, GNSS ์„ผ์„œ ํ†ตํ•ฉ ๊ด€๋ฆฌ
  • Complete URDF model โ€” ์„ผ์„œ ํ”„๋ ˆ์ž„, ๋ฉ”์‹œ๊นŒ์ง€ ํฌํ•จ๋œ ์ „์ฒด ๋กœ๋ด‡ ๋ชจ๋ธ
  • One-command bringup โ€” ๋ช…๋ น์–ด ํ•˜๋‚˜๋กœ ์ „์ฒด ์‹œ์Šคํ…œ ํ•œ ๋ฒˆ์— ์‹คํ–‰

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ“ฆ ํŒจํ‚ค์ง€

Package ์„ค๋ช…
antbot ๋ฉ”ํƒ€ ํŒจํ‚ค์ง€
antbot_bringup ์ „์ฒด ์‹œ์Šคํ…œ launch ํŒŒ์ผ ๋ชจ์Œ
antbot_description URDF / Xacro ๋กœ๋ด‡ ๋ชจ๋ธ (์„ผ์„œ ํ”„๋ ˆ์ž„, ๋ฉ”์‹œ ํฌํ•จ)
antbot_swerve_controller ros2_control ๊ธฐ๋ฐ˜ ์Šค์›Œ๋ธŒ ๋“œ๋ผ์ด๋ธŒ ์ปจํŠธ๋กค๋Ÿฌ (IK, ์˜ค๋„๋ฉ”ํŠธ๋ฆฌ)
antbot_hw_interface RCU ๋ณด๋“œ์šฉ ros2_control SystemInterface ํ”Œ๋Ÿฌ๊ทธ์ธ
antbot_libs Dynamixel Protocol 2.0 ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (C++)
antbot_interfaces ์ปค์Šคํ…€ ROS 2 ๋ฉ”์‹œ์ง€ ๋ฐ ์„œ๋น„์Šค ์ •์˜
antbot_camera ๋ฉ€ํ‹ฐ ์นด๋ฉ”๋ผ ๋“œ๋ผ์ด๋ฒ„ (V4L2 / USB / Orbbec RGB-D)
antbot_imu IMU ๋“œ๋ผ์ด๋ฒ„ (์ƒ๋ณด ํ•„ํ„ฐ, ์ž๋™ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜)
antbot_teleop ํ‚ค๋ณด๋“œ ์›๊ฒฉ ์กฐ์ข… (์ „๋ฐฉํ–ฅ ์ด๋™ ์ง€์›)

์™ธ๋ถ€ ์„ผ์„œ ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ: vanjee_lidar_sdk (3D LiDAR), vanjee_lidar_msg (LiDAR ๋ฉ”์‹œ์ง€ ์ •์˜)

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ›๏ธ ์•„ํ‚คํ…์ฒ˜

System Block Diagram (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)
  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                     โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚   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

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ“‚ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

antbot/
โ”œโ”€โ”€ antbot/                        # ๋ฉ”ํƒ€ ํŒจํ‚ค์ง€
โ”œโ”€โ”€ antbot_bringup/                # Launch ํŒŒ์ผ (bringup, view, controller, sensors)
โ”œโ”€โ”€ antbot_description/            # URDF / Xacro ๋ชจ๋ธ, ๋ฉ”์‹œ, RViz ์„ค์ •
โ”œโ”€โ”€ antbot_swerve_controller/      # Swerve-drive ์ปจํŠธ๋กค๋Ÿฌ (IK, ์˜ค๋„๋ฉ”ํŠธ๋ฆฌ, ํ”„๋กœํŒŒ์ผ๋ง)
โ”œโ”€โ”€ antbot_hw_interface/           # ANT-RCU์šฉ ros2_control ํ•˜๋“œ์›จ์–ด ํ”Œ๋Ÿฌ๊ทธ์ธ
โ”œโ”€โ”€ antbot_libs/                   # ๊ณต์œ  C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Dynamixel ํ†ต์‹ , XML ํŒŒ์‹ฑ)
โ”œโ”€โ”€ antbot_interfaces/             # ์ปค์Šคํ…€ ROS 2 ๋ฉ”์‹œ์ง€ ๋ฐ ์„œ๋น„์Šค ์ •์˜
โ”œโ”€โ”€ antbot_camera/                 # ๋ฉ€ํ‹ฐ ๋“œ๋ผ์ด๋ฒ„ ์นด๋ฉ”๋ผ ๋…ธ๋“œ (V4L2, USB, RGB-D)
โ”œโ”€โ”€ antbot_imu/                    # ์ƒ๋ณด ํ•„ํ„ฐ ํฌํ•จ IMU ๋“œ๋ผ์ด๋ฒ„
โ”œโ”€โ”€ antbot_teleop/                 # ํ‚ค๋ณด๋“œ ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ (Python)
โ”œโ”€โ”€ vanjee_lidar_sdk/              # Vanjee 3D LiDAR ๋“œ๋ผ์ด๋ฒ„
โ”œโ”€โ”€ vanjee_lidar_msg/              # Vanjee LiDAR ๋ฉ”์‹œ์ง€ ์ •์˜
โ”œโ”€โ”€ docs/                          # ๋ฌธ์„œ ๋ฐ ์ด๋ฏธ์ง€
โ”œโ”€โ”€ scripts/                       # ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํฌ๋ฆฝํŠธ
โ”‚   โ””โ”€โ”€ setting.sh                 # ์˜์กด์„ฑ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ
โ””โ”€โ”€ additional_repos.repos         # vcs import์šฉ ์™ธ๋ถ€ ์ €์žฅ์†Œ ๋ชฉ๋ก

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

Quick Start โ€” ROS 2 Humble์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด?

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

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Ubuntu
  • ROS 2
  • C++

์„ค์น˜

1. ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ €์žฅ์†Œ๋ฅผ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค:

mkdir -p ~/antbot_ws/src && cd ~/antbot_ws/src
git clone https://github.com/ROBOTIS-move/antbot.git

2. ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค (์‹œ์Šคํ…œ ๋„๊ตฌ, ์™ธ๋ถ€ ์ €์žฅ์†Œ, rosdep ๊ธฐ๋ฐ˜ ROS ์˜์กด์„ฑ):

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

3. ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค:

cd ~/antbot_ws
colcon build --symlink-install

4. ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์†Œ์‹ฑํ•ฉ๋‹ˆ๋‹ค:

source ~/antbot_ws/install/setup.bash

๐Ÿ’ก Tip: ~/.bashrc์— source ~/antbot_ws/install/setup.bash๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ƒˆ ํ„ฐ๋ฏธ๋„๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์†Œ์‹ฑ๋ฉ๋‹ˆ๋‹ค.

(์ƒ๋‹จ์œผ๋กœ)


๐ŸŽฎ ์‚ฌ์šฉ๋ฒ•

์ „์ฒด ๋กœ๋ด‡ Bringup

ros2_control, swerve controller, IMU, LiDAR, GPS, ์นด๋ฉ”๋ผ๋ฅผ ํฌํ•จํ•œ ์ „์ฒด ์‹œ์Šคํ…œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

ros2 launch antbot_bringup bringup.launch.py

์‹œ๊ฐํ™”

RViz๋กœ ๋ชจ๋“  ์„ผ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง (๋ณ„๋„ PC์—์„œ ์‹คํ–‰):

ros2 launch antbot_bringup view.launch.py

URDF ๋ชจ๋ธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (ํ•˜๋“œ์›จ์–ด ๋ถˆํ•„์š”):

ros2 launch antbot_description description.launch.py

์›๊ฒฉ ์กฐ์ข…

ํ‚ค๋ณด๋“œ๋กœ ์ง์ ‘ ์กฐ์ข…:

# ํ‚ค๋ณด๋“œ ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ (ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰)
ros2 run antbot_teleop teleop_keyboard

# ์กฐ์ด์Šคํ‹ฑ ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ (DualSense, USB)
ros2 launch antbot_teleop teleop_joy.launch.py

ํ‚ค ๋ฐ”์ธ๋”ฉ:

Key Action
W / X ์ „์ง„ / ํ›„์ง„
A / D ์ขŒ์ธก / ์šฐ์ธก ์ด๋™
Q / E ๋ฐ˜์‹œ๊ณ„ / ์‹œ๊ณ„ ํšŒ์ „
1 ~ 9 ์†๋„ ๋ ˆ๋ฒจ
ESC ์ข…๋ฃŒ

์กฐ์ด์Šคํ‹ฑ ๋ฒ„ํŠผ ๋ฐ”์ธ๋”ฉ (DualSense):

DualSense ์กฐ์ด์Šคํ‹ฑ ๋ฒ„ํŠผ ๋งต

์ˆ˜๋™ ์†๋„ ๋ช…๋ น

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

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

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

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ”ง ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘

๊ตฌ์„ฑ ์š”์†Œ ์‚ฌ์–‘
Drive Type 4๋ฅœ ๋…๋ฆฝ ์กฐํ–ฅ ์Šค์›Œ๋ธŒ ๋“œ๋ผ์ด๋ธŒ
Control Board ANT-RCU (Dynamixel Protocol 2.0, ID 200)
Communication USB Serial @ 4 Mbps
Wheel Motors 4ร— (M1โ€“M4), ๋ฒ”์œ„: โˆ’185 ~ 185 RPM
Steering Motors 4ร— (S1โ€“S4), ๋ฒ”์œ„: โˆ’56.2ยฐ ~ 56.2ยฐ
Cameras 1ร— ์Šคํ…Œ๋ ˆ์˜ค RGB-D + 4ร— ๋ชจ๋…ธ (V4L2)
3D LiDAR 3D LiDAR (Ethernet)
2D LiDAR 2ร— 2D LiDAR (USB Serial)
IMU 6์ถ• (3์ถ• ๊ฐ€์†๋„๊ณ„ + 3์ถ• ์ž์ด๋กœ์Šค์ฝ”ํ”„)
GNSS u-blox GPS ์ˆ˜์‹ ๊ธฐ
Battery BMS ๋ชจ๋‹ˆํ„ฐ๋ง (์ „์••, ์ „๋ฅ˜, SoC, ์˜จ๋„)

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ“ก ROS 2 ํ† ํ”ฝ & ์ธํ„ฐํŽ˜์ด์Šค

Published Topics

Topic Type ์„ค๋ช…
/odom nav_msgs Swerve controller ์˜ค๋„๋ฉ”ํŠธ๋ฆฌ
/tf tf2_msgs Transform tree
/imu/accel_gyro sensor_msgs IMU ๋ฐ์ดํ„ฐ (์ฟผํ„ฐ๋‹ˆ์–ธ, ๊ฐ์†๋„, ์„ ๊ฐ€์†๋„)
/sensor/camera/*/image_raw sensor_msgs ์นด๋ฉ”๋ผ ์ด๋ฏธ์ง€ ์ŠคํŠธ๋ฆผ
/sensor/camera/*/camera_info sensor_msgs ์นด๋ฉ”๋ผ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ
/sensor/lidar_3d/point_cloud sensor_msgs 3D ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ
/sensor/lidar_2d_front/scan sensor_msgs ์ „๋ฐฉ 2D ๋ ˆ์ด์ € ์Šค์บ”
/sensor/lidar_2d_back/scan sensor_msgs ํ›„๋ฐฉ 2D ๋ ˆ์ด์ € ์Šค์บ”

Subscribed Topics

Topic Type ์„ค๋ช…
/cmd_vel geometry_msgs ์†๋„ ๋ช…๋ น (linear x/y + angular z)

Services

Service Type ์„ค๋ช…
/cargo/command antbot_interfaces ํ™”๋ฌผํ•จ ์ž ๊ธˆ / ํ•ด์ œ
/headlight/operation std_srvs ์ „์กฐ๋“ฑ ์ผœ๊ธฐ / ๋„๊ธฐ
/wiper/operation antbot_interfaces ์™€์ดํผ ๋ชจ๋“œ ์„ค์ • (OFF / ONCE / REPEAT)

Key Dependencies

Package ์šฉ๋„
dynamixel_sdk Dynamixel Protocol 2.0 ํ†ต์‹ 
ros2_control Controller manager ํ”„๋ ˆ์ž„์›Œํฌ
generate_parameter_library ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋™ ์ƒ์„ฑ
cv_bridge ROS โ†” OpenCV ์ด๋ฏธ์ง€ ๋ณ€ํ™˜
tinyxml2 Control table XML ํŒŒ์‹ฑ
rviz_imu_plugin RViz IMU ์‹œ๊ฐํ™”

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ“„ ๋ผ์ด์„ ์Šค

Apache License 2.0ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Copyright 2026 ROBOTIS AI CO., LTD.

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ‘ฅ Contributors

(์ƒ๋‹จ์œผ๋กœ)


๐Ÿ“ฌ ์—ฐ๋ฝ์ฒ˜

ROBOTIS AI CO., LTD.

(์ƒ๋‹จ์œผ๋กœ)


ROBOTIS
Made with ๐Ÿ’š by ROBOTIS AI