27AkioAsakura/ros-swarm-mission-control

๐Ÿ›ฐ๏ธ NASA์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์ค‘ ๋กœ๋ด‡ ๊ตฐ์ง‘์„ ์ œ์–ดํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ์กฐ์ •, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ํšจ์œจ์ ์ธ ์ž‘์—… ํ• ๋‹น์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ros-swarm-mission-control๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด ์Šคํ‚ฌ์€ NASA์˜ ์ž„๋ฌด ์ œ์–ด ๊ฐœ๋…์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ROS ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์œผ๋กœ, ๋‹ค์ค‘ ๋กœ๋ด‡ ๊ตฐ์ง‘(swarm)์˜ ์‹ค์‹œ๊ฐ„ ์กฐ์ •, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ž‘์—… ํ• ๋‹น์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ค‘์•™ ์ œ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋กœ๋ด‡์„ ๋™์‹œ์— ์ง€ํœ˜ํ•˜๊ณ , ๊ฐ ๋กœ๋ด‡์˜ ์ƒํƒœ, ๋ฐฐํ„ฐ๋ฆฌ ์ž”๋Ÿ‰, ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋™์  ์ž‘์—… ํ• ๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋กœ๋ด‡ ๊ฐ„ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜๊ณ , ์ถฉ๋Œ ํšŒํ”ผ ๋ฐ ๊ฒฝ๋กœ ๊ณ„ํš ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ฌ์€ ROS(Robot Operating System) ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, Gazebo ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•œ ๊ฐ€์ƒ ํ…Œ์ŠคํŠธ์™€ ์‹ค์ œ ๋กœ๋ด‡ ๋ฐฐํฌ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒ~Claude Code~Codex CLI~Cursor
npx skills add 27AkioAsakura/ros-swarm-mission-control

Installed? Explore more ์ƒ์‚ฐ์„ฑ & ํ˜‘์—… skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator ยท View all 6 โ†’

์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ

์ด ์—์ด์ „ํŠธ ์Šคํ‚ฌ์ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์ƒˆ ์ฑ„ํŒ…์„ ์—ฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ

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

๊ด€๋ จ ์Šคํ‚ฌ