์ต์ ๋ฐฐํฌํ์ธ ROS Noetic์๋ ์ด ํจํค์ง๋ฅผ ์ถ์ํ์๊ฒ ์ต๋๊น? :)
์๊ฒ ์ต๋๋ค ;)
๊ธ์, ๊ทธ๊ฒ์ ๋งค์ฐ ๋น ๋ฆ ๋๋ค! :๋
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์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ธ์, ๋ด๊ฐ ์๋ ํ, message_to_tf๋ uuv_description ~๋ค์ ํ์ธํ๊ธฐ ์ํด ์คํ ๋ฐ ac ํ์ผ๋ง ์ฐธ์กฐํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ์ปดํ์ผ๋๋ฉด uuv_simulation์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์นํ๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
ros ๋ต๋ณ(https://answers.ros.org/question/67488/roslaunch-error-error-cannot-launch-node-of-type/) ๋๋ stackoverflow์์ ์ด ์ง๋ฌธ์ ํ๋๋ก ์ด๋ํฉ๋๋ค.