全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 军用/航空电子 >

Bebop无人机目标跟踪与运动控制环境搭建

时间:2023-11-13 11:26

人气:

作者:admin

导读:Bebop无人机目标跟踪与运动控制环境搭建-飞行器控制相对简单,可以一个指令就实现起飞并悬停、降落,只需要向 cmd_vel 发送指令就可以实现水平方向的加速度运控制和垂直方向的速度...

0.前言

之前写过一篇使用 Parrot 家的 Bebop 2 无人机做目标识别和跟踪转向的小项目“ROS实现无人机目标跟踪/物体跟随/循迹”,但是由于硬件实物的条件限制,很多同学无法拿去用,为此我做了一些尝试,希望可以在 Gazebo 仿真环境下使用 Parrot Bebop 2 进行实验。

在这个系列的文中,我会结合 Bebop 实物和仿真一起来说,这样无论大家手中有没有 Bebop 实物都可以跟着一起来做一下这个小项目。

由于目前还有一些科研任务,所以这个系列可能更新的稍微慢一些,把现有的工作整合一下先发出来,之后可能会不定时的更新一下新的进展。

Bebop无人机的一些优势

1.不需要涉及无人机底层动力学的运动控制(毕竟商品级无人机),比较适合需要快速的对如轨迹规划、跟踪控制、编队控制等理论进行实物验证的场景

2.由于官方有给定的SDK接口,可以和ROS进行很好的通讯

3.飞行器控制相对简单,可以一个指令就实现起飞并悬停、降落,只需要向 cmd_vel 发送指令就可以实现水平方向的加速度运控制和垂直方向的速度控制

4.自身带有摄像头,可以直接调用图传画面用作视觉处理

5.社区环境较好,国外有基于 Bebop 的很多开源项目

6.可以在 Gazebo 中进行仿真,只需要稍加改动就可以直接移植到实物中

规划

我想尽可能的将把这个系列做成只需要一点点ROS基础甚至0基础的同学都可以上手做的程度,所以希望大家有什么问题可以在评论区回复,有不明白的地方我也会积极修正。

按目前已有的项目进展来整理的话,本系列计划分为如下几个部分:

1.介绍Bebop在Gazebo仿真环境的搭建

2.Bebop与ROS通讯,实现简单的指令控制

3.OpenCV中颜色和特征物体的识别

4.仿真环境中实现无人机对目标的识别和跟踪

5.Bebop的轨迹控制(待定)

6.多无人机编队控制(待定)

1. 环境搭建

本项目在 Ubuntu 18.04 和 ROS Melodic 环境下进行。

经测试,在虚拟机状态下本项目不能成功运行。

首先安装 Parrot-Sphinx,打开终端

echo "deb http://plf.parrot.com/sphinx/binary `lsb_release -cs`/" | sudo tee /etc/apt/sources.list.d/sphinx.list > /dev/null
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 508B1AE5
sudo apt-get update
sudo apt-get install parrot-sphinx

根据提示输入当前用户然后重新登陆用户即可安装完成。

因为墙的原因,可能会比较慢,耐心等待即可

之后打开终端,输入

sudo systemctl start firmwared.service
fdc ping

若得到 PONG 的响应,则说明firmwared服务启动成功。

若需要关闭firmwared服务,则在终端输入

sudo systemctl stop firmwared.service

在终端查看ip接口

sudo apt install net-tools
ifconfig

 

 

5663401c-815f-11ee-939d-92fbcf53809c.png

记录下来上面的那个接口名,我这里的是 enp30s0

接下来按照步骤修改drone文件

cd /opt/parrot-sphinx/usr/share/sphinx/drones/sudo gedit bebop2.drone

566f9a60-815f-11ee-939d-92fbcf53809c.png

如图所示,将高亮部分换成你上面记录的接口名并保存,我这里改为 enp30s0

启动Gazebo仿真环境

sudo sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone

稍等片刻就会看到Gazebo界面里出现了一架bebop2无人机

567a348e-815f-11ee-939d-92fbcf53809c.png

注意此时的电脑会断网,这是正常现象,关闭Gazebo界面后即可恢复正常。

此时如果关闭Gazebo窗口,查看 ifconfig 会发现接口名变成了eth0,再次修改drone文件即可重新运行。(每次运行只需要修改一次,重启后需要再改回原来的接口名,具体以ifconfig中查阅的为主)

至此,Bebop2的仿真环境已经搭建完毕

接下来就是建立Bebop与ROS的通讯了,由于接下来通过ROS指令控制Bebop运动时,仿真环境和实物控制中差别不大,我会将两者放在一起来说。

编辑:黄飞

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信