์๋ ํ์ธ์,
MAVROS๋ฅผ ์ฌ์ฉํ์ฌ ๋์ด๋ฅผ ์ธก์ ํ๋ ๊ฑฐ๋ฆฌ ์ผ์(Leddar One Range Finder)์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ค๊ณ ํฉ๋๋ค. QGroundControl์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค(๋นํ ์ปจํธ๋กค๋ฌ๊ฐ PX4์ด๋ฏ๋ก).
๋๋ก (MAVROS๊ฐ ์ค์น๋ ์ํ)์์ ๋ค์ ๋ช
๋ น์ ์๋ํ์ต๋๋ค.
$ roscore
$ rosrun mavros mavros_node _fcu_url:=tcp://127.0.0.1:5760 _system_id:=2
๊ทธ๋ฐ ๋ค์ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ๋ณต๋ฉ๋๋ค.
DS: no mapping for sensor id: 0, type: 1, orientation: 25
QGC์์ ID, ์ ํ ๋ฐ ๋ฐฉํฅ์ ํ์ธํ ์ ์์ด ์ด๊ฒ์ด Leddar One ์ผ์์ธ์ง ํ์ธํฉ๋๋ค.
px4_pluginlists.yaml์ ๋ธ๋๋ฆฌ์คํธ์์ distance_sensor์ rangefinder๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
๋ํ px4_config.yaml ํ์ผ์์ distance_sensor ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด์ด ์์์ต๋๋ค(๋ค์ํ ๋ฐฉํฅ ์๋: PITCH_270, NONE ๋ฐ 25).
๋๋ ์ด ์ฝ๋์ 205๋ฒ ๋ผ์ธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค: distance_sensor.cpp ํ์ง๋ง ๊ทธ ์์ธ์ ์ ์ ์์ต๋๋ค.
๋๋ ROS๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฏ๋ก ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
px4_config.yaml
์์ ๊ตฌ์ฑ์ ํ์ธํ์ต๋๊น? ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํด ๊ฐ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ yaml ํ์ผ์ ์ ์ ํ ๋งต์ ์ถ๊ฐํด์ผ ํฉ๋๋ค(์ด๋ฏธ ์์ ๊ฐ ์์). ๋ํ sys_id๋ฅผ 2๋ก ๋ณ๊ฒฝํ๋ ์ด์ ๊ฐ ์์ต๋๊น? ๋ํ ๋ธ๋๋ฆฌ์คํธ์์ rangfinder
๋ฅผ ์ ๊ฑฐํ ํ์๊ฐ ์์ต๋๋ค. APM๊ณผ๋ง ํธํ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
๋น ๋ฅธ ์๋ต๊ณผ ๊ด๋ จ ๋ผ๋ฒจ ์ถ๊ฐ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
px4_config.yaml
์์ ๋ณ๊ฒฝํด์ผ ํ๋ ๋ถ๋ถ์ ์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์๋ ค ์ฃผ์๊ฒ ์ต๋๊น? ๋ด๊ฐ ๋ณ๊ฒฝํ ์ ์ผํ ๋ถ๋ถ์ ๊ฑฐ๋ฆฌ ์ผ์ ์๋์ ์์ต๋๋ค. ( ์์ค ์ฝ๋์ 133ํ)
leddar1_pub:
id: 0
frame_id: "leddar1_laser"
orientation: PITCH_270 # RPY:{0.0, 270.0, 0.0} - downward-facing
field_of_view: 0.0 # XXX TODO
send_tf: true
sensor_position: {x: 0.0, y: 0.0, z: -0.1}
๊ทธ๋ฆฌ๊ณ id: 1
๋ถํฐ ๋ค๋ฅธ ์ผ์๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
sys_id๋ฅผ 2๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ํฌํจ๋ Intel Aero RTF ๋๋ก ์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ํ์ด์ง ์ ์ง์นจ์ ๋ฐ๋์ต๋๋ค.
์ผ๋ง๋ ์ง์. rangefinder
์ ๋ธ๋๋ฆฌ์คํธ์ ๋ค์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
๋ด๊ฐ ๋๋ฌด ๋ง์ ๊ฒ์ ์๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ค๋ช
ํ ํ์ ์์ด px4_config.yaml
์ ์์ ํ๋ ๋ฐ ๋์์ด ๋ ๋งํ ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ๊ทธ๊ฒ์ผ๋ก ์ถฉ๋ถํ ์ ์์ต๋๋ค.
๊ฐ์ฌ ํด์
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ํน๋ณํ "px4_config.yaml"์ config_yaml ์ธ์๋ก ์ ๋ฌํ ์คํ ํ์ผ์ ๋ง๋ค์์ต๋๋ค. ์ด ๊ฑฐ๋ฆฌ ์ผ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ด๊ธฐํํ๊ณ ์ํ๋ ๋๋ก ROS ์ฃผ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ์ต๋๋ค.
์ด ์ค๋ ๋๋ ๋ซํ ์ ์์ต๋๋ค.
๋ช ํํ ํ๊ธฐ ์ํด ๊ฒ์ํ ๋ผ์ด๋ ๋ฐ์ดํฐ์ ๋ํด "px4_pluginlists.yaml"์์ "- distance_sensor"๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํด์ผ ํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ช ํํ ํ๊ธฐ ์ํด ๊ฒ์ํ ๋ผ์ด๋ ๋ฐ์ดํฐ์ ๋ํด "px4_pluginlists.yaml"์์ "- distance_sensor"๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํด์ผ ํ์ต๋๋ค.