安装ubuntu双系统+在ubuntu18.0.4下配置px4环境

安装ubuntu双系统+在ubuntu18.0.4下配置px4环境

我是一个刚开始接触px4的小白,因为社团的原因,需要学习px4来做飞控模拟。
在配置px4环境的过程中遇到过许多各种各样的波折,现在把我搭配px4环境的过程总结下来,希望能对刚开始学习px4而对如何搭配px4环境束手无策的人提供一点帮助。

一 Ubuntu系统的安装

  • 设备信息
    本人使用的电脑型号为联想拯救者y7000,单硬盘,系统为win10家庭版

  • 关于虚拟机和双系统

本人曾经试过在虚拟机上配置px4,多次尝试之后都以失败告终,这里建议直接在电脑上安装ubuntu双系统,虽然这对一个以前没有安装ubuntu系统经验的小白来说是很困难且危险的事(我就试过把原来的win10系统搞崩了~~),但我依旧推荐你去试试,这对提高对计算机的了解很有帮助,而且只要在事前做好资料的准备,按照前人的步子走,搞崩电脑的情况也没那么容易发生(没错,我会把电脑搞崩很大原因是自己的莽和作死)。另外,直接在电脑上运行ubuntu系统也比在虚拟机上要高效的多,虚拟机终究只是一个过渡,通过虚拟机学习一些linux操作系统的指令就ok了。

  • 启动盘的制作
    本文将通过u盘启动的方式安装ubuntu系统。

    (1)首先是关于镜像文件的选择:

    阿木社区有提供配好px4环境的ubuntu系统资源,只需要按照其提供的教程就可以轻松地在电脑上安装一个配置好px4环境的ubuntu系统,这里附上链接:
    阿木社区ubuntu镜像资源
    可惜的是,这个资源目前还存在很多漏洞,有些非洲人(比如我)用这个资源制作的启动盘无法 被电脑检测,所以无奈之下只能自己去摸索。如果你制作的启动盘可以被检测,那么就不用再往下看了, 跟着阿木社区附带的教程走就行,跟我一样非的就需要继续往下看了。

    非洲人专用ubuntu18.0.4资源:在官网下载即可,ubuntu18.0.4

    (2)制作启动盘
    准备好一个至少有5G内存的U盘,我们用rufus制作启动盘。
    rufus下载:https://pan.baidu.com/s/1oM06MfEiPp0Y2nE3x_I44A ,提取玛:1111
    打开rufus,选择你的u盘和镜像文件,
    安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第1张图片
    点击开始,选择以ISO写入,
    安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第2张图片点击OK即可。

注:制作完成后,在“我的电脑”右键单击你的U盘,点击硬件,查看一下你的u盘的第一个磁盘驱动器的名称,这在之后会有用,我的是Kingston DataTraveler 3.0 USB Device.
(因为是用同一款软件制作启动盘,所以名称应该是一样的)

安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第3张图片

(3)分配空闲分区
在网上下载diskgenius,打开genius之后,右键单击你的win10系统的最后一个磁盘,点击调整分区大小,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第4张图片安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第5张图片分配出足够的空间给ubuntu系统,我这里分配了98G,最好分配100G左右。

(4)设置U盘启动
重启电脑,在进入系统之前快速按下F2,进入bios。然后找到secure Boot,设置为Disabled;找到USB Boot,设置为Enabled;找到Fast Boot,设置为Disabled
由于不同型号的电脑的bios存在着差异,这里我不会详细说明,不过很多的选项都是大同小异的,在网上查找一下相关的博文,最后可以检测到启动盘即可。

(5)安装
重启电脑,在进入电脑之前迅速按下F12,进入Boot Manager(不同的电脑进入Boot manager的按键有所不同,请自行查找),这时如果你前面设置的没问题,那么你会看到一个选项
Linpus lite(你的U盘的第一个磁盘驱动器的名称),我的是Linpus lite(Kingston DataTraveler 3.0 USB Device)。移动到该选项并按下ENTER,进入u盘安装界面。
选择install ubuntu,进入ubuntu安装界面,选择好中文的键盘方式和语言,然后到选择安装方式,推荐选择最小安装;接下来是最重要的,选择安装类型,这里我们选其他选项

安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第6张图片
选择中文的安装界面,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第7张图片选择中文的键盘布局,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第8张图片可以不连wifi,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第9张图片
建议选择最小安装,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第10张图片
接下来是最重要的,安装类型选择其他选项,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第11张图片
然后就会进入分区的界面,因为我安装的时候忘记拍下来了,所以我这里鼠标点击的空闲分区的大小为0,而你在这里应该会看到你刚刚分配的空闲区间,注意千万不要碰这个空闲区间以外的其他区间,那些都是win10系统的磁盘区间,乱搞的话会把你原来的win10系统搞坏。可以通过区间的大小来确认哪个是你刚刚分配的空闲区间
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第12张图片
接下来是分配空闲区间,选中你的空闲区间,再点击左下角的“+”号,
这样分配:

a.引导区:
大小 200M
分区类型 逻辑分区
分区位置 空间起始位置
用于 EFI引导分区
挂载点:/boot

b.交换分区
大小 与计算机物理内存相同,我是8G
分区类型 逻辑分区
分区位置 空间起始位置
用于 交换分区
挂载点: 无

c.根目录分区
大小 空闲空间的剩余大小
分区类型 逻辑分区
分区位置 空间起始位置
用于 Ext4日志文件系统
挂载点: /
(tip:不小心分错了的话,可点击右下角的还原,重新分配)

分好之后,应该和上面那幅图看起来一样的,然后点击你刚刚创建的efi引导分区,看清楚它的设备名,把下面的“安装启动引导器的设备”换成这个分区的设备名,随后点击现在安装。

安装成功后,开机时会进入系统选择界面,第一个就是ubuntu系统。

二 px4环境搭建
成功安装ubuntu后,现在开始搭建px4环境,尽量选在网最好的时候进行。

  • 代码来自px4官网:https://dev.px4.io/master/en/setup/dev_env_linux_ubuntu.html

1.首先设置软件源
设置好合适的软件源可以提高之后的下载速度。
启动ubuntu系统,打开软件更新器,挑选软件源,
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第13张图片
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第14张图片我一般选择阿里云的软件源。

2.安装gazebo模拟器和ros
通过按键:ctrl+Alt+T,打开终端。
运行:

wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh

下载px4官网提供的ros/gazebo安装脚本。

这时你通常会看到这个报错:
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第15张图片这是常见…的GitHub的raw.githubusercontent.com问题,
解决方法:
在终端输.入sudo vi /etc/hosts, 然后按下i,进入文本的编辑模式,(注意:这个模式下按上下左右键都会视作输入,特别烦人),把下面的这些站点都粘贴进去

52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
151.101.76.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com

按一下Enter换行,随后同时按下:shift + Alt + :,再输入wq,按下enter,保存并退出。

此时,再运行上面的代码,便可以正常下载了。

下载完后,输入:bash

bash ubuntu_sim_ros_melodic.sh,运行刚下载的脚本,下载和安装ros melodic版和gazebo。

等待下载完成。。。。。。
等待安装完成。。。。。。

四个小时终于好了。。。。。。

运行命令:

roscore

打开一个新的终端,输入:

rosrun gazebo_ros gazebo

如果成功运行,那就证明安装成功了,如果无法运行,那就要回头看一下,运行脚本的时候有什么错误发生。
这是我找到的错误:
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第16张图片脚本中的几行代码没有成功运行,这是我几次安装都遇到过的老error了,一般再把脚本运行一次就可以解决,下载过的东西不会i重新下载,所以很快就可以搞定。
再次运行上面的命令,出现

在这里插入图片描述
这里它提示我们命令无法运行,但通过安装某样东西就可以运行,大概率是我们在运行脚本的时候又有几条命令没有运行,你可以根据它的提示安装缺少的部分,不过我更推荐再运行一次脚本,因为一般我们需要的东西,只要脚本好好运行了就都会具备,脱离脚本的话很有可能会在解决了这个问题之后又出现新的麻烦。

第三次运行脚本后,再此输入命令,得到结果
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第17张图片
弹出gazebo模拟器
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第18张图片则证明ros/gazebo安装成功,你会在你主目录看到一个名为catkin_ws的文件夹,ros的文件都放在这个文件夹里。
这一步基本上重新运行一次脚本就能解决大部分问题,如果总是出问题,那就想办法找个信号好的wifi或者改一下软件更新器里的软件源,只要下载的没问题,安装应该也问题不大。

3.下载px4源码,运行安装脚本

运行命令

bash
 git clone https://github.com/PX4/Firmware.git --recursive

下载px4的源玛,等下需要运行的脚本也会一起下好。(一定找个网好的时候!!!)

这次的下载很快,然后运行命令

cd Firmware
bash
 bash ./Tools/setup/ubuntu.sh

转到存放px4源玛的文件夹,运行存放在其中的ubuntu.sh脚本。
然后就会根据脚本的命令下载需要的东西,有一个特别要注意的东西就是在下载
gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2的时候,这个是交叉编译器的压缩包,下载的时候经常会卡顿,如果卡的太久没反应,建议Ctrl+c,停止运行脚本之后,重新运行脚本。
在这里插入图片描述下载完成后,经常会出现这个错误
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第19张图片我一直没有解决这个问题,不过其实影响也不大,可以不用管。
脚本运行结束后,运行命令

sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

安装GCC,

运行命令

sudo apt-get install clang

安装Clang

现在,所有需要安装的东西都已安装完成,运行命令

cd Firmware
make px4_sitl jmavsim

如果能成功打开jmavsim模拟器
那么,恭喜你,px4的安装已基本成功
我们再试一下运行使用更加广泛的gazebo模拟器,运行命令

make px4_sitl gazebo

成功打开gazebo模拟器
安装ubuntu双系统+在ubuntu18.0.4下配置px4环境_第20张图片到此,px4环境的配置顺利完成

:关于gazebo模拟器的运行,我之前搭配完环境后,常遇到这样一个问题,
终端报错:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:

我之前一直不明白这个问题出现的原因,但这次我搭配好px4环境后运行gazebo模拟器时没有遇到这个问题,所以我感觉还是因为之前运行ubuntu.sh脚本的时候有几行没走成功导致的,这里附上我之前找到的解决方法的链接:https://blog.csdn.net/Sunchanghaosch/article/details/103616729,防止你遇到了这个问题。

这篇文章并不算是特别严谨的安装教程,更像是我在搭配px4的开发环境的过程的记录,我一开始想在虚拟机上搭,多次失败后,打算在实机系统上搭,然后就去研究怎么安装双系统,还不小心把windows系统搞崩了,好不容易安装好了ubuntu,下好了源玛,最后运行gazebo模拟器老是出错,直到最后找到了上面提到的某个大佬的博文才终于解决,当时看到gazebo模拟器弹出来时真的是激动的一批。。。。。后来发现自己再分区的时候给ubuntu系统分了太多空间,导致windows系统不够用,无奈之下,只能又把ubuntu给铲了,重装一遍,也因此有了这篇文章的诞生,但这次我感觉十分的轻车熟路,花了半天的时间再次安装好ubuntu并配置好了px4环境,感觉这是每个搞技术的人都被经历的过程,熬过去了就有提升了。
当然了,这篇文章是不可能涉及到所有你会遇到的问题,或者说我敢肯定,即使你用的电脑跟我是同一型号,也照着前文的步骤来走了,也还是会遇到很多前文没有提及的问题,需要自己去网上找出解决的方法
感谢那些帮助了我的博文的作者们,这里附上我参考过的文章:

参考1:https://www.cnblogs.com/sinferwu/p/12726833.html,
参考2:https://blog.csdn.net/Sunchanghaosch/article/details/103616729
参考3:https://blog.csdn.net/ly_222222/article/details/83591973

最后,希望我的文章能对你有所帮助,如果我写的内容有问题,欢迎在评论区指出。

你可能感兴趣的:(linux)