week45 无人机px4 Firmware仿真环境搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了week45 无人机px4 Firmware仿真环境搭建相关的知识,希望对你有一定的参考价值。
参考技术A 我们来看下Ubuntu各版本对应的gazebo关系,安装时要注意各版本的对应关系如下:请注意ubuntu18对应melodic,ubuntu16对应kinetic
Ubuntu 14.04 Trusty Tahr - ROS Indigo Igloo - Gazebo 2.X 2014-2019
Ubuntu 16.04 Xenial Xerus - ROS Kinetic Kame - Gazebo 7.X 2016-2021
Ubuntu 18.04 Bionic Beaver - ROS Melodic Morenia - Gazebo 9.X 2018-2023
我采用的是Ubuntu18.04 安装ROS melodic
要先换源,包括source.list和source.list.d文件夹下面的ros-latest.list(没有就创建)
实测发现,Ubuntu的源用清华的,ROS源用中科大的,综合效果最好
换完源以后安装ROS,直接装的是desktop-full,这样自动装了gazebo9
ROS安装完毕,安装mavros,直接用二进制安装,最方便
mavros负责master和px4之间的通信,接下来安装编译px4,这是最慢也是最容易出错的一步,一定要确保网络良好,第一步一般要花一个多小时、后面稍微快一点
这时px4就安装好了,这个文件夹叫Firmware,但实际上编译以后会生成一个可执行文件叫px4,所以都是roslaunch px4 什么什么
接下来,修改环境变量
环境变量修改好了,source ~/.bashrc以后通过gazebo看看可不可以启动
第一行会弹出此时选择的px4的版本,建议用1.8.0,在前一个虚拟机上试过1.9.0但是跑不起来
如果成功出现gazebo,里面看上去是荒芜的一望无垠的世界停着一架小飞机,那么px4的仿真环境就安装完成了,可以关掉,然后roslaunch启动
在rostopic list里看到有个/mavros/state 用echo查看 connect为true 则mavros和px4通信成功
若添加权限以后仍报错,则考虑修改Cmakelist添加include包含库
打开CMakeList文件看看include_directories列表
include_directories(
include
../riki_msgs
$catkin_INCLUDE_DIRS
)
将riki_base.h中的分号位置做如下修改
这个是别人的报错,他的git网络配置出现问题,显示git拒绝连接
使用git config --global设置用户名和邮件
使用-l查看配置 --edit编辑配置
PX4APM无人机仿真连接QGC地面站记录
文章目录
本文仅记录仿真指令,搭建安装不在此…
一. PX4
首先给飞控源码和子目录权限
chmod -R 777 PX4-Autopilot
1. gazebo 仿真
PX4 中 使用 gazebo 仿真,一般对应机型的指令如下:
Quadrotor make px4_sitl gazebo
Quadrotor with Optical Flow make px4_sitl gazebo_iris_opt_flow
3DR Solo (Quadrotor) make px4_sitl gazebo_solo
Typhoon H480 (Hexrotor) (supports video streaming) make px4_sitl gazebo_typhoon_h480
Standard Plane make px4_sitl gazebo_plane
Standard Plane (with catapult launch) make px4_sitl gazebo_plane_catapult
Standard VTOL make px4_sitl gazebo_standard_vtol
Tailsitter VTOL make px4_sitl gazebo_tailsitter
Ackerman vehicle (UGV/Rover) make px4_sitl gazebo_rover
HippoCampus TUHH (UUV: Unmanned Underwater Vehicle) make px4_sitl gazebo_uuv_hippocampus
Boat (USV: Unmanned Surface Vehicle) make px4_sitl gazebo_boat
Cloudship (Airship) make px4_sitl gazebo_cloudship
用最通用的旋翼测试:
make px4_sitl gazebo
执行后,将会直接弹出如下:
第一次可能会卡主,不行的话,重新执行一遍就好
2. 连接地面站
与APM连接相似,命令略有不同
① Ubuntu 平台
ubuntu 中运行QGC地面站软件,勾选了udp会自动连接的:
② Windows、Android 手机等平台(暂时没测试过不在同一网段的设备)
首先地面站也需要勾选udp的自动连接
然后创建Windows的 UDP 连接:(也可Android 手机等)
mavlink start -t 192.168.85.248 -u 14444
192.168.85.248 为Windows IP , 14444 为端口号,记得不能14550,因为会重复
QGC 连接后如下,截个双屏的:
官方参考的 http://docs.px4.io/master/zh/simulation/gazebo.html
二、APM 仿真
1. 执行仿真指令
在APM源码,ArduCopter 下:
../Tools/autotest/sim_vehicle.py -f X --console --map
#加入-c是重新全部编译
执行后:
2. 连接地面站
① Ubuntu 平台
ubuntu 中运行QGC地面站软件,勾选了udp会自动连接的:
② Windows、Android 手机等平台(暂时没测试过不在同一网段的设备)
首先地面站也需要勾选udp的自动连接
然后创建 UDP 连接:(IP 为Windows、手机下的 IP 地址,端口号默认14550)
#output add 主机IP地址:UDP端口号
output add 192.168.85.148:14550
Windows下自动连接:
可以添加多个udp,同时连接多个地面站。
● 连接gazebo
记得都安装好后,
① 在APM源码中执行:
../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map
../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map
② 另开终端启动 gazebo:
gazebo --verbose worlds/iris_arducopter_runway.world
之后,QGC 会自动连接…
可以参考这个:
ArduPilot+mavros+gazebo+QGC 联合仿真初体验
以上是关于week45 无人机px4 Firmware仿真环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
PX4APM无人机仿真连接QGC地面站记录(udp连接更改home点等)