Mavros: 没有距离传感器的映射

创建于 2018-08-09  ·  4评论  ·  资料来源: mavlink/mavros

你好,

我正在尝试从使用 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 和测距仪。
我还尝试更改 px4_config.yaml 文件中的 distance_sensor 信息,但没有成功(尝试了各种方向:PITCH_270、NONE 和 25)。

我发现错误是从以下代码的第 205 行生成的: distance_sensor.cpp但我无法弄清楚是什么导致了它。

我只是 ROS 的新手,因此将不胜感激任何帮助。

PX4 question

最有用的评论

为了澄清起见,我不得不在“px4_pluginlists.yaml”中评论“- ​​distance_sensor”以发布激光雷达数据。

所有4条评论

您是否在px4_config.yaml上检查过它的配置? 如果不配置相应的参数来访问数据,将无法正确获取数据。 因此,您需要在 yaml 文件中为其添加一个 propper 映射(您已经在那里有示例)。 另外,将 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起删除了其他传感器

由于我们使用的是 Intel Aero RTF 无人机,因此我按照此页面上的说明进行操作,其中包括将 sys_id 更改为 2。
没问题,我会把rangefinder回黑名单。

我知道我可能要求太多了。 如果您知道有任何资源可以帮助我更正px4_config.yaml而不是您需要解释它,那可能就足够了。
谢谢

我已经解决了我的问题。 我创建了一个启动文件,专门传入“px4_config.yaml”作为 config_yaml 参数。 该距离传感器正确初始化,并根据需要将数据发布到 ROS 主题。

此线程可能已关闭。

为了澄清起见,我不得不在“px4_pluginlists.yaml”中评论“- ​​distance_sensor”以发布激光雷达数据。

此页面是否有帮助?
0 / 5 - 0 等级