์๋
..
๋ก์คํ ํฝ ๋ชฉ๋ก
์ด๋ฆ์ด "distance_sensor"์ธ ์ฃผ์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๊น?
์ด ๋ชฉ๋ก(apm_pluginlists.yaml)์์ ์ ๊ฑฐํ์ต๋๋ค.
plugin_blacklist:
.# ํํ
..
.# ์์คํธ๋ผ
...
๊ฑฐ๋ฆฌ ์ผ์
...
ํด๋น ํ๋ฌ๊ทธ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค. https://github.com/mavlink/mavros/blob/master/mavros/launch/px4_config.yaml#L116
๊ทธ๋ฌ๋ APM์ ์ด์จ๋ DISTANCE_SENSOR ๋ฉ์์ง๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ํ์ธํ๋ค (ardupilot-Copter-3.4.5 - GCS_Mavlink.cpp):
๋ฌดํจ GCS_MAVLINK_Copter::handleMessage(mavlink_message_t* msg)
{
...
์ผ์ด์ค MAVLINK_MSG_ID_DISTANCE_SENSOR:
{
๊ฒฐ๊ณผ = MAV_RESULT_ACCEPTED;
ํฌ๋ฆฌ์ฝฅํฐ.๋ ์ธ์งํ์ธ๋.handle_msg(msg);
๋ถ์์ง๋ค;
}
..
}
๋ฐ (ardupilot-Copter-3.4.5 - AP_RangeFINder_Mavlink.cpp):
๋ฌดํจ AP_RangeFinder_MAVLink::handle_msg(mavlink_message_t *msg)
{
mavlink_distance_sensor_t ํจํท;
mavlink_msg_distance_sensor_decode(msg, ํจํท);
last_update_ms = AP_HAL::millis();
distance_cm = packet.current_distance;
}
//
๋ง์ง๋ง ์ค ํ์ APM์ DISTANCE_SENSOR ๋ฉ์์ง์์ distance_cm๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค!
๋ฌด์จ ๋ป์ธ๊ฐ์ DS: ํ๋ฌ๊ทธ์ธ์ด ๊ตฌ์ฑ๋์ง ์์์ต๋๋ค!
PX4 ์คํ์ผ๋ก mavros๋ ํ์ธํ์ง๋ง ์ด ๊ฒฝ๊ณ ๊ฐ ๋จ์ ์์ต๋๋ค.
์ข์, ์ด์ APM์ด ์ด๋ฅผ ๊ตฌํํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง์คํฐ๋ก ์ ๋ฐ์ดํธํ๋ฉด # 670์ ๊ตฌ์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค.
์๋ํฉ๋๋ค .. ๊ทธ๋ฌ๋ select pub ๋๋ sub์ ๋ํ ๋งค๊ฐ ๋ณ์๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค.
@Ahrovan ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์๋ ๋ฐฉ์์ ๋ํด px4_config.yaml์ ํ์ธํ์ต๋๊น?
์๋์, ๋ฐฉ๊ธ apm_pluginlists.yaml์ ํ์ธํ์ต๋๋ค.
px4_config์์ ์ฐพ์ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ์ ์ ์ฉํฉ๋๋ค. FCU์์ ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์ปดํจํฐ์ ์ผ์์์ ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ ํ๊ณ FCU๋ก ๋ณด๋ด๋ ค๋์ง ํ์ธํ์ญ์์ค.
@์๋ก๋ฐ ์ ๋ฐ์ดํธ?
์ง์ฐ๋ ์ํ๋ก ๋ซ์ต๋๋ค. @MasterRos ๊ทธ๋๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋ค์ ์ด์ด์ฃผ์ธ์.
distance_sensor๋ ์ด์ ์ผ์ ์ถ๋ ฅ ๋ฐ ์ ๋ ฅ์ ์ํด ardupilot ์ธก์์ ์์ ํ ๊ตฌํ๋์์ต๋๋ค.
distance_sensor๋ ์ด์ ์ผ์ ์ถ๋ ฅ ๋ฐ ์ ๋ ฅ์ ์ํด ardupilot ์ธก์์ ์์ ํ ๊ตฌํ๋์์ต๋๋ค.
@khancyr๋ฅผ ํ์ธํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
distance_sensor๋ ์ด์ ์ผ์ ์ถ๋ ฅ ๋ฐ ์ ๋ ฅ์ ์ํด ardupilot ์ธก์์ ์์ ํ ๊ตฌํ๋์์ต๋๋ค.