技术分享|ros2下控制px4仿真无人机

阿木实验室 阿木实验室     2022-12-27     219

关键词:

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

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

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

  • End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!

ros实验笔记之——px4仿真

...文在ubuntu下对PX4进行一些基本的仿真学习~之前在做无人机仿真开发时《ROS实验笔记之——基于Prometheus自主无人机开源项目的学习与仿真》,已经安装了px4了~为此不需要 查看详情

技术分享|遥控器控制(joystick)

...在真实飞行过程中,我们使用真实的遥控器作为控制无人机的主要操作来源,遥控器始终拥有最高的权限,精湛的遥控器操作手法可以保证无人机安稳着陆,但对于很多非专业人士来说,遥控的操作技巧是需... 查看详情

px4apm无人机仿真连接qgc地面站记录(udp连接更改home点等)(代码片段)

文章目录一.PX41.gazebo仿真2.连接地面站3.更改Home点二、APM仿真1.执行仿真指令2.连接地面站3.更改Home点本文仅记录仿真指令,搭建安装不在此…一.PX4首先给飞控源码和子目录权限chmod-R777PX4-Autopilot1.gazebo仿真PX4中使用gazebo仿真&#... 查看详情

px4apm无人机仿真连接qgc地面站记录(代码片段)

文章目录一.PX41.gazebo仿真2.连接地面站二、APM仿真1.执行仿真指令2.连接地面站本文仅记录仿真指令,搭建安装不在此…一.PX4首先给飞控源码和子目录权限chmod-R777PX4-Autopilot1.gazebo仿真PX4中使用gazebo仿真,一般对应机型的指... 查看详情

技术分享|避坑指南-无人机自主降落代码解析(代码片段)

...工作的,如果你和我一样在此之前没有接触过机器人控制,无人机相关的内容,那这篇文章对于入门prometheus的目标检测模块很适合,视觉方面简单(opencv写好的接口),控制方面简单但全面。刚开始接触这方面知识,如有错误请指正。launch... 查看详情

px4apm无人机仿真连接qgc地面站记录(udp连接更改home点等)(代码片段)

文章目录一.PX41.gazebo仿真2.连接地面站3.更改Home点二、APM仿真1.执行仿真指令2.连接地面站3.更改Home点本文仅记录仿真指令,搭建安装不在此…一.PX4首先给飞控源码和子目录权限chmod-R777PX4-Autopilot1.gazebo仿真PX4中使用gazebo仿真&#... 查看详情

px4固定翼无人机姿态控制理解

  学习px4代码也有一段时间了,所以想写一写,自己的一些学习心得吧,也算是笔记吧。  在px4这套代码中,每一个功能都是一个模块,例如姿态控制,也就是一个应用程序,我们可以把它添加到初始话脚本里,让它自启动... 查看详情

px4官方动态|ros2最新版本galactic现已支持px4

近期OpenRobotics发布了第七版ROS2:GalacticGeochelone版本。此版本是ROS2长期支持(LTS)版本之间的临时版本,一直支持到2022年11月,GalacticGeochelone是第二个针对Ubuntu20.04的ROS2版本。而且现在ROS2:GalacticGeochelone版 查看详情

ros学习笔记之——px4位置环pid控制

之前博客《ROS学习笔记之——基于QGC的PX4在线仿真调PID》已经学习了如何在仿真环境下,调节PID位置环与姿态环。本博文细细的看一下PX4位置环PID调节如下图所示 参考资料 查看详情

技术分享|无人机集群——分布式控制算法

上期我们讲解了四种集群分布式控制算法之后,那么,接下来向大家介绍一下分布式控制中的常用算法吧。但是为了帮助大家更好的理解raft算法,先从一个简单的例子入手吧!假如某班(组成人员:follower... 查看详情

px4官方动态|开源无人机生态

大多数非DJI无人机都有一个令人惊讶的共同特征:它们使用开源技术。利用开源技术的无人机品牌占所有商用无人机的16%。更重要的是,它们占非大疆无人机的60%。这是根据商用无人机研究组织DroneAnalyst关于开源无人机... 查看详情

技术分享|浅谈——四种集群分布式控制算法

众所周知,无人机已经应用于各大领域,包括边防检查、森林防火、电力巡检、新闻采集以及商业宣传等方面。但是,随着无人机用途的不断增加,相应对于无人机各方面也有了更高的要求,对于多无人机的... 查看详情

机器人开发相关博客论坛等

...ryPi,树莓派,ROS机器人系统,Turtlebot,UAV无人机,ROS入门教程-创客智造:添加链接描述(9)人工智能和机器人粉,从事机器人工程专业本科教学和科研工作,研究方向包括多机器人仿真技术,控... 查看详情

阿布扎比技术创新研究所安全系统研究中心宣布将安全px4堆栈整合至risc-v无人机

...中心今天宣布推出其首款基于精简指令集计算机(RISC-V)的无人机飞行控制器,这款飞行控制器使用了该中心自己的安全PX4堆栈。这次飞行成功地对RISC-V+安全PX4堆栈系统进行了测试和验证,标志着SSRC在使基于RISC-V的无人... 查看详情

无人机--飞控科普

无人机是无人驾驶飞机的简称(UnmannedAerialVehicle,UAV),是利用无线电遥控设备和自备的程序控制装置的不载人飞机,包括无人直升机、固定翼机、多旋翼飞行器、无人飞艇、无人伞翼机。广义地看也包括临近空间飞行器(20-100... 查看详情

技术分享|详解ros2的安装步骤

在上一期呢,我们把ROS1与ROS2做了对比,承优淘劣的ROS2系统在应用和性能上只会比ROS1更加强大,因此ROS的全面迭代也是不可避免的。本期就尝试一下安装ROS2吧。1.ROS2安装1)安装环境本文基于Ubuntu20.04.3安装ROS2Foxy2... 查看详情

ros学习笔记之——px4生态系统

...,部分资料来源于购买的阿木实验室的课程《PX4智能无人机二次开发》与《Prometheus自主无人机二次开发课程》目录 PX4的生态Dronecode基金会PX4飞控硬件-PixhawkQGCMAVLink通信协议 ​ Mavros功能包无人机中三种消息传递的机制参考 查看详情

技术分享|4点带你快速理解ros2通信

在一个庞大的机器人系统中,通信是基础,是重中之重。如果连各个模板之间的通信概念都含糊不清,不能融会贯通。那么,对机器人的开发也会捉襟见肘。本文将会介绍ROS2中的通信基础概念和模型,包括节... 查看详情