ubuntu系统20.04,虚拟机 双系统都可以。装一个料字(ke xue)上网工具。
1/先安装ros(2004系统装noetic,1804装melodic)用如下代码,如果有ros则跳过
终端输入如下代码 指令转自鱼香ros。
wget http://fishros.com/install -O fishros && bash fishros
然后根据终端提示先选择一键安装ros->更换系统源继续安装->安装桌面版本。
完成后再次运行上面指令,选择rosdep更新,按提示完成。
2.安装PX4源码
https://blog.csdn.net/HuangChen666/article/details/128754106
参照这篇博客,先打开料字上网,没有的可以终端运行第一步的指令,选择安装料字上网的工具。然后打开终端输入下面指令
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
这里面可能会有些文件克隆失败,先不管,结束后下一步输入如下指令。
cd PX4-Autopilot/
git submodule update --init --recursive
然后等待结束,再次输入以下指令
git submodule update --init --recursive
然后输入
cd ..
然后输入
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
完成后关闭终端,重新打开一个终端。
输入如下指令
make px4_sitl_default gazebo
如果出现下图的报错
图中我们可以看出
Cannot find source file: heatshrink/heatshrink_decoder.c
说明我们前面git clone出现错误,这时我们手动去github下载然后导入我们源码中。
打开文件管理器 进入PX4-Autopilot文件夹 然后ctrl+f 搜索 heatshrink(也就是报错找不到的目录)
可以看到文件夹位于src/lib处,然后进入 网页打开https://github.com/PX4/PX4-Autopilot
依次点击网页源码中的src/lib/heatshrink会看见如下文件夹,进入第一个带@的链接文件夹
进入后会看见如下图所示界面,然后点击右上角code下面的下三角 选择最后一个Download ZIP,等待下载完成
解压后得到如下文件
同样的 选中这些文件进入PX4-Autopilot/src/lib/heatshrink/heatshrink中
把选中的文件粘贴进去即可。
然后缺少的这个库就完成了补装。
然后进入文件夹PX4-Autopilot 删除文件夹中的build文件夹,直接移动到回收站。!!很重要。
开启终端 输入cd PX4-Autopilot
再次运行
make px4_sitl_default gazebo
若再出现报错,则重复上面下载补装heatshrink的方式补装缺少的库。
另外报错可能不在最底下,可能在中间 需要往上翻找。
直到运行编译指令出现下图所示i并且gazebo仿真中能出现飞机,至此完成一半。
3.添加环境变量
打开终端输入指令
sudo gedit ~/.bashrc
若提示没有gedit则自己install一个。
打开后翻到文件末尾 粘贴下文
source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
然后点击保存 关闭。
终端输入
source ~/.bashrc
完成。
4. 安mavros
打开终端 输入如下指令
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
完成后 新开终端,输入
roslaunch px4 mavros_posix_sitl.launch
出现飞机则完成安装。