Ubuntu18.04搭配无人机仿真环境
ROS环境配置
我个人使用了代理环境进行下载。Linux没有代理的可以使用国内源。
- 清华大学源
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'
- 中科大源
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安装
更新库
- sudo apt-get update
sudo apt-get upgrade
开始安装
- sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
- wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
- sudo chmod a+x ./install_geographiclib_datasets.sh
- sudo bash ./install_geographiclib_datasets.sh
- 检查是否成功安装
启动一个PX4进程
rostopic list 查看相关Mavros话题,有就安装成功了
PX4源码下载和编译
下载源码,-b后面可以更换版本
- git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive
启动相关脚本以安装依赖项目
- 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直接安装