ros-swarm-mission-control์(๋) ๋ฌด์์ ํ๋์?
๐ฐ๏ธ NASA์์ ์๊ฐ์ ๋ฐ์ ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ๋ค์ค ๋ก๋ด ๊ตฐ์ง์ ์ ์ดํ๊ณ , ์ค์๊ฐ ์กฐ์ , ๋ชจ๋ํฐ๋ง ๋ฐ ํจ์จ์ ์ธ ์์ ํ ๋น์ ์ํํฉ๋๋ค.
๊ธฐ๋ฅ
- ์ค์๊ฐ ๋ชจ๋ํฐ๋ง: ๋์๋ณด๋๋ฅผ ํตํด ๊ฐ ๋ก๋ด์ ์ํ(๋ฐฐํฐ๋ฆฌ, ์์น, ์๋)๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธ
- ์์ ํ ๋น: ๋์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ก๋ด ๊ฐ ์์ ์ ์ต์ ์ผ๋ก ๋ถ๋ฐฐ
- ์ถฉ๋ ํํผ: ๋ถ์ฐํ ์ถฉ๋ ํํผ ๋ฉ์ปค๋์ฆ์ผ๋ก ์์ ํ ์ฃผํ ๋ณด์ฅ
- ๊ฒฝ๋ก ๊ณํ: A* ๋ฐ RRT ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ ํจ์จ์ ์ธ ๊ฒฝ๋ก ์์ฑ
- ROS ํตํฉ: ํ์ค ROS ๋ฉ์์ง ๋ฐ ์๋น์ค๋ฅผ ํตํ ์์ฌ์ด ํ์ฅ
์ง์ ํ๋ซํผ
- ROS Noetic (Ubuntu 20.04)
- ROS 2 Humble (Ubuntu 22.04)
- Gazebo ์๋ฎฌ๋ ์ดํฐ
- ์ค์ TurtleBot3, Husky, Jackal ๋ก๋ด
์์ํ๊ธฐ
ํ์ ์กฐ๊ฑด
sudo apt install ros-noetic-desktop-full
์ค์น
cd ~/catkin_ws/src
git clone https://github.com/27AkioAsakura/ros-swarm-mission-control.git
cd ~/catkin_ws && catkin_make
์คํ
roslaunch swarm_mission_control mission_control.launch
๊ตฌ์ฑ
config/swarm_config.yaml ํ์ผ์์ ๋ก๋ด ์, ํต์ ๋ฒ์, ์์
์ ํ ๋ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.
swarm:
robot_count: 5
communication_range: 10.0 # meters
task_allocation: "hungarian" # options: greedy, hungarian, auction
API
ROS ํ ํฝ
/swarm/robot_{id}/status- ๋ก๋ด ์ํ ์ ๋ณด/swarm/task_list- ํ์ฌ ์์ ๋ชฉ๋ก/swarm/assignment- ์์ ํ ๋น ๊ฒฐ๊ณผ
ROS ์๋น์ค
/swarm/add_task- ์ ์์ ์ถ๊ฐ/swarm/remove_robot- ๋ก๋ด ์ ๊ฑฐ/swarm/emergency_stop- ๋ชจ๋ ๋ก๋ด ๊ธด๊ธ ์ ์ง
๋ผ์ด์ ์ค
MIT License