|
发表于 2021-4-1 17:17:27
7428 浏览 3 回复
PX4 VFH避障代码问题
本帖最后由 PX4_begainer 于 2021-4-1 17:46 编辑
void SetUavHeading(float hd) {
heading = hd;
heading += 270;
heading = (int)heading % 360;
heading = 360 - heading;
}这里heading是什么意思,是航向角吗?
这里为什么要对航向角这么处理呢?这里要求机体坐标系下无人机到目标点的角度,直接用地理坐标系下的角度减去航向角就可以了,为什么还要这么对heading处理呢?
还有一个就是
while (ros::ok() && !current_state.guided )
{
ros::spinOnce();
rate.sleep();
}
这里的guided是什么标志位?
BOSHEN97已获得悬赏 1 阿木币最佳答案
guided是APM中一种模式,只有在该模式下,板载计算机也就是ROS端才能控制无人车
|
 扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2021-4-2 09:35:22
这里的heading是罗盘给出的方位角,是以北边为0度,而ROS中的坐标系为ENU,是以东边为0度,两者相差90度或者说是270度,这里是用的ROS中的坐标系,所以需要对罗盘的数据进行转换 |
|
|
|
|
|
|
|
发表于 2021-4-2 09:37:39
guided是APM中一种模式,只有在该模式下,板载计算机也就是ROS端才能控制无人车 |
|
|
|
|
|
|
|
楼主|
发表于 2021-4-2 09:41:27
来自手机
BOSHEN97 发表于 2021-4-2 09:37
guided是APM中一种模式,只有在该模式下,板载计算机也就是ROS端才能控制无人车 ...
你好,能不能问一下为啥我用px4的固件,这里要考虑apm的guided模式呢,不太懂,感恩! |
|
|
|
|
|
|
|