Uuv_simulator: ๋…ธ์—ํ‹ฑ ๋ฆด๋ฆฌ์Šค

์— ๋งŒ๋“  2020๋…„ 05์›” 25์ผ  ยท  24์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: uuvsimulator/uuv_simulator

์ตœ์‹  ๋ฐฐํฌํŒ์ธ ROS Noetic์—๋„ ์ด ํŒจํ‚ค์ง€๋ฅผ ์ถœ์‹œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? :)

feature-request

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

๊ธ€์Ž„, ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ, message_to_tf๋Š” uuv_description ~๋‹ค์‹œ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ ๋ฐ ac ํŒŒ์ผ๋งŒ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“  ๊ฒƒ์ด ์ปดํŒŒ์ผ๋˜๋ฉด uuv_simulation์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ros ๋‹ต๋ณ€(https://answers.ros.org/question/67488/roslaunch-error-error-cannot-launch-node-of-type/) ๋˜๋Š” stackoverflow์—์„œ ์ด ์งˆ๋ฌธ์„ ํ•˜๋„๋ก ์ดˆ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

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

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค ;)

๊ธ€์Ž„, ๊ทธ๊ฒƒ์€ ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค! :๋””

uuv_teleop์— ํ•„์š”ํ•œ joy ๋ฐ joy_teleop๊ณผ ๊ฐ™์€ ๋ชจ๋“  ์ข…์†์„ฑ์ด ์•„์ง noetic์šฉ์œผ๋กœ ํ•ด์ œ๋œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
https://github.com/ros-drivers/joystick_drivers/issues/170
https://github.com/ros-teleop/teleop_tools/issues/51

์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” Travis์— ์ž‘์—…์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ข…์†์„ฑ์„ ๋ชจ๋‘ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์‹œ์ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Travis ๋นŒ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์‹คํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/arturmiller/uuv_simulator/tree/noetic
https://travis-ci.org/github/arturmiller/uuv_simulator/jobs/693993787
Industrial_ci๊ฐ€ ํฐ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์™”๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ BEFORE_SCRIPT ๋ฐ AFTER_SCRIPT ์ธ์ˆ˜๊ฐ€ ์—†์œผ๋ฉฐ catkin ๋Œ€์‹  colcon์œผ๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์•Œ๊ธฐ๋กœ catkin_tools๋Š” ์•„์ง noetic์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ด์ „ ์„ค์ •์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” legacy ๋ฒ„์ „์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋กœ์ปฌ๋กœ ๋ช‡ ๊ฐ€์ง€ ์‹คํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ํ™•์ธํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ตœ๊ทผ Industrial_ci ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ uuv_simulator๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/arturmiller/uuv_simulator/tree/noetic
https://travis-ci.org/github/arturmiller/uuv_simulator/builds/696565670
๋Œ€๋ถ€๋ถ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์–ด๋–ค ํ˜•ํƒœ์˜ ๋ฆฌํŒฉํ† ๋ง์ด ํ•„์š”ํ•œ ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. uuv_gazebo_ros_plugins์˜ ํ…Œ์ŠคํŠธ์—๋Š” uuv_descriptions๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ˆœํ™˜ ์ข…์†์„ฑ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ uuv_gazebo_ros_plugins์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ์™ธ์—๋Š” ์™œ run_tests.sh ์Šคํฌ๋ฆฝํŠธ๊ฐ€ Industrial_ci์˜ ๋นŒ๋“œ ์ธ ์ ˆ์ฐจ ๋Œ€์‹  ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. catkin_tools๊ฐ€ ์•„์ง Ubuntu 20.04์—์„œ ์ถœ์‹œ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ ๋Ÿฌ๋„ˆ์—์„œ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์„ ๋ณ‘ํ•ฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‚ด ์ปค๋ฐ‹์„ ์ •๋ฆฌํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ชจ๋“  ๊ฒƒ์„ ๋…ผ์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ์™€ PR์„ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ๋‹ค. Joy ๋ฐ Joy_teleop ํŒจํ‚ค์ง€๋Š” ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ travis ๋นŒ๋“œ๋ฅผ ์„ฑ๊ณต์‹œํ‚ค๊ธฐ ์œ„ํ•ด package.xml์—์„œ ์ด๋Ÿฌํ•œ ์ข…์†์„ฑ์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ์—๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋…ธ์—ํ‹ฑ ๋ฐฉ์ถœ์„ ๋ง‰๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@arturmiller ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
์ด์ œ ROS noetic์—์„œ joy์™€ joy_teleop์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ROS noetic์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ถฉ๋Œ. UUV Sim์ด Noetic์— ์ ํ•ฉํ•œ์ง€(๋˜๋Š” ์„ค์น˜ ์‹œ ์‚ฌ์šฉ์ž ์ธก์—์„œ ์•ฝ๊ฐ„์˜ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€์ง€) ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ž๋ฆฌ๋Š” ์™„์ „ํžˆ Python3์— ์žˆ์œผ๋ฉฐ ํ˜„์žฌ Melodic์ด Python3๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ๊ฐ•์ œํ•˜๋Š” ๋‘ํ†ต์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์ด์ œ noetic์—์„œ joy์™€ joy_teleop์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. catkin_tools๋Š” ์—ฌ์ „ํžˆ ์ œ๋Œ€๋กœ ์ด์‹๋˜์ง€ ์•Š์•˜์ง€๋งŒ pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค์—์„œ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
@purvikpatel ๋‚ด ํฌํฌ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ๋Š” ํ†ต๊ณผ๋˜์ง€๋งŒ ์ˆ˜๋™ ํ…Œ์ŠคํŠธ๋Š” ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ๊ทธ๋ฆฌ ๋†’์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋ถ„๊ธฐ๋Š” "ํƒ์ƒ‰" ์ปค๋ฐ‹์œผ๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ travis ๋นŒ๋“œ๋ฅผ ์ •ํ™•ํžˆ ๋ณต์ œํ•  ์ˆ˜ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•œ ์œ ์ง€ ๋ณด์ˆ˜์˜ ๋” ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ธฐ๋Œ€ํ–ˆ์ง€๋งŒ ๊ทธ๋“ค์€ ๊ฝค ๋ฐ”์œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด ๋งˆ์ง€๋ง‰ ํ˜ธ #406์€ ๊ฑฐ์˜ ์ฃผ๋ชฉ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ์ง€๋งŒ noetic ๋ฐ Python3์— ๋Œ€ํ•œ ์ž‘์—… ํฌํฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ ๊ด€์‹ฌ์ด ์ถฉ๋ถ„ํžˆ ํฌ๊ณ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ณ„์† ๋ˆ„๋ฝ๋˜๋Š” ๊ฒฝ์šฐ). ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋” ์ด์ƒ ์œ ์ง€ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ฐ๋น„์•ˆ ํŒจํ‚ค์ง€๋ฅผ ๋ฆด๋ฆฌ์Šคํ•  ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค.

catkin_tools๋Š” ์—ฌ์ „ํžˆ ์ œ๋Œ€๋กœ ์ด์‹๋˜์ง€ ์•Š์•˜์ง€๋งŒ pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค์—์„œ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค ์ด๊ฒŒ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์•„์š”. ์šฐ๋ถ„ํˆฌ 20.04๋ถ€ํ„ฐ ๊ฐ„๋‹จํžˆ sudo apt install python3-catkin-tools ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? @arturmiller ๊ฐ€ ๋งŒ๋“  repo๋ฅผ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์ „๋ง๋Œ€์—์„œ free(): double free detected in tcache 2 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

catkin ๋„๊ตฌ๋Š” ํ˜„์žฌ Noetic์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๋ˆ„๊ตฐ๊ฐ€ Noetic์„ ์œ„ํ•ด ์ด๊ฒƒ์„ ๊ณต๊ฐœํ•  ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๊นŒ? :์•ฝ๊ฐ„_์›ƒ๋Š”_์–ผ๊ตด:

๋‹น์‹ ์€ ๋†€๋ผ์šด ์ผ์„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ์ด ์‹ค์ œ ๋ฆด๋ฆฌ์Šค์— ๊ฐ์‚ฌ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
uuv์˜ ๋ฉœ๋กœ๋”” ๋ฒ„์ „์„ noetic์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์‹ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค.
(๋‹น๋ถ„๊ฐ„ noetic์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•„์‚ฌ์ ์œผ๋กœ ๋…ธ๋ ฅํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ด๊ฒƒ์„ ์—ฌ๊ธฐ์— ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค).

์•ˆ๋…• ๋ชจ๋‘๋“ค. noetic์— ๋Œ€ํ•œ ๊ณต์‹ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ž‘์—… ํฌํฌ ๋˜๋Š” ์„ค์น˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ จ์˜ ์ง€์นจ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์—ฌ๊ธฐ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ๋“  ๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์œ„ ๋Œ“๊ธ€์˜ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š” ;) ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒํ™œ์„ ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”! ๋‚˜๋Š” ๊ทธ ๋งํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์„ ์„ค์ •ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์™€ ๊ทธ๋“ค์˜ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฉ๋ฒ•์„ ์–ป์—ˆ์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์„ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ ํ›„ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ERROR: cannot launch node of type [message_to_tf/message_to_tf]: message_to_tf

๋˜ํ•œ(๊ด€๋ จ ์—ฌ๋ถ€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Œ), ๋‚ด ์ฝ”๋“œ๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰ ์ค‘์ธ๋ฐ๋„ Gazebo๋Š” ๊ฒ€์€์ƒ‰ ํ™”๋ฉด๋งŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์‚ฌ์šฉํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ปดํŒŒ์ผํ–ˆ์Šต๋‹ˆ๋‹ค: https://github.com/Waterloo-Aquadrone/aquadrone2020_dev_workspace/blob/master/noetic_setup.md.

๋‚ด๊ฐ€ ์–ด๋ฆฌ์„์€ ์‹ค์ˆ˜๋ฅผ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๊ธ€์Ž„, ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ, message_to_tf๋Š” uuv_description ~๋‹ค์‹œ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ ๋ฐ ac ํŒŒ์ผ๋งŒ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“  ๊ฒƒ์ด ์ปดํŒŒ์ผ๋˜๋ฉด uuv_simulation์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ros ๋‹ต๋ณ€(https://answers.ros.org/question/67488/roslaunch-error-error-cannot-launch-node-of-type/) ๋˜๋Š” stackoverflow์—์„œ ์ด ์งˆ๋ฌธ์„ ํ•˜๋„๋ก ์ดˆ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

์ด Neootic ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ๋กœ๋ด‡์„ ์ถ”๊ฐ€ํ•  ๋•Œ segfault๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์„ผ์„œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ๋ฒ”์œ„๋ฅผ ์ขํ˜”์Šต๋‹ˆ๋‹ค. ์„ผ์„œ ์—†์ด ๋กœ๋ด‡์„ ์Šคํฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋– ๋‹ค๋‹ˆ๋ฉฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฉœ๋กœ๋”” ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋™์ผํ•œ ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•˜์ง€๋งŒ ๋…ธ์—ํ‹ฑ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ segfault๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ฝ”๋“œ ๋ธ”๋ก์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ inertial_reference_frame์ด ๊ฑฐ์˜ ์กด์žฌํ•œ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

<xacro:include filename="$(find uuv_sensor_ros_plugins)/urdf/sensor_snippets.xacro"/>

<xacro:default_imu_macro
    namespace="${namespace}"
    parent_link="${namespace}/base_link"
    inertial_reference_frame="${inertial_reference_frame}">
    <origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:default_imu_macro>

Gazebo๋Š” "Segmentation fault(core dumped)"๋ฅผ ์ถœ๋ ฅํ•œ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์•„์ด๋””์–ด๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋‹ค๋ฉด ROSBasePlugin.cc์˜ 144ํ–‰์— return true; ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
๋˜ํ•œ ned์™€ ๊ด€๋ จ๋œ ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž„์‹œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ UnderwaterObjectROSPlugin.cc์—์„œ 207ํ–‰๊ณผ 208ํ–‰์„ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋‹ค์‹œ ๋งŒ๋‚˜๋ณด์„ธ์š” :) @musamarcusso ๋‹น์‹ ์ด๋‚˜ ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž๊ฐ€ ๊ฐ€๊นŒ์šด ์‹œ์ผ ๋‚ด์— ์ด ํŒจํ‚ค์ง€๋ฅผ Noetic์šฉ์œผ๋กœ ์ถœ์‹œํ•  ์˜ˆ์ •์ž…๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฐ”์˜์‹œ๋‹ค๋ฉด ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„์™€๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

@hidmic , ๋ถˆํ–‰ํžˆ๋„ Noetic์œผ๋กœ์˜ ํฌํŒ…์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์ „์ฒด ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. @musamarcusso ์˜ ๋‹ต๋ณ€์„ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜ ์ผ๋ถ€ ํฌํฌ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค./

์•ˆ๋…•ํ•˜์„ธ์š” @pxalcantara์ž…๋‹ˆ๋‹ค! ์˜ค๋žœ๋งŒ ์ด๋„ค์š” :)

@musamarcusso ์˜ ๋‹ต๋ณ€์„ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜ ์ผ๋ถ€ ํฌํฌ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ฐธ์กฐ. ํฌํฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ(์ฆ‰, ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์‚ฌ๋ณธ์— ๋…ธ๋ ฅ์„ ๋ถ„์‚ฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ)์ด ๊ฐ€์žฅ ์ข‹์€ IMHO์ž…๋‹ˆ๋‹ค.

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