再补充一个百度网盘的资料包,有点大,里面是Ubuntu18.04+PX4环境的虚拟机,Clash也配置好了的,url也都导入了(忘记删除咯)。感兴趣的可以下载,使用的是Vmware虚拟机。提取码:cjlj
我上面分享这个虚拟机似乎有些小毛病,这里提供一个知友@Nice分享的修改过错误的版本(提取码:1234),密码应该是【空格 或者 /】:
其实,我之前其实也写过几篇关于PX4环境搭建的文章,但是写得比较散乱。但是其内容相比较于此文更加丰富些,因为此文追求的快速搭建需要采取一些非常手段,忽略了一些采用常规手段会遇到的问题。为此,如果想采用常规手段进行搭建,可以参考一下:
考虑了很久,还是准备在介绍具体搭建流程之前,简述一下PX4整个配置流程都有什么内容。如果我只给出一个具体搭建过程,大家一旦在搭建过程中遇到问题,很可能就会被搞得晕头转向的,然后又得去网上找其他方法,顺便吐槽几句,往复循环…希望通过我对整个配置流程的介绍,大家能够建立一个大致思路,这样也能够更加针对性的找出自己搭建的环境存在的问题,或者参考此文组合出适合自己的搭建流程。
正如此文标题所述“从零开始”,所以我这里是从刚刚安装好的Ubuntu18.04的角度出发,进行介绍的。PX4的环境配置过程在官网上面讲得很清楚,也提供了具体的安装流程。总的来说,我把他分割为四个子步骤:
上述这几个步骤都可以按照官方教程来,只不过因为某些原因,我们在国内下载源代码、下载依赖包时会非常慢,导致上述步骤会出现大量的问题。其安装的顺序其实无所谓,都影响不大,我上面提供是按照顺序仅供参考。
这里简单介绍一下,我们如何快速确定自己的各个环境是否都配置好了。这里关于PX4的测试内容是层层递推的,需要注意。当我们把所有安装流程都走完了,但是发现环境存在问题时,也可以使用下面的命令进行简单排除。
需要先切换到PX4固件存在的文件夹下,一般为PX4-Autopilot 或者 PX4_Firmware,此文介绍的方法中,为第二个。如果运行了下面的仿真环境,出现编译错误,即不能打开对应的界面,这说明PX4的依赖包没有安装好,建议重新运行依赖包的安装指令。
使用编写的Ros程序,与PX4进行通讯,控制jmavsim或gazebo仿真环境中的飞机运动啦。下面这篇文章中便简述了Offboard官方例程、使用速度控制or位置控制控制仿真环境中的小飞机运动(配置完上述PX4环境再看):
手动选择一下Ros的安装版本,以及是否需要自动换源(中科大源)。建议选择自动换源,除非你的系统已经手动换过。
建议直接把clash压缩包放桌面上,然后可以右键解压或者使用命令行解压,之后进入解压后的文件夹,终端输入【./cfw】即可打开clash for windows。
每次使用clash时,需要切换到中间这个“Mannual-手动”模式;不使用clash时需要手动切换为“Disabled”模式。一般设置完之后,需要重启一下电脑,然后clash才能生效。
务必要检查复制粘贴到终端的命令是否完整,不完整可能导致后续测试时编译报错。此外,如果开了clash后下载下面的依赖还是很慢,不妨先关掉皇室战争clashroyale升级。因为我们前面自动换成了国内的源,所以不用科学都很快。
将我提供的GeographicLib文件夹拷贝到指定区域。下图中的GIF中即为最终的效果,完成下文的拷贝操作后可到/usr/share/GeographicLib文件夹中查看。
前面的依赖包未安装完全,建议重新运行前面的步骤。当然皇室战争clashroyale升级,如果你的电脑配置(内存)不好或默认安装的Ubuntu系统皇室战争clashroyale升级。,这一步可能也会出错。该情况,允许该指令时电脑会中途卡死不动,可能等了好久之后发现命令行有报错。这主要是因为Ubuntu系统的swap分区太小了。我最近给一个小电脑配置PX4就遇到了该情况,因为Ubuntu默认安装分配的swap只有2G,而硬件内存也只有4G,编译时就卡死了。解决方案便是更改swap分区的大小,我当时将swap分区更改为了8G(硬件内存的两倍),之后就编译成功啦。参考的修改swap分区的方法如下(此文文末也记录了一下流程):
需要修改~/.bashrc文件,添加上述工程的路径。如果不进行这一步,后面运行一些指令会报错,这就跟声明全局变量一样。
使用apt或apt-get工具安装依赖包时,如果手动中断了这个过程,再次使用apt或apt-get工具安装依赖包时就会遇到类似的报错。我之前因为发现不开clash下载速度非常慢时,经常这样干。
sudo rm -rf xxx删除提示的路径文件,然后就可以了。一般需要连续删除2-3次,如下图:
sudo apt或者sudo apt-get,或者是一些python工具。而除此以外,还有一个工具叫做 aptitude,用它安装依赖包时,它能够自己处理一些依赖关系,功能更加强大。当使用apt或apt-get无法安装功能包时,可以使用aptitude试一试。
。我当时啥也不懂,瞎搞,然后就把一些系统依赖项统统删除了,之后系统就崩了… 所以,使用aptitude 工具需要警惕依赖项的选择。新装的系统无所谓,但是老Ubuntu慎重。最好还是别用他clash of kings 变态服,hhh。
sudo apt-get update等类似的命令时,可以会发现有下面的报错。他提示没有PUBKEY,并且后面跟了一大串的数字字符组合。皇室战争clashroyale升级clash of kings 变态服