新闻中心 新闻
技术分享 | ROS2下控制PX4仿真无人机
新闻 2021-08-30 09:08:18

ROS自诞生以来,经历了十年以上的发展,到如今已成为家喻户晓的开源机器人操作系统,随着越来越多人加入到ROS当中,ROS存在的问题也逐渐暴露出来,为了解决这一问题,ROS2诞生了,目前来说,大部分ROS用户还集中于ROS1中,ROS2还处于一个发展阶段,距离成熟稳定还有一段距离,PX4诞生时间与ROS接近,距今也有十年左右的发展,作为开源飞行控制系统,深受广大无人机开发者欢迎,在无人机当中,有着非常高的地位。


在ROS1中,PX4对ROS就有着非常好的支持,提供了MAVROS功能包,为ROS提供了很多关于无人机的接口,并且PX4已经开始支持ROS2了,虽然目前还不够完善,但相信在不久地将来,我们就能迎来PX4对ROS2的全面支持。


在这里呢,我们也是通过官方提供的教程,带领大家接触了解一下ROS2和PX4。


http://docs.px4.io/master/en/ros/ros2.html

http://docs.px4.io/master/en/ros/ros2_comm.html


大家可参考以上两个网址的内容搭建ROS2和PX4,需要注意,需严格按照官方教程中安装相应版本的软件,我们是在2021年7月份左右参考该教程完成了PX4和ROS2的环境搭建,使用的Ubuntu版本为20.04,ROS版本为Foxy,虽然此时ROS已经推出Galactic版本,但亲测后发现存在难以解决的BUG,建议大家参考官方教程提供的版本进行测试。


环境安装过程中,可能会遇到很多问题,在这里把我们环境搭建的中遇到的情况给大家说明一下,希望也能给大家带来一个参考。


1.Ubuntu系统安装

我们是在Ubuntu官方直接下载Ubuntu20.04的系统,做好系统盘,安装到电脑上,这一步基本没什么问题,系统盘的制作和系统安装的教程网上都有很多,大家多找一些资料看一看就熟悉了,这里就不再细讲。


2. 安装 Fast DDS

在我们的测试过程,实际上我们是先安装的ROS2再安装的Fast DDS,但并不影响。Fast DDS的安装比较繁琐,还有可能会遇到网络问题导致无法下载,

http://docs.px4.io/master/en/dev_setup/fast-dds-installation.html,

可参考该网址下载相关软件。需要注意相关版本

一般情况下,只要是新装的Ubuntu系统,安装这些都还是比较顺利,不太容易出现环境上的问题,也推荐大家用一个新的Ubuntu系统进行安装。


3. 安装ROS2

ROS2的安装方式有很多,大家可自行选择。


推荐大家参考:

https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html


该网址进行安装,安装过ROS的人应该会比较轻松,未安装过的用户也不需要担心,多看几遍教程,多装几次ROS就熟悉了。


4. 安装px4_msgs和px4_ros_com

这两个安装都没有啥大的问题,按照教程流程走就行,网络可能会有点问题,下载可能会失败,需要多试几次,或者使用一些特殊的方法,只要前面的软件都下载好,这两个功能包的编译都是没有问题的,有些编译出错多编译几次就好了。


5. 安装PX4开发环境

安装PX4开发环境,可以搭建起PX4的仿真,可以测试ROS2与PX4是否能够正常建立连接。


可参考该教程:

http://docs.px4.io/master/en/dev_setup/dev_env_linux_ubuntu.html


其中下载PX4源代码时,可能出现有些子模块并未下载,需要自己找到相应的软件包自行下载,在使用

$ make px4_sitl_rtps gazebo

该命令编译时会出现缺失某些文件,根据报错信息确认哪些文件包缺失,再到github上的px4源码部分找到相应的软件包下载即可。


5. 测试ROS2与PX4

等到全部都安装完毕后,便可以参考PX4的官方例程,使用ROS2获取PX4的信息以及控制无人机进行飞行了,我们编写一个ROS2小程序,输入XYZ轴的坐标值,便可控制无人机进行飞行。



阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!


公众号:阿木实验室 ( 领取免费资料包)

官方淘宝店:阿木实验室(可购买硬件配件)

硬件咨询:yanyue199506(欢迎洽谈合作)

课程咨询:jiayue199506 (免费领取机器人工程师学习计划)




- End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

您的浏览器版本过低,建议下载更换以下浏览器:

官方店铺

 阿木实验室

联系电话

028-87872048

扫一扫,快速加入

硬件评测

群号652692981

课程学习

群号652692981