|
发表于 2020-4-13 20:55:22
8231 浏览 2 回复
px4线程如何订阅vision_position_estimate?
1阿木币
如图mavros将消息打印至vision
但小弟有几个问题想请教:
1. orb_publish_auto跟一般orb_publish的差别为何?
2. 为甚么vhicle_vision_position没有msg档?
3. 线程在订阅vision的消息时跟订阅一般orb_publish有甚么差别?
4. vehicle_vision_position没有.h档是否要生成?还是用vehicle_local_position就可以了?
|
最佳答案
查看完整内容
第一个、orb_publish_auto是内联函数吧,你可以参考https://www.runoob.com/w3cnote/cpp-inline-usage.html。
第二个、vision_position_estimate它对应的mavlink是102号消息,https://mavlink.io/en/messages/common.html#VISION_POSITION_ESTIMATE,对应的mavros也有插件https://github.com/mavlink/mavros/blob/master/mavros_extras/src/plugins/vision_pose_estimate.cpp。在Firmware下面的msg是vehicle_odometry.msg。mavros ...
扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2020-4-13 20:55:23
|
|
|
|
|
|
|
发表于 2020-4-14 14:44:55
板主你好,梳理了一下代码发现目前我使用的firmware版本为1.8.2,而1.8.2的vision_position_estimate模块发布的消息为vehicle_vision_position,是不是vehicle_odometry.msg只存在1.9以上的版本?那么在1.8.2下订阅方式是否为:
宣告:uORB::Subscription_vehicle_vision_position_sub{ORB_ID(vehicle_vision_position)};
uORB::Publication<vehicle_vision_position_s> _vehicle_vision_position_pub{ORB_ID(vehicle_vision_position)};
copy: _vehicle_vision_position_sub.copy(&_vehicle_vision_position);
发布:_vehicle_vision_position_pub.publish(_vehicle_vision_position);
差别在于1.8.2版本的msg下没有vehicle_vision_position.msg与vehicle_odometry.msg |
|
|
|
|
|
|
|