Mavros: SITL ์˜ค๋ฅ˜ : ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ํŠธ๋ฆฌ

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

์•ผ,

์‹ค์ œ PX4 ๋งˆ์Šคํ„ฐ ๋ฐ mavros์—์„œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ODOM: Ex: Could not find a connection between 'local_origin_ned' and 'fcu' because they are not part of the same tree.Tf has two or more unconnected trees.

frames.pdf

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

์ด ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

<node name="task_3" pkg="task_3" type="task_3_node" output="screen"/>
<node name ="link1_broadcaster" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 local_origin_ned fcu 10" />

๊ทธ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ˆจ ๊น๋‹ˆ๋‹ค.)

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

์ด๋Š” https://github.com/mavlink/mavros/pull/1252 ์˜ ์ง์ ‘์ ์ธ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? PX4 ํŽŒ์›จ์–ด๋Š” ์ง€๋‚œ ๋ช‡ ๋‹ฌ ๋™์•ˆ ์ž˜ ์ž‘๋™ํ–ˆ์ง€๋งŒ ์ง€๋‚œ 3 ์ผ ๋™์•ˆ์ด ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ODOM: Ex: Could not find a connection between 'local_origin_ned' and 'fcu' because they are not part of the same tree.Tf has two or more unconnected trees.

์ตœ์‹  ๋ฒ„์ „์˜ ํŽŒ์›จ์–ด๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋นŒ๋“œํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ˆ˜์ •์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ˆ„๊ตฌ๋“ ์ง€ ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/mavlink/mavros/pull/1300 ์—์„œ ์ œ๊ณต๋˜๋Š” ์†”๋ฃจ์…˜

์•ˆ๋…•ํ•˜์„ธ์š”, ์ตœ์‹  ํŽŒ์›จ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ์ž ์‹œ ๊ธฐ๋‹ค๋ ค์•ผํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ํŽŒ์›จ์–ด ๋‚ด๋ถ€์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ผํ•˜๋Š” ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.



<node name="task_3" pkg="task_3" type="task_3_node" output="screen"/>
<node name ="link1_broadcaster" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 local_origin_ned fcu 10" />

์ด ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

<node name="task_3" pkg="task_3" type="task_3_node" output="screen"/>
<node name ="link1_broadcaster" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 local_origin_ned fcu 10" />

๊ทธ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ˆจ ๊น๋‹ˆ๋‹ค.)

mavros / global_position / compass_hdg ๋ฐ mavros / global_position / global์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๊ณ ํ•˜๋Š”๋ฐ์ด ์ฃผ์ œ๋Š” ๊ฒŒ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์™€ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ODOM : ์˜ˆ : 'local_origin_ned'์™€ 'fcu'๋Š” ๋™์ผํ•œ ํŠธ๋ฆฌ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค .Tf์—๋Š” ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ํŠธ๋ฆฌ๊ฐ€ ๋‘˜ ์ด์ƒ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜์™€ ์ฃผ์ œ ์‚ฌ์ด์— ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
์–ด๋–กํ•ด?

๋ชจ๋‘ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

mavros / global_position / compass_hdg ๋ฐ mavros / global_position / global์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๊ณ ํ•˜๋Š”๋ฐ์ด ์ฃผ์ œ๋Š” ๊ฒŒ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์™€ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ODOM : ์˜ˆ : 'local_origin_ned'์™€ 'fcu'๋Š” ๋™์ผํ•œ ํŠธ๋ฆฌ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค .Tf์—๋Š” ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ํŠธ๋ฆฌ๊ฐ€ ๋‘˜ ์ด์ƒ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜์™€ ์ฃผ์ œ ์‚ฌ์ด์— ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
์–ด๋–กํ•ด?

๋ชจ๋‘ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์˜ˆ. 0.33์€ ์ด๋ฏธ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฉฐ ๊ณง apt๋ฅผ ํ†ตํ•ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์ง€๊ธˆ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์†Œ์Šค์—์„œ MAVROS๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.

์‚ฌ์‹ค, ์ €๋Š” ๋‹ค์‹œ ๋งํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค : ๋‹น์‹ ์ด ๊ฒช๊ณ ์žˆ๋Š” ๋ฌธ์ œ๋Š” TF ๋ฌธ์ œ์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋” ๋ถ„๋ช…ํ•œ ๋ฌธ์ œ๋Š” ์ž๋™ ์กฐ์ข… ์žฅ์น˜์— GPS ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“ , ๋‹ค๋ฅธ ๋ฌธ์ œ์ด๋ฏ€๋กœ์ด ์ฃผ์ œ์—์„œ ํ† ๋ก ์„ ๊ณ„์†ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋‚ด ์‹œ์Šคํ…œ : Ubuntu 18.04 + PX4 + ROS Melodic Morenia.
์ „์ฒด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ค‘์ž…๋‹ˆ๋‹ค. pixwark๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค : roslaunch px4 mavros_posix_sitl.launch
์ด ์†”๋ฃจ์…˜์„ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ณ ๋งˆ์›Œ์š”!

๋‚ด ์‹œ์Šคํ…œ : Ubuntu 18.04 + PX4 + ROS Melodic Morenia.
์ „์ฒด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ค‘์ž…๋‹ˆ๋‹ค. pixwark๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค : roslaunch px4 mavros_posix_sitl.launch
์ด ์†”๋ฃจ์…˜์„ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ณ ๋งˆ์›Œ์š”!

catkin_ws / devel / setup.bash ๋ฐ /opt/ros/.../setup.bash ์†Œ์Šค๋ฅผ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. ๋‚ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์†Œ์‹ฑํ•˜๊ธฐ ์ „์— catkin_ws ํด๋” ๋‚ด์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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