|
发表于 2021-4-2 15:07:22
8229 浏览 4 回复
[控制算法]
PX4 VFH避障仿真问题
float arc = 3.1415 / 180 * direction;
// mavros_msgs::PositionTarget pos_target;
pos_target.coordinate_frame = 1;
pos_target.type_mask = 1 + 2 + /*4 + 8 + 16 + 32 +*/ 64 + 128 + 256 + 512 + 1024 + 2048;
pos_target.velocity.x = 0.5* cos(arc);
pos_target.velocity.y = 0.5* sin(arc);
pos_target.position.z = desire_z;
local_pos_pub.publish(pos_target);
在使用VFH避障算法中,无人机是如何到达期望位置的?在避障节点中,只控制了无人机的x、y速度,那怎么判断是否达到期望点。是否需要开启位置控制节点,告诉无人机期望位置,希望大佬解答!
|
扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2021-4-6 09:32:31
判断是否达到期望点,是无人机一直都在做的吧。这就是导航和控制,飞控一直在做的事。跟你VFH什么算法都没有关系哦。。。导航也就状态估计,状态估计里面就有位置估计,就是用来指导是否到达期望位置的。 |
|
|
|
|
|
|
|
楼主|
发表于 2021-4-6 14:26:48
感谢您的回答,但是这个代码是通过直接给飞控速度信息,并没有给位置控制节点,因此我还是不太清楚您的意思,您说的状态估计也需要开启节点来进行指导控制吧,但launch文件中没有开启其他节点。 |
|
|
|
|
|
|
|
发表于 2021-4-7 14:19:05
VFH避障的节点,会获取地面站画出的航点信息,通过获取无人车的定位信息可以得出航点在本地坐标系下的X,Y值,当无人车的位置在航点附近的一个小范围内就视为到达目标点,从而前往下一个目标点或结束任务。 |
|
|
|
|
|
|
|
发表于 2021-4-7 14:19:58
在代码里面的有一部分是判断无人车定位数据是否在航点附近的一个小范围内 |
|
|
|
|
|
|
|