PX4仿真环境搭建

PX4 SITL Simulation

前提准备:

Ubuntu16.04 LTS 安装ROS kinetic
题外话:如果连的是有IPV6的校园网,在update时可能会访问IPV6地址出错,解决方案如下:

sudo gedit /etc/sysctl.d/10-ipv6-privacy.conf #打开IPv6动静态隐私配置
#将文件中的net.ipv6.conf.default.use_tempaddr = 2 改为0
#下面两行 = 2都改为0
sudo sysctl --system  #加载所有配置文件
#断网,再连接即可

仿真环境配置步骤:

1、把用户添加到用户组 “dialout”:
sudo usermod -a -G dialout $USER
注销用户,重新登录
2、安装编译依赖包(执行下面的脚本)
执行ubuntu_sim_common_deps.sh脚本,具体文件在下面的官网连接里;
http://dev.px4.io/en/setup/dev_env_linux_ubuntu.html
PX4仿真环境搭建_第1张图片
脚本会安装下列包:
在这里插入图片描述注意看脚本执行是否出错:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
git Firmware时远程链接中断解决:

  • 尝试更改git缓存区大小能否解决:git config --global http.postBuffer 524288000 大概是500M
  • 或者就是网络链接不稳定
  • 或者换协议:git clone git://github.com/PX4/Firmware.git
    初步clone 的Firmware的大小为135M;

3、正确执行完脚本后需要递归到子目录(因为Firmware里面的有些文件连接到其他库了):

cd Firmware
git submodule update --init --recursive

多次执行上述命令确保所有的子模块都git到了。此时的Firmware大小为866M
此时PX4已经可以编译了,如果不需要使用Mavros和QGC,或者以后需要的时候再安装也是可以的。直接到第6步 编译运行PX4.

4、MAVROS安装
http://dev.px4.io/en/ros/mavros_installation.html
5、下载QGroundControl
https://docs.qgroundcontrol.com/en/releases/daily_builds.html
6、编译PX4

  1. 第一步
cd src/Firmware
DONT_RUN=1 make px4_sitl_default gazebo
  1. 第二步
gedit ~/.bashrc #在底部添加下面内容
source /home/user/src/Firmware/Tools/setup_gazebo.bash /home/user/src/Firmware /home/user/src/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/user/src/Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/user/src/Firmware/Tools/sitl_gazebo
#注意此处的user需要改为你的用户名,之后关闭窗口,重新启动
  1. 第三步(之后每次运行只需要执行第三步)
roslaunch px4 posix_sitl.launch

在gazebo就可以看到模型了。
7、打开QGC
注意不要双击打开,会产生一大堆文件,建议更改文件执行权限,然后通过下面的命令运行QGC;

cd Download
./QGroundControl.AppImage

PX4仿真环境搭建_第2张图片其中Airframe 中可以看到Firmware Version 1.9.0dev。

你可能感兴趣的:(PX4)