Ubuntu18.04搭配无人机仿真环境(ROS,PX4,gazebo,Mavros,QGC安装教程)

Ubuntu18.04搭配无人机仿真环境

ROS环境配置

我个人使用了代理环境进行下载。Linux没有代理的可以使用国内源。

  1. 清华大学源

sudo sh -c '. /etc/lsb-release && echo "deb

http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME

main" > /etc/apt/sources.list.d/ros-latest.list'

  1. 中科大源

sudo sh -c '. /etc/lsb-release && echo "deb

http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" >

/etc/apt/sources.list.d/ros-latest.list'

版本

我个人使用的是linux18.04的版本,对应的ROS版本为Medolic。其他对应的版本如下。

系统版本 ROS版本
14.04 Indigo
16.04 kinetic
18.04 medolic
20.04 noetic
22.04 humble

安装

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80'

--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

参考官网

sudo apt install ros-melodic-desktop-full

*如果安装过程中有问题可以参考我的个人文章。参考文章

gazebo安装

我们使用gazebo9不要使用11,11版本太新会出现配对问题。

(1)

sudo apt-get install gazebo9

(2) Gazebo本身是独立于ROS的,因此还需要安装ROS的Gazebo插件

  • sudo apt install ros-melodic-gazebo9-*
  • sudo apt install ros-melodic-gazebo-*

(3) 验证

  • roscore打开ros核心
  • rosrun gazebo_ros gazebo 如果gazebo成功打开就参观,如果有错误解决办法参考他人博客。推荐博客

Mavrosa安装

更新库

  1. sudo apt-get update
    sudo apt-get upgrade

开始安装

  1. 检查是否成功安装
    启动一个PX4进程
    rostopic list 查看相关Mavros话题,有就安装成功了

PX4源码下载和编译

下载源码,-b后面可以更换版本

启动相关脚本以安装依赖项目

  • bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

切换到对应下载目录里面去

  • cd PX4-Autopilot

编译

  • make px4_sitl_default gazebo

设置环境变量

  • gedit ~/.bashrc
    这里注意,每个人的安装文件夹不一样,所以位置也要注意。总之把你对应文件夹的路径要正确
bash 复制代码
 source ~/Firmware/PX4-Autopilot/Tools/setup_gazebo.bash
 ~/Firmware/PX4-Autopilot/
 ~/Firmware/PX4-Autopilot/build/px4_sitl_default export
ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/PX4-Autopilot export
ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/PX4-Autopilot/Tools/sitl_gazebo

完成保存之后

  • source ~/.bashrc

运行仿真

  • cd ~/ PX4-Autopilot
  • roslaunch px4 mavros_posix_sitl.launch

如果使用下面命令。connected为True的话说明通信有效。即Mavros与TSL通信成功。

  • rostopic echo /mavros/state

地面站安装

关于地面站可以参考我个人的两篇文章,分别是APP安装和源码安装。

源码安葬需要自己编译,使用Qt.
参考1APP直接安装

参考2源码安装

相关推荐
xx.ii1 小时前
4.Linux 应用程序的安装和管理
linux·服务器·网络
奋斗的蛋黄2 小时前
解析分区、挂载与块设备:Linux 存储管理核心命令详解
linux·服务器·网络
墨迹的陌离2 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
Ray Song2 小时前
Linux DNS解析1--终端通过网关或者路由器进行域名解析的原理
linux·运维·服务器·dns解析
Zero .2 小时前
macbook安装homebrew
linux·运维·服务器
NEXU52 小时前
Linux:线程同步与线程互斥
linux
FJW0208143 小时前
负载均衡集群HAproxy
linux·服务器·云原生·负载均衡
云道轩3 小时前
使用Docker在Rocky Linux 9.5上在线部署LangFlow
linux·人工智能·docker·容器·langflow
孙克旭_3 小时前
day062-监控告警方式与Grafana优雅展示
linux·运维·zabbix·grafana
梅孔立4 小时前
CentOS 7 安装 dnsmasq 解决nginx无法指定dns的问题
linux·nginx·centos