iq_tutorials icon indicating copy to clipboard operation
iq_tutorials copied to clipboard

Proximity tutorial assumes APM-SITL supports multiple RangeSensors (inputs) over ROS, but it seems it does not:

Open evrenguenay opened this issue 3 years ago • 0 comments

Hi,

i am getting no mapping for sensor id because of the supported count of range sensors in the plugin in SITL. I adapted the gazebo-iris as follows:

... SIM_SONAR_SCALE 10 RNGFND1_TYPE 1 RNGFND1_ORIENT 25 RNGFND1_SCALING 10 RNGFND1_PIN 0 RNGFND1_MAX_CM 5000 RNGFND1_ADDR 0x0

RNGFND2_TYPE 1 RNGFND2_ORIENT 0 RNGFND2_SCALING 10 RNGFND2_PIN 1 RNGFND2_MAX_CM 5000 RNGFND2_ADDR 0x1

RNGFND3_TYPE 1 RNGFND3_ORIENT 2 RNGFND3_SCALING 10 RNGFND3_PIN 2 RNGFND3_MAX_CM 5000 RNGFND3_ADDR 0x2

RNGFND4_TYPE 1 RNGFND4_ORIENT 4 RNGFND4_SCALING 10 RNGFND4_PIN 3 RNGFND4_MAX_CM 5000 RNGFND4_ADDR 0x3

RNGFND5_TYPE 1 RNGFND5_ORIENT 6 RNGFND5_SCALING 10 RNGFND5_PIN 4 RNGFND5_MAX_CM 5000 RNGFND5_ADDR 0x4

And i am trying to get the data from these sensors over MAVROS by adapting the apm_config.yaml:

distance_sensor: rangefinder_pub: id: 0 frame_id: "lidar" #orientation: PITCH_270 # sended by FCU field_of_view: 0.0 # XXX TODO send_tf: false sensor_position: {x: 0.0, y: 0.0, z: -0.1} rangefinder_sub: subscriber: true id: 1 orientation: PITCH_270 # only that orientation are supported by APM 3.4+ rangefinder_sub: subscriber: true id: 2 orientation: PITCH_270 # only that orientation are supported by APM 3.4+ rangefinder_sub: subscriber: true id: 3 orientation: PITCH_270 # only that orientation are supported by APM 3.4+ rangefinder_sub: subscriber: true id: 4 orientation: PITCH_270 # only that orientation are supported by APM 3.4+

And i get the following error: [ERROR] [1656780269.135863111, 6911.310000000]: DS: no mapping for sensor id: 1, type: 4, orientation: 0 [ERROR] [1656780269.135983400, 6911.311000000]: DS: no mapping for sensor id: 2, type: 4, orientation: 2 [ERROR] [1656780269.136013852, 6911.311000000]: DS: no mapping for sensor id: 3, type: 4, orientation: 4

The reason seems obvious, single pub and a single sub supported. But the tutorial here shows it supports multiple sensors: https://github.com/Intelligent-Quads/iq_tutorials/blob/master/docs/proximity/proximity_overview.md The QGC screenshots in the tutorial indicates multiple range sensor proximity values (see red curves). How is that done?

Or is there something lacking in the tutorial?

evrenguenay avatar Jul 02 '22 16:07 evrenguenay