1163583516 发表于 2022-10-27 08:55:30

技术分享 | ROS2下控制PX4仿真无人机

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.htmlhttp://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. 安装ROS2ROS2的安装方式有很多,大家可自行选择。推荐大家参考:https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html该网址进行安装,安装过ROS的人应该会比较轻松,未安装过的用户也不需要担心,多看几遍教程,多装几次ROS就熟悉了。

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

安装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源码部分找到相应的软件包下载即可。

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



End -

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

本文由博客一文多发平台 OpenWrite 发布!
页: [1]
查看完整版本: 技术分享 | ROS2下控制PX4仿真无人机