PX4视觉自主开发套件
PX4视觉自主开发套件是一款功能强大且价格亲民的套件,用于在自动驾驶飞行器上开展计算机视觉开发。
该套件包含一架几乎可直接飞行的碳纤维四轴飞行器,配备了Pixhawk 4或Pixhawk 6C(V1.5版本)飞行控制器、UP Core配套计算机(4GB内存与64GB eMMC)以及Occipital Structure Core深度相机传感器。
本指南介绍让飞行器准备好飞行所需的最少额外设置(安装遥控系统和电池),还涵盖首次飞行以及如何着手修改计算机视觉代码等内容。
WARNING
PX4不再支持本文档中描述的避障软件:
- PX4/PX4 - Avoidance 已存档。
- 路径规划接口 以及任务中的避障和安全着陆功能。
套件中包含一个USB闪存盘,其中有基于该软件的避障功能实现示例。此示例仅作为参考,用于展示该平台的能力。
TIP
对于开发和测试视觉解决方案(不依赖旧有集成),本套件仍强烈推荐。
购买渠道
PX4视觉指南内容
注意事项与通知
- 本套件适用于使用前置摄像头的计算机视觉项目(它没有向下或后置深度摄像头)。因此,在不进行修改的情况下,无法用于测试需要向下摄像头的功能。
- 任务中的避障功能仅在有GPS信号时才可测试(任务使用GPS坐标)。在位置模式下,只要通过GPS或光流获得良好的位置锁定,就可以测试防撞功能。
- 标记为“USB1”的端口如果连接USB3外设,可能会干扰GPS(需禁用包括任务在内的依赖GPS的功能)。这就是为什么启动镜像放在USB2.0记忆棒上。
- PX4 Vision v1且ECN编号为010或更高(载板RC05及以上),UP Core既可以通过直流插头供电,也可以使用电池供电。
- 所有PX4 Vision v1.5的UP Core既可以通过直流插头供电,也可以使用电池供电。
WARNING
对于PX4 Vision v1且ECN编号低于010/载板低于RC04的情况,UP Core仅应使用电池供电(请勿移除UP Core电源插座的安全盖)。此条不适用于PX4 Vision v1.5。
套件内容
INFO
PX4 Vision V1和V1.5的区别可在此处查看。
PX4 Vision V1的套件内容可在PX4 v1.13文档此处查看。
PX4视觉开发套件包含以下组件:
- 核心组件:
- 1个Pixhawk 4或Pixhawk 6C(v1.5版本)飞行控制器
- 1个PMW3901光流传感器
- 1个TOF红外距离传感器(PSK - CM8JL65 - CC5)
- 1个Structure Core深度相机:
- 160度广角视觉相机
- 立体红外相机
- 板载IMU
- 强大的NU3000多核深度处理器
- 1台UP Core计算机(4GB内存与64GB eMMC,预装Ubuntu和PX4避障软件):
- Intel® Atom™ x5 - z8350(最高1.92 GHz)
- 兼容操作系统:微软Windows 10完整版、Linux(ubilinux、Ubuntu、Yocto)、Android
- FTDI UART连接到飞行控制器
- “USB1”:USB3.0 A型端口,用于从USB2.0闪存盘启动PX4避障环境(连接USB3.0外设可能干扰GPS)。
- “USB2”:JST - GH接口的USB2.0端口。可用于连接第二个摄像头、LTE等(或开发期间连接键盘/鼠标)。
- “USB3”:连接深度相机的USB2.0 JST - GH端口
- “HDMI”:HDMI输出
- SD卡插槽
- WiFi 802.11 b/g/n @ 2.4 GHz(连接到外部天线#1)。使计算机能够接入家庭WiFi网络以访问互联网/进行更新。
- 机械规格:
- 框架:全5毫米3K碳纤维斜纹布材质
- 电机:T - MOTOR KV1750
- 电调:BEHEli - S 20A电调
- GPS:M8N GPS模块
- 电源模块:Holybro PM07
- 轴距:286毫米
- 重量:不含电池或螺旋桨为854克
- 遥测:连接到飞行控制器的ESP8266(连接到外部天线#2)。实现与地面站的无线连接。
- 一个预闪存软件的USB2.0闪存盘,包含:
- Ubuntu 18.04 LTS
- ROS Melodic
- Occipital Structure Core ROS驱动程序
- MAVROS
- PX4避障
- 各种线缆、8个螺旋桨、2个电池绑带(已安装)及其他配件(可用于连接额外外设)。
还需准备什么
套件包含了除电池和遥控系统外所有必备的无人机硬件,这两项需另行购买:
- 电池:
- 4S锂聚合物电池,带XT60母接头
- 长度小于115毫米(以适配电源接头和GPS天线之间的空间)
- 遥控系统:
- 可使用任何PX4兼容的遥控系统。
- FrSky Taranis发射器搭配R - XSR接收器是较受欢迎的配置之一。
- 一个H2.0内六角扳手(用于拧下顶板,以便连接遥控接收器)
此外,用户还需要地面站硬件/软件:
- 运行QGroundControl(QGC)的笔记本电脑或平板电脑。
首次设置
- 将兼容的遥控接收器连接到飞行器(套件未提供):
- 使用H2.0内六角扳手工具拧下(移除)顶板(电池放置处)。
- 将接收器连接到飞行控制器。
- 重新安装顶板。
- 将遥控接收器安装在飞行器后部的UP Core载板上(使用扎带或双面胶带)。
- 确保天线无任何遮挡,并与框架电气隔离(例如,将它们固定在载板下方或飞行器的臂/腿上)。
- 绑定遥控地面和空中单元(若尚未完成)。绑定步骤取决于所使用的具体遥控系统(请阅读接收器手册)。
- 将GPS天线升高到垂直位置,并将盖子拧到底板上的固定座上。(v1.5版本无需此步骤)
- 将套件中预成像的USB2.0闪存盘插入UP Core标记为“USB1”的端口(如下突出显示)。
- 使用充满电的电池为飞行器供电。
INFO
连接电池前请确保移除螺旋桨。
- 几秒钟后,使用以下默认凭据将地面站连接到飞行器的WiFi网络:
- SSID:pixhawk4
- 密码:pixhawk4
TIP
连接后(如有需要),可通过使用网页浏览器打开URL:http://192.168.4.1来更改WiFi网络SSID、密码和其他凭据。波特率不得从921600更改。
- 在地面站启动QGroundControl。
- 配置/校准飞行器:
INFO
飞行器应已预先校准(例如,固件、机架、电池和传感器均已设置好)。不过,您需要校准刚连接的遥控系统,并且重新进行指南针校准通常也是有必要的。
- [校准遥控系统](../config/radio.md)
- [校准指南针](../config/compass.md)
- (可选)在遥控器上配置飞行模式选择开关。
INFO
也可以使用QGroundControl更改飞行模式。
我们建议为以下模式定义遥控器开关: - 位置模式 - 一种安全的手动飞行模式,可用于测试防撞功能。 - 任务模式 - 运行任务并测试避障功能。 - 返航模式 - 使飞行器安全返回发射点并着陆。 10. 按所示旋转方向安装螺旋桨: - 螺旋桨方向可通过标签确定:“6045”(正常,逆时针)和“6045R”(反向,顺时针)。
- 使用提供的螺旋桨螺母拧紧:
带避障功能飞行无人机
完成上述飞行器设置后:
- 连接电池为飞行器供电。
- 等待启动序列完成且避障系统启动(启动期间飞行器将拒绝解锁命令)。
TIP
从提供的USB闪存盘启动/启动过程大约需要1分钟(或从内部存储器启动需要30秒)。
- 检查避障系统是否已正确启动:
- QGroundControl通知日志显示消息:“避障系统已连接”。
- Structure Core相机前部可见红色激光。
- QGroundControl通知日志显示消息:“避障系统已连接”。
- 等待GPS指示灯变绿。这意味着飞行器已获得GPS定位,可准备飞行!
- 将地面站连接到飞行器的WiFi网络。
- 找一个安全的户外飞行地点,理想情况下有一棵树或其他方便的障碍物,用于测试PX4视觉功能。
- 要测试防撞功能,启用位置模式并手动飞向障碍物。飞行器应在距离障碍物6米内减速并停止(距离可使用CP_DIST参数更改)。
- 要测试避障功能,创建一个路径被障碍物阻挡的任务。然后切换到任务模式运行任务,观察飞行器绕过障碍物并返回规划路线。
使用套件进行开发
以下部分说明如何使用该套件作为开发计算机视觉软件的环境。
PX4避障概述
WARNING
此功能已不再受PX4支持](../computer_vision/path_planning_interface.md)。
PX4避障系统由运行在配套计算机(连接深度相机)上的计算机视觉软件组成,该软件向运行在飞行控制器上的PX4飞行堆栈提供障碍物和/或路线信息。
关于配套计算机视觉/规划软件的文档可在github上找到:PX4/PX4 - Avoidance。该项目提供了多种不同的规划器实现(打包为ROS节点):
- PX4视觉套件默认运行“localplanner”,这是您开发自己软件的推荐起点。
- “globalplanner”尚未在此套件中测试。
- “landing planner”需要向下的摄像头,不修改摄像头安装方式无法使用。
PX4和配套计算机通过MAVLink使用以下接口交换数据:
在配套计算机上安装镜像
您可以将镜像安装在UP Core上并从内部存储器启动(而不是使用USB闪存盘)。 这是推荐做法,因为从内部存储器启动速度更快,还能释放一个USB端口,并且可能比USB闪存盘提供更多内存。
INFO
从内部存储器启动大约需要30秒,而从提供的USB2闪存盘启动大约需要一分钟(其他闪存卡可能需要几倍的时间)。
要将USB镜像刷入UP Core:
- 将预闪存的USB驱动器插入UP Core标记为“USB1”的端口。
- 登录配套计算机(如上文所述)。
- 打开终端并运行以下命令将镜像复制到内部存储器(eMMC)。在刷写过程中,终端会提示输入一些响应。
cd ~/catkin_ws/src/px4vision_ros/tools
sudo./flash_emmc.sh
INFO
执行此脚本时,UP Core计算机中保存的所有信息都将被删除。
- 拔出USB闪存盘。
- 重启飞行器。此时UP Core计算机将从内部存储器(eMMC)启动。
启动配套计算机
首先将提供的USB2.0闪存盘插入UP Core标记为“USB1”的端口,然后使用4S电池为飞行器供电。避障系统应在大约1分钟内启动(不过这取决于所提供的USB闪存盘)。
TIP
带避障功能飞行无人机部分还介绍了如何验证避障系统是否已激活。
如果您已在配套计算机上安装镜像,则只需为飞行器供电(即无需USB闪存盘)。避障系统应在大约30秒内启动并运行。 启动后,配套计算机既可用作计算机视觉开发环境,也可用于运行软件。
登录配套计算机
要登录配套计算机:
- 通过“USB2”端口将键盘和鼠标连接到UP Core:
- 使用套件中的USB - JST电缆获得USB A型接头。
- 如果键盘和鼠标有单独的接头,可以在电缆上连接一个USB集线器。
- 使用套件中的USB - JST电缆获得USB A型接头。
- 将显示器连接到UP Core的HDMI端口。
此时Ubuntu登录屏幕应出现在显示器上。
- 使用以下凭据登录UP Core:
- 用户名:px4vision
- 密码:px4vision
开发/扩展PX4避障功能
PX4视觉套件的UP Core计算机提供了一个完整且完全配置好的环境