Mavros: ๊ธฐ๋Šฅ: ROS 2 ์ง€์›

์— ๋งŒ๋“  2017๋…„ 08์›” 10์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mavlink/mavros

@vooon ์•„๋งˆ๋„ ์ด๊ฒƒ์„ ์œ„ํ•œ dev ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  2017๋…„ 9์›” 13์ผ์— ROS 2์˜ ๋ฒ ํƒ€ 3 ๋ฆด๋ฆฌ์Šค์™€ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ๋Š” ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ ๋Œ€์—ญํญ์„ ํ™•๋ณดํ•˜๋Š” ์ฆ‰์‹œ ์•ฝ๊ฐ„์˜ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค( https://github.com/ros2/ros2/wiki/Migration-Guide).
์ด๊ฒƒ์€ ๋˜ํ•œ ROS์—์„œ PX4 uORB msg ๋ฒˆ์—ญ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด MAVROS์—์„œ Fast-RTPS ๊ฒŒ์‹œ์ž/๊ตฌ๋…์ž์˜ ํ†ตํ•ฉ๊ณผ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Protocol enhancement feature request ros2 rtps

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ๋Ÿฐ ๊ฒฝ์šฐ @TSC21 ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. mavros๋Š” ์ˆ˜์ •/๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ด์‹๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๊ฐ„๋‹จํ•œ ์ž‘์—…์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—

๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๋ผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  21 ๋Œ“๊ธ€

ํฅ๋ฏธ๋กญ๊ธด ํ–ˆ์ง€๋งŒ ์–ด๋–ค API๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ํ™•์ธํ•œ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์€ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒƒ๋“ค์ด ์ค€๋น„๋˜์ง€ ์•Š์€ beta1์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ ์ž‘์—…์„ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ROS2๋Š” ๋‹ค์Œ ์ฃผ 12์›” 8์ผ ๋ฒ ํƒ€์—์„œ ๋‚˜์˜ฌ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ROS2๋Š” ๋‘ ๋ฒˆ์งธ ๋น„๋ฒ ํƒ€ ๋ฒ„์ „์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ด ์ผ์„ ์ง„ํ–‰ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ์ง์„ ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @vooon ์— ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ROS 2์šฉ MAVROS์— ์ง„์ „์ด ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ?

PX4๋Š” pub/sub ์•„ํ‚คํ…์ฒ˜์ธ ROS์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ROS2์šฉ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค r์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. https://dev.px4.io/en/middleware/micrortps.html

์•„๋‘์ฝฅํ„ฐ์™€ ํ˜ธํ™˜๋˜๋‚˜์š”?

@clancky1658 @LorenzMeier ๊ฐ€ ์–ธ๊ธ‰ํ•œ ๊ฒƒ, ์•„๋‹ˆ์š”. PX4 ๋ฉ”์‹œ์ง• ์•„ํ‚คํ…์ฒ˜์˜ ํ๋ฆ„์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ MAVROS๋ฅผ ROS2๋กœ ํฌํŠธํ•˜๊ฒŒ ๋  ๊ฒƒ์ด์ง€๋งŒ ๋‚ด ๊ณ„ํš์—๋Š” ์—†์Šต๋‹ˆ๋‹ค. @vooon ์ด ์ด์— ๋Œ€ํ•œ ๊ณ„ํš์„ ๋ช…ํ™•ํžˆ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mavros๊ฐ€ ros2๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์ง€ ์•Š์€ ์ด์œ ์— ๋Œ€ํ•ด ์–ด๋”˜๊ฐ€์—์„œ ์ฝ์—ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๊ทธ๋Ÿฐ ๊ธฐ์‚ฌ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@CMcColl1658 ์•„๋งˆ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ  ๋•Œ๋ฌธ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

PX4๋Š” pub/sub ์•„ํ‚คํ…์ฒ˜์ธ ROS์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ROS2์šฉ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค r์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. https://dev.px4.io/en/middleware/micrortps.html

์•„๋‹ˆ์š”, ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. Mavros๋Š” ์—ฌ์ „ํžˆ mavlink ๋ธŒ๋ฆฌ์ง€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Š๋ฆฝ๋‹ˆ๋‹ค.

PX4๋Š” pub/sub ์•„ํ‚คํ…์ฒ˜์ธ ROS์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ROS2์šฉ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค r์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. https://dev.px4.io/en/middleware/micrortps.html

@๋กœ๋ Œ์ธ ๋งˆ์ด์–ด
๋‚ด๊ฐ€ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ๋“ค๋ฆฐ๋‹ค๋ฉด ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์ฒ˜์Œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ardupilot์—์„œ๋Š” Fast-RTPS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งž๋‚˜์š”?

@ramilmsh https://github.com/mavlink/mavros/issues/771#issuecomment -487277305์— ๋‹ต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ์—ฌ์ „ํžˆ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

PX4/RTPS ์ธํ„ฐํŽ˜์ด์Šค๋Š” MAVROS์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ MAVSDK๋Š” ArduPilot์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MAVROS๋Š” ํ›Œ๋ฅญํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ROS2๋กœ ์ด์‹๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

PX4/RTPS ์ธํ„ฐํŽ˜์ด์Šค๋Š” MAVROS์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ MAVSDK๋Š” ArduPilot์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. MAVROS๋Š” ํ›Œ๋ฅญํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ROS2๋กœ ์ด์‹๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@fnoop ์•„๋ฌด๋„ ๊ทธ๋ ‡๊ฒŒ ๋งํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๊ฒฝ์šฐ @TSC21 ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. mavros๋Š” ์ˆ˜์ •/๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ด์‹๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๊ฐ„๋‹จํ•œ ์ž‘์—…์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—

๊ทธ๋Ÿฐ ๊ฒฝ์šฐ @TSC21 ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. mavros๋Š” ์ˆ˜์ •/๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ด์‹๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๊ฐ„๋‹จํ•œ ์ž‘์—…์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—

๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๋ผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

@ramilmsh ROS2 ์ž์ฒด๋Š” ์ฐจ์ด์ ์ด ๋งŽ์•„์„œ ํ•ต์‹ฌ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๋‚ด ์ž์œ  ์‹œ๊ฐ„์€ ์ง€๊ธˆ ๋งค์šฐ ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ˜„์žฌ ์ฝ”๋“œ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ด๋ฏธ ํฐ ๋‹จ๊ณ„๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@vooon ๋‚˜๋Š” ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐ ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•ด ros2๋ฅผ ์›ํ•˜์ง€๋งŒ ์•„์ง๊นŒ์ง€๋Š” ์‹ค์ œ๋กœ ํ•„์š”ํ•˜๋‹ค๋Š” ํ™•์‹ ์ด ์—†์Šต๋‹ˆ๋‹ค. ํฌํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉด ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ROS2๋กœ ์ด์‹ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? ROS Foxy ๋ฒ„์ „์€ LTS ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

@HomeLH ๋‚˜๋Š” ์•„์ง ๊ทธ ๋ถ€๋ถ„์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ž์œผ๋กœ ํ•œ๋‘ ๋‹ฌ ๋™์•ˆ ์ตœ์ ํ™” ์—†์ด 1:1 ํฌํŠธ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ์ž์œ  ์‹œ๊ฐ„๋„ ์ œํ•œ์ ์ด์•ผ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰