盘旋时,无人机(貌似)随机失去了高度,然后恢复了。这样做是在没有命令任何速度输入的情况下,并且应该保持高度。
我们在github上使用ardrone_autonomy(dev_unstable分支)中的驱动程序。我们能够观察到发送到电动机的PWM输出,并且当出现这种下降时,它们会从悬停命令中下降,然后以指数形式返回到悬停值,因此会减小一个较小的值。
问题可能是IMU与板载控制器之间或我们的软件控制实现之间的通信。
是否有人看到过类似的问题或建议以对发生的事情进行测试/故障排除?
#1 楼
我没有使用过ARDrone,但是有过在另一个自动驾驶仪上保持高度的经验。没有更多信息,谷歌快速搜索发现该线程中ARDrone可能存在固件问题。
如果您使用的是车载超声传感器,那么正如我在“如何检测桌子边缘?”一文中提到的那样。超声传感器可能会偶发地零点跳零秒,这可能导致ARDrone改变高度,然后跳回实际值。
评论
$ \ begingroup $
汤姆,我们目前在室内使用无人机。我们在实验室中,这是一块地毯地板,并使用高对比度彩色瓷砖将视觉系统锁定。由于我们大学目前的实验室设置,我们无法在其他环境中进行大量测试。
$ \ endgroup $
–达曼
13年2月22日在18:03
$ \ begingroup $
至于控制策略,我们使用xbox控制器通过ROS节点进行飞行以读取输入。我们得到的ROS文件来自ARdrone_autonomy github。该命令被发送到似乎是PID的无人机的机载控制上。自从我发表第一篇文章以来,我们最好缩小范围。 ROS具有来自内部导航数据的主题,该主题提供了电动机信息。它显示了要发送到电动机的PWM值以及海拔PID控制器的内部积分项。我们看到当四边形下降时,它从60重置为0
$ \ endgroup $
–达曼
13年2月22日在18:06
$ \ begingroup $
要确定四边形下降时发送到电动机的PWM信号是否已从60重置为零?如果是这种情况,则需要追溯并确定数学错误的来源。我认为问题出在高度保持中使用传感器数据的方式,您无法通过发生这种错误来调整PID。
$ \ endgroup $
–汤姆·班伯(Tom Bamber)
13年1月1日在11:01
评论
您在室内还是室外使用ARDrone?从上一个问题推断出,您想将鼠标悬停在哪个地形上?某些地形可能会导致悬停问题。您是否在各种环境中进行过测试?您在软件控制实现中使用什么控制策略? PID?您在使用车载超声波传感器来保持身高吗?