Uuv_simulator: ๋ฉ€ํ‹ฐ ๋กœ๋ด‡ TF ํŠธ๋ฆฌ ํŒŒ์†

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

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” UUV ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๋กœ๋ด‡์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ž˜ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ•์  ์ค‘ ํ•˜๋‚˜). ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์ค‘ ๋กœ๋ด‡ ์‹œ์Šคํ…œ์˜ TF ํŠธ๋ฆฌ๊ฐ€ ๋‹จ์ผ ๊ณตํ†ต ์ƒ์œ„ TF ํ”„๋ ˆ์ž„ world ๊ณผ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

roslaunch uuv_gazebo_worlds ocean_waves.launch ์‹คํ–‰ ์‹œ world ๋ฐ world_ned ๋งŒ ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค.

image

๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉ์ž ์ •์˜ auv4 URDF๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด world ์—์„œ auv4/base_link ์—ฐ๊ฒฐ๋œ TF ํŠธ๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

image

์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ชจ๋‘ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  roslaunch uuv_gazebo_worlds ocean_waves.launch ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” auv3 ์ฐจ๋Ÿ‰์„ ์—…๋กœ๋“œํ•˜๋ฉด world ์—์„œ auv3/base_link ์—ฐ๊ฒฐ๋œ TF ํŠธ๋ฆฌ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค

image

์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ชจ๋‘ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ roslaunch uuv_gazebo_worlds ocean_waves.launch ๋ฅผ ์‹คํ–‰ํ•œ ๋‹ค์Œ ๋ณ„๋„์˜ upload.launch ํŒŒ์ผ(ํ…œํ”Œ๋ฆฟ์€ upload_rexrov.launch๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค)์„ ํ†ตํ•ด ๋‘ urdfs๋ฅผ ๋™์‹œ์— ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์—ฐ๊ฒฐ์ด ๋Š๊ธด TF ํŠธ๋ฆฌ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ๋‘ ๋ฒˆ์งธ ์ฐจ๋Ÿ‰์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง‘๋‹ˆ๋‹ค. TF ํŠธ๋ฆฌ์—์„œ. ์ด ๊ฒฝ์šฐ, auv3๊ฐ€ ๋จผ์ € ์—…๋กœ๋“œ๋˜๊ณ  auv4๊ฐ€ ์—…๋กœ๋“œ๋˜์–ด world auv3/base_link ์—ฐ๊ฒฐ๋˜์—ˆ์ง€๋งŒ auv4/base_link ์—์„œ๋Š” ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ์Šต๋‹ˆ๋‹ค.

image

์—…๋กœ๋“œ ์ˆœ์„œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ•˜๋ฉด(auv4 ๋จผ์ € ๋‹ค์Œ auv3) ๋น„์Šทํ•œ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด world ๋Š” auv4/base_link ๋˜์ง€๋งŒ auv3/base_link ์—๋Š” ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

#396์ด ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์–ด๋–ป๊ฒŒ๋“  Original Poster(OP)๊ฐ€ ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ TF ํŠธ๋ฆฌ๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•ˆ๋‚ดํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ํ˜„์žฌ message_to_tf.launch ํŒŒ์ผ์ด nav_msgs::Odometry๋ฅผ ROS TF ๋ณ€ํ™˜์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

question problem

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

์•ˆ๋…•ํ•˜์„ธ์š” @HashirZahir ์•„์ง ์‹œ๊ฐ„์ด ์—†์—ˆ์ง€๋งŒ ๊ท€ํ•˜์˜ ์˜ค๋ฅ˜๋ฅผ ์žฌํ˜„ํ•˜๊ณ  ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@HashirZahir ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. _roslaunch uuv_gazebo_worlds ocean_waves.launch_๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ 3๊ฐœ์˜ Eca_a9 ์ฐจ๋Ÿ‰์„ ๋™์‹œ์— ๋ฐœ์‚ฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ ๋‘ ๋Œ€์˜ Eca_a9 ์ฐจ๋Ÿ‰์„ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋” ์ง„์ „๋œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

2๊ฐœ์˜ Eca_a9 ์ฐจ๋Ÿ‰์„ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(๋ฐ ํ•ด๋‹น TF ํŠธ๋ฆฌ?) ์ œ ๊ฒฝ์šฐ์—๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ ๋‘ ์ฐจ๋Ÿ‰์„ ๋ชจ๋‘ ์Šคํฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ TF ํŠธ๋ฆฌ๊ฐ€ ์†์ƒ/์—ฐ๊ฒฐ ํ•ด์ œ๋˜์–ด ์ˆ˜ํ–‰ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. ๋‹ค์ค‘ auv ๊ณ„์‚ฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ–‰์šด์„ ๋นŒ์–ด์š” @pxalcantara ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค @HashirZahir , ํ•˜์ง€๋งŒ ์•„์ง์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋งค์šฐ ๋ฐ”๋นด์ง€๋งŒ ์ด๋ฒˆ ์ฃผ์— ํ™•์ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

2๊ฐœ์˜ Eca_a9 ์ฐจ๋Ÿ‰์„ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(๋ฐ ํ•ด๋‹น TF ํŠธ๋ฆฌ?) ์ œ ๊ฒฝ์šฐ์—๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ ๋‘ ์ฐจ๋Ÿ‰์„ ๋ชจ๋‘ ์Šคํฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ TF ํŠธ๋ฆฌ๊ฐ€ ์†์ƒ/์—ฐ๊ฒฐ ํ•ด์ œ๋˜์–ด ์ˆ˜ํ–‰ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. ๋‹ค์ค‘ auv ๊ณ„์‚ฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜

์‘๋‹ต์ด ๋Š๋ฆฐ ์  ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” upload.launch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ 3๊ฐœ(๋˜๋Š” ๊ทธ ์ด์ƒ)์˜ Eca UUV๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์ž‘ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ 3๋Œ€์˜ ์ฐจ๋Ÿ‰ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๊ธฐํ•˜ํ•™์  ์ถ”์  ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด์œ ๋ฅผ ๋ชจ๋ฅธ ์ฑ„, ์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ 2/3 UUV์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๋ฉฐ, ์„ธ ๋ฒˆ์งธ๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๊ณ  ๊ณ ์žฅ๋‚ฉ๋‹ˆ๋‹ค(์„ค๋ช…ํ•œ ๋Œ€๋กœ)... ๊ทธ๋ž˜์„œ 2 UUV์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฃผ์ œ๋ฅผ ์ œ์–ดํ•˜๊ณ , ์›จ์ดํฌ์ธํŠธ๋ฅผ ๋ณด๋‚ด๊ณ , ์—์ฝ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํ•ญ์ƒ ์ผ๊ด€๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ๋•Œ๋กœ๋Š” ํ•˜๋‚˜์˜ UUV๋งŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ๋ถˆํ–‰ํžˆ๋„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋” ์ด์ƒ ํ†ต์ฐฐ๋ ฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ๋“ ์ง€์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์—ˆ์Šต๋‹ˆ๊นŒ? ์ด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ๋‹ค์ค‘ ๋กœ๋ด‡ ๊ธฐ๋Šฅ์€ ํ›Œ๋ฅญํ•˜์ง€๋งŒ ๋ฌธ์ œ์˜ ์›์ธ์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์ง€๋งŒ ๊ฐ„๋‹จํ•œ TF ํŠธ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ธํ•ด ๊นจ์ง„ TF ํŠธ๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@HashirZahir
๋‚˜๋Š” eca_a9s์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ @Joel-Lindsay์™€ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. /eca_a9/eca_a9_description/robots/eca_a9_default.urdf.xacro ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

inertial_reference_frame="$(arg inertial_reference_frame)"
๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ด€์„ฑ_์ฐธ์กฐ_ํ”„๋ ˆ์ž„="์„ธ๊ณ„"

์ด๊ฒƒ์€ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ๋‚ด tf ํŠธ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, @ErinWetter ์—ฐ๊ฒฐ๋œ TF ํŠธ๋ฆฌ์˜ ์‚ฌ์ง„์„ ๊ณต์œ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์€ 4๊ฐœ์˜ eca_a9๊ฐ€ ์ž‘๋™ํ•˜๋Š” tf ํŠธ๋ฆฌ์˜ ์ƒ๋‹จ์ž…๋‹ˆ๋‹ค.

Four_Eca_short

๋‘ ์ฐจ๋Ÿ‰์œผ๋กœ๋งŒ ๋‚ด๋ ค๊ฐ€๋ฉด ๊ธฐ๋ณธ ๋งํฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

two_eca_short

๋ธŒ๋กœ๋“œ์บ์Šคํ„ฐ ์‚ฌ์ด์˜ ํ”„๋ ˆ์ž„ ๋งํฌ: ground_truth_to_uuv# ๋ฐ /uu#/robot_state_publisher๊ฐ€ ์ผ์น˜ํ•˜๋„๋ก ๋กœ๋ด‡ ์ƒํƒœ ๊ฒŒ์‹œ์ž๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๊ธฐ ์ „์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ xacro/urdf ๋กœ๋ด‡ ๋ชจ๋ธ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค์— ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Eca์™€ RexRov์—์„œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ… ๋…ธ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ˆœ์„œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋‹จ์ผ ์ฐจ๋Ÿ‰์—์„œ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค(์ด๋Š” tf ํŠธ๋ฆฌ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๊ณ  ๋‹ค์ค‘ ์ฐจ๋Ÿ‰ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค). ๋‹จ์ผ Eca_a9์˜ ๊ฒฝ์šฐ "upload_eca_a9.launch" ํŒŒ์ผ ๋‚ด์—์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ„ฐ๋ฏธ๋„์—์„œ /ground_truth_to_uuv# ๋…ธ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด tf ํŠธ๋ฆฌ๊ฐ€ /base_link์—์„œ ์ ˆ๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹œ์ž‘ ์กฐ๊ฑด๊ณผ ์—ฐ๊ฒฐ๋œ RexRov /base_link์™€ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ.

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