์ฐ์
์ฉ ํ๊ฒฝ์ ์ํ ์๊ฐ ๊ท ํ ์ด์์คํดํธ ๋ก๋ด ํ๋ก์ ํธ์
๋๋ค.
PID ์ ์ด ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ์ธ ๋ฐธ๋ฐ์ค๋ฅผ ์ ์งํ๋ฉฐ, ROS2 ํต์ ์ ํตํด ์ค์๊ฐ ์ ์ด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ํ ์๋์ ์ ์ค์ฒ ์ธ์ ๋ฐ ํผ ์ฒด์ธ์ง ๊ธฐ๋ฅ์ ํตํด ๋ค์ํ ์์
์ํฉ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๋ค์ PPT๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
https://1drv.ms/p/c/ab27c0969113fccc/EaaHhze64o5LmxexOCGwaGEBO8tVEs80k8IScCfeKFemCA?e=kjNwqh
- ํ๋ก์ ํธ๋ช : SeBAR (SelfโBalancing Assistant Robot)
- ๋ชฉํ: ์๊ฐ ๊ท ํ ๊ธฐ๋ฅ๊ณผ ์ ์ค์ฒ ๊ธฐ๋ฐ ์ง๊ด์ ์ ์ด๋ฅผ ํตํ ์์ ํจ์จ์ฑ ๋ฐ ์์ ์ฑ ํฅ์
- ๊ฐ๋ฐ ๊ธฐ๊ฐ: 2024๋
- ๋ด๋น ์ญํ : ๋ฐธ๋ฐ์ค ์ ์ด ์์คํ ๊ฐ๋ฐ (PID ์ ์ด๊ธฐ ๊ธฐ๋ฐ)
- NVIDIA Jetson AGX Xavier (ROS2 ๊ธฐ๋ฐ ์ ์ด)
- Dynamixel MX-106 (4๊ฐ)
- IAHRS (RB-SDA-v1) IMU ์ผ์
- ZED Stereo Camera
- OPENCR 1.0 ์ปจํธ๋กค๋ฌ
- ์๋ฃจ๋ฏธ๋ ํ๋กํ์ผ, ๋ฐํด, 3D ํ๋ฆฐํ ๋ถํ
- Ubuntu 20.04 + ROS2 Foxy
- C++, Python
- PID ์ ์ด ์๊ณ ๋ฆฌ์ฆ
- IMU ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฐธ๋ฐ์ค ์ ์ด
- YOLOv5 (Gesture Recognition)
- Roboflow (Dataset ๊ด๋ฆฌ)
- Pytorch ๊ธฐ๋ฐ ๋ฅ๋ฌ๋ ํ์ต ํ๊ฒฝ (Google Colab ์ฌ์ฉ)
- ์๊ฐ ๊ท ํ ์ ์ง: IMU ์ผ์ ๊ธฐ๋ฐ ์ค์๊ฐ PID ์ ์ด
- ์ ์ค์ฒ ์ ์ด: YOLOv5๋ฅผ ์ด์ฉํ ์๋์ ์ธ์
- ํผ ์ฒด์ธ์ง: Balancing Mode โ Creeping Mode ์ ํ
- ROS2 ํต์ ๊ธฐ๋ฐ ์ ์ด: Topic ๊ธฐ๋ฐ ํผ๋ธ๋ฆฌ์/๊ตฌ๋ ๊ตฌ์กฐ
- ๊ฐ์ฒด ์ถ์ ๋ฐ ๊ฑฐ๋ฆฌ ๊ณ์ฐ: ZED Stereo Camera ํ์ฉ
- IMU ์ผ์๋ก๋ถํฐ ์ค์ผ๋ฌ ๊ฐ๋(roll, pitch, yaw) ์์ง
- ๋ชฉํ ์์ธ(0ยฐ)์ ํ์ฌ ์์ธ๋ฅผ ๋น๊ตํ์ฌ Pitch ์ค์ฐจ ๊ณ์ฐ
- PID ์ ์ด๊ธฐ(P, I, D ํญ ๊ณ์ฐ)๋ฅผ ํตํด ์ค์ฐจ ๋ณด์
- ๋ณด์ ๋ ์ ์ด ์ ํธ๋ฅผ Dynamixel ๋ชจํฐ์ ์ ๋ฌ
- ๋ชจํฐ ๋ชฉํ ์์น ์ ๋ฐ์ดํธ โ ์ค์๊ฐ ์์ธ ๋ณต์
# ์ํฌ์คํ์ด์ค ๋น๋
colcon build
# ์์ค ํ๊ฒฝ ์ค์
source install/setup.bash
# IMU ํผ๋ธ๋ฆฌ์
์คํ
ros2 launch iahrs_driver iahrs_driver_launch.py
# ๋ฐธ๋ฐ์ค ์ปจํธ๋กค๋ฌ ์คํ
ros2 run balance_controller balance_controller_node