1.前言

作者只是一名双非本科院校飞控专业的大二学生,想以此记录一下自学飞控的经历,也希望能给刚刚入门的同学一些微薄的帮助。

这个环境的安装可以说是西天取经一般,但安装完后发现如果有领路的人,其实花费不了太长的时间,所以我希望我这篇文章能给刚刚入门的小白提供一些帮助,有问题也可留言进行讨论,在下才疏学浅,以下内容大多为引用,我只是帮大家整理一些资料,并分享我走过的一些坑。

因为网上的文章太多,而一些方法因为官网资料的迭代已经不适用了,故笔者这篇文章就是在笔者尝试了至少十篇文章中选出的可行的方法。

2.安装虚拟机VMware

链接:https://pan.baidu.com/s/1-d_OcKH41HhtPn6l83AXrg

提取码:f183

--来自百度网盘超级会员V1的分享

此链接提供VMware的安装包

按照操作提示进行安装即可。安装完成后点击许可证,请百度自行搜索获取激活码。

  1. Ubuntu 18.04的镜像文件下载及其中文设置

1.1 iso镜像安装

虚拟机文件:

链接:https://pan.baidu.com/s/1UJVoeTcLG9hBq9Y099Ye1w

提取码:0b6g

--来自百度网盘超级会员V1的分享

以下图片均引用于(39条消息) win10/Ubuntu vmware使用Ubuntu18.04虚拟机_win10安装ubuntu18.04虚拟机_超维空间科技的博客-CSDN博客

第一步:创建新的虚拟机

第二步:

第三步:选择刚刚从百度网盘中下载的.iso文件

第四步:设置虚拟机用户名和密码

第五步:

第六步:设置磁盘大小,看个人需求(我设置的是50GB,因为如果后期出现磁盘空间不足的情况会很麻烦,你会不知道该删哪些文件)

第七步:操作完等待安装即可

大神的文章里还有教其他设置,再此我不在过多讲解。

1.2Ubuntu18.04中文设置

如果想换成中文的同学可以参考这篇文章(39条消息) VMware安装Ubuntu18.04图文教程_虚拟机ubuntu18.04安装教程_以梦为马&不负韶华的博客-CSDN博客

换源部分不用参考,笔者发现了更为便捷的方式,在后文会进行讲解。

  1. ROS安装

Ros官方步骤及其复杂,在此向大家推荐一位顶级大神 鱼香ROS 直接百度即可。

小鱼的一键安装系列 | 鱼香ROS (fishros.org.cn) 链接放在此处。

即在终端输入:(终端打开方式CTRL + ALT+T)

wget http://fishros.com/install -O fishros && . fishros

此图片引用于:(39条消息) ros安装(一键最简安装,吹爆鱼香ROS,请叫我鱼吹)-CSDN博客 按照其步骤操作即可(注意在安装的时候不可科学上网)

其中18.04的Ubuntu版本安装的是melodic的ROS

在rosdep还是ROS环境的安装中,记得选桌面版,不要选小的那个

以下大部分内容引用于(39条消息) Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建_Lqcx-spec的博客-CSDN博客 感兴趣可以去参考此原文,但一些步骤笔者有更为简便的方式,故如果只是环境安装请继续往下看。

  1. 依赖安装(必须执行)

观前提示:在终端执行指令时建议执行完这里的一个大项就开一个新的窗口,不然可能后期路径上可能会发生一些不可预知的错误。

在终端下执行:

1
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

2 pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml

3 pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse

如果出现以下报错:

Collecting pandas
Using cached https://files.pythonhosted.org/packages/64/f1/8fdbd74edfc31625d597717be8c155c6226fc72a7c954c52583ab81a8614/pandas-1.1.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-qtvsjq8t/pandas/setup.py", line 349
f"{extension}-source file '{sourcefile}' not found.\n"
^
SyntaxError: invalid syntax

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qtvsjq8t/pandas/

即输入以下指令:

pip install --upgrade setuptools
#若未报错不需要输入这两行命令
python -m pip install --upgrade pip

如果还出现一些问题,直接复制系统提示去百度即可,不用担心,都是一个命令便可以解决的,再次便不再过多的赘述了。

  1. Gazebo安装

其实在鱼香ROS大神的一键安装中,我们便已经完成了Gazebo的安装,但所有事情都不是完美的,大神上安装的Gazebo或许和PX4不太适配,故后续会出现不少的坑,所以在这里我们把之前安装的Gazebo卸载,重新安装。

官网方案:

建议gazebo版本在9.13以上

Gazebo安装见官网:

http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install

注意几点:

1.选用Alternative installation: step-by-step的安装方式

2.安装Gazebo9.13或者以上

为了执行方便,以下把执行的步骤一一列出:

1.依次执行

sudo apt-get remove gazebo*
sudo apt-get remove libgazebo*
sudo apt-get remove ros-melodic-gazebo* #kinetic noetic对应修改

2.设置计算机以接受来自package.osrfoundation.org的软件

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stablesudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

cat /etc/apt/sources.list.d/gazebo-stable.list

#如果出现deb http://packages.osrfoundation.org/gazebo/ubuntu-stable#如果出现deb http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial main表示没问题

3.设置密钥

wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update

4.安装gazebo9.1指令

sudo apt-get install gazebo9=9.1*

安装之后终端输入 gazebo 若打开Gazebo说明安装成功

此处笔者刚开始打开gazebo时系统报错:VMware: vmw_ioctl_command error Invalid argument,大概应该是虚拟机参数不合法,在翻阅一些网络资料时也找到了线索:已知报错的原因大概是不合法的变量导致的,故合理推测应该是启动gazebo的时候加载系统的某个环境变量的时候虚拟机无法完美识别导致的,所以追根溯源,我们找到了修复方案:设置环境变量

依次执行:

export SVGA_VGPU10=0

echo "export SVGA_VGPU10=0" >> ~/.bashrc

执行完在输入 gazebo 测试即可

5.Gazebo本身是独立于ROS的,因此还需要安装ROS的Gazebo插件

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

测试

roscore
rosrun gazebo_ros gazebo

若能打开Gazebo说明Gazebo和ROS间的插件也安装成功。

  1. MAVROS安装

依次执行:

sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras # for ros-kinetic

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras # for ros-melodic

wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh

sudo chmod a+x ./install_geographiclib_datasets.sh

sudo ./install_geographiclib_datasets.sh #这步需要装一段时间,请耐心等待PX4配置

最后的sudo ./install_geographiclib_datasets.sh 这步需要装一段时间,请耐心等待

  1. PX4配置

此处的方法采用的是(39条消息) 不必通宵挂机,飞速克隆PX4源码的方法_px4克隆不了_Bingobinlw的博客-CSDN博客链接中的方法,极为便捷,笔者此处只对其需要注意之处进行一些讲解。

6.1git安装

没安装git的先安装git:

sudo apt-get install git

6.2PX4配置

  1. 直接clone如下仓库

git clone https://gitee.com/bingobinlw/Firmware.git

  1. 然后更新子模块

这里非常重要,因为是国外的网站,所以很多连接会失败,一定要多试几次!笔者也大概试了十几次才成功。

一定要在正确的路径下执行,一般在安装的PX4文件夹进入终端。

git submodule update --init --recursive

反复执行!!!

  1. 如果出错的话,需要删除空白文件夹,再次更新子模块

make distcleangit
submodule update --init --recursive

  1. 去下载的PX4文件夹右上角选择“显示所有文件”,找到***.gitmodules***文件,直接复制粘贴以下内容。(替换掉原本的内容)

[submodule "mavlink/include/mavlink/v2.0"]
path = mavlink/include/mavlink/v2.0
url = https://gitee.com/bingobinlw/c_library_v2.git
branch = master
[submodule "src/drivers/uavcan/libuavcan"]
path = src/drivers/uavcan/libuavcan
url = https://gitee.com/bingobinlw/uavcan.git
branch = px4
[submodule "Tools/jMAVSim"]
path = Tools/jMAVSim
url = https://gitee.com/bingobinlw/jMAVSim.git
branch = master
[submodule "Tools/sitl_gazebo"]
path = Tools/sitl_gazebo
url = https://gitee.com/bingobinlw/sitl_gazebo.git
branch = master
[submodule "src/lib/matrix"]
path = src/lib/matrix
url = https://gitee.com/bingobinlw/Matrix.git
branch = master
[submodule "src/lib/ecl"]
path = src/lib/ecl
url = https://gitee.com/bingobinlw/ecl.git
branch = master
[submodule "boards/atlflight/cmake_hexagon"]
path = boards/atlflight/cmake_hexagon
url = https://gitee.com/bingobinlw/cmake_hexagon.git
branch = px4
[submodule "src/drivers/gps/devices"]
path = src/drivers/gps/devices
url = https://gitee.com/bingobinlw/GpsDrivers.git
branch = master
[submodule "src/modules/micrortps_bridge/micro-CDR"]
path = src/modules/micrortps_bridge/micro-CDR
url = https://gitee.com/bingobinlw/micro-CDR.git
branch = px4
[submodule "platforms/nuttx/NuttX/nuttx"]
path = platforms/nuttx/NuttX/nuttx
url = https://gitee.com/bingobinlw/NuttX.git
branch = px4_firmware_nuttx-8.2
[submodule "platforms/nuttx/NuttX/apps"]
path = platforms/nuttx/NuttX/apps
url = https://gitee.com/bingobinlw/NuttX-apps.git
branch = px4_firmware_nuttx-8.2
[submodule "cmake/configs/uavcan_board_ident"]
path = cmake/configs/uavcan_board_ident
url = https://gitee.com/bingobinlw/uavcan_board_ident.git
branch = master
[submodule "platforms/qurt/dspal"]
path = platforms/qurt/dspal
url = https://gitee.com/bingobinlw/dspal.git

5.打开新的终端,安装必要的python依赖:

cd ~/PX4_Firmware
bash ./Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools

编译

make px4_sitl_default gazebo

6.打开修改 ~/.bashrc

gedit ~/.bashrc

在其中最下方复制粘贴:

source ~/catkin_ws/devel/setup.bash
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo

PS:其中PX4_Firmware注意改成你自己的文件路径,比如我的:

如图改成了Firmware

然后执行:

source ~/.bashrc

接下来在PX4_Firmware文件夹下打开终端,执行:

roslaunch px4 mavros_posix_sitl.launch
#连接px4与mavros

再运行

rostopic echo /mavros/state

若connected: True,则说明MAVROS与SITL通信成功。如果是false,一般是因为.bashrc里的路径写的不对,请仔细检查。

  1. QGC安装

用虚拟机中的浏览器打开:https://docs.qgroundcontrol.com/en/getting_started/download_and_install.html

找到Ubuntu Linux 版本,按照指示进行安装。

  1. 在首次安装 QGroundControl 之前,逐一输入:

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y

  1. 重启虚拟机

  1. 点击官网的链接进行安装https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage

  1. 赋予下载的程序权限,不然无法打开

chmod +x ./QGroundControl.AppImage

此时QGC即可双击打开,大功告成~

笔者在安装完后有一些感悟,大家如果感兴趣便当废话看看吧。当我们在面对一个完全陌生的东西时,网上有非常多的大神和非常多有用的帖子,但大家一定不要丧失了独立思考的能力,比如说在执行时遇到了问题只想着去复制粘贴别人的解决方法,而不愿意多看几眼自己错误的原因,我的建议是如果遇到不如多花点时间去想想这里会什么会报这样的错误,我相信这样一番思索下来,你会收益匪浅的~

在此感谢我的舍友和我的指导老师,在我前进路上给了我极大的帮助。

Ubuntu18.04基于ROS和PX4的仿真平台配置相关推荐

  1. 基于ROS的PX4+Gazebo仿真——PX4一键起飞及飞行控制

    一键起飞 参考及引用 1. CSDN博主「战争果子」的原创文章,遵循CC 4.0 BY-SA版权协议. 原文:https://blog.csdn.net/EnthusiasmZing/article/ ...

  2. Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建(XTDrone的)

    摘自:https://www.ngui.cc/51cto/show-23557.html Ubuntu18.04下基于ROS和PX4的无人机仿真平台的基础配置搭建 编程学习 · 2020/7/12 1 ...

  3. Ubuntu18.04安装ROS Melodic+turtlebot3仿真配置

    先说一下基本情况,因为本科毕业设计,需要用到Ubuntu,ROS,还有Turtlebot3,所以自己研究了一下.在安装ROS和使用Turtlebot3的过程中遇到了很多问题,但幸好最终都解决了.所以总 ...

  4. ubuntu18.04系统ros melodic 安装orbslam2,Astra相机的ROS环境

    ubuntu18.04 安装orbslam2,rosbag,Astra相机的ROS环境  ubuntu20.04系统 ros noetic下安裝orbslam2 打开下面链接: CSDNhttps:/ ...

  5. Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)

    Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update) 一.ROS介绍 机器人操作系统(Robot Operating System ...

  6. Ubuntu18.04安装ROS最后的rosdep update不成功解决方案(亲测可行)

    Ubuntu18.04安装ROS最后的rosdep update不成功解决方案(亲测可行) 问题描述 很多人在安装ROS时会卡在最后一步rosdep update上面,虽然这一步不成功并不影响小海龟的 ...

  7. ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式

    ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式) ubuntu16.04基于eclipse搭建px4编译环境+Jlink调式 一.工具获取 1.eclipse 2.jlin ...

  8. Ubuntu的快乐学习1——Ubuntu18.04的ROS平台搭建

    Ubuntu的快乐学习1--Ubuntu18.04的ROS平台搭建 学习前言 安装步骤 一.修改中科大源 1.备份原来的源 2.编辑现在的源 二.修改软件与更新 三.ROS软件源设置 1.设置sour ...

  9. ROS系列——Ubuntu18.04下ros Melodic安装mavros过程中遇到问题及解决-定期更新版

    ROS系列--Ubuntu18.04下ros Melodic安装mavros过程中遇到问题及解决-定期更新版 问题 问题一:运行 wstool update -t src -j8 时,出错如下: 问题 ...

最新文章

  1. CentOS系统Nginx配置免费https证书
  2. 解决ecilpse插件安装速度变得很慢
  3. Linux操作系统知识
  4. Facebook揭秘其应用测试平台,并开源核心技术
  5. eclipse和jdk的版本问题,比如printf()出错
  6. 前端学习(1352)模板语法
  7. 关于用display:table让元素居中的小结
  8. 移动云亮相 2021 IDC 年度盛典 共话变革与赋能
  9. 7-133 谷歌的招聘 (20 分)
  10. Spring Boot 项目工程模板
  11. python 小知识总结汇整
  12. 模式识别的发展及应用
  13. 定理在数学中的简写形式_初中数学常用的定理大全
  14. MSP430 BSL 下载
  15. 有哪些好的编程习惯从一开始就值得坚持?
  16. 2021最新分享阿里P6面经及心得
  17. bcdedit添加linux引导,强大的BCDEdit工具-启动项等相关问题-设置默认开机启动项
  18. PowerBuilder学习笔记(2)PB与SQL语言
  19. 海蜘蛛路由 U 盘安装方法
  20. 2017百度之星程序设计大赛-资格赛

热门文章

  1. 锐龙R7PRO 4750G、锐龙R5 PRO 4650G和 锐龙R3 PRO4350G怎么样 哪个好
  2. win10 enterprise
  3. c语言逻辑运算符两侧运算对象,逻辑运算符两侧运算对象的数据类型是什么?...
  4. Selenium操作cookie绕过验证码登陆实战
  5. 一个能启动电脑的U盘
  6. 20221126给Chrome浏览器安装扩展程序——猫抓
  7. 不用再找懒人包了 | Windows安装苹果系统(dmg)原版
  8. ubuntu中无法安装vim
  9. 复购率/回购率/新购人数
  10. Python每日一练-----Excel表序号