本文主要是介绍make px4_sitl_default gazebo 建立PX4仿真环境的各种坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:
平台:VM 虚拟机、Ubuntu18.04、gazebo9
一、执行组件更新总是各种中断
git submodule update --init --recursive
众所周知这是墙墙的故事,所以进行了机场起飞。主要是在windows 用clash共享端口给虚拟机。
1. 将虚拟机的网络设置为NAT模式
2. 在“控制面板\网络和 Internet\网络连接”中,对WLAN进行共享设置,允许VMnet8连接
VMnet8 是NAT模式的虚拟网卡,所以要对他进行共享,因为我是用wifi 连接,所以是修改wlan,其他情况自便。
4 获得clash代理端口并打开他的允许局域网连接。
端口为7890
5 获得本机的IP地址
6 在虚拟机Ubuntu中进行“网络代理”的设置。将查到的本机ip地址和在查到的端口中填入。
重启,就可以实现自由飞翔了。
二、编译 make px4_sitl_default gazebo 错误
编译时候总是出现一个 关于iris 加载问题的错误,然后百度还查不到。
主要是这个错误:
Generating /home/jiang/volans/Firmware/Tools/sitl_gazebo/models/iris/iris.sdf 后面还有很长的描述
遇事不决,就是更新,因为这个错误没有具体提示,也没告诉我缺少什么。
然后执行更新三部曲:
在固件文件夹下先更新下
make cleansudo apt-get updatesudo apt-get upgrade
最后没有编译错误啦。
三、gezebo 打不开,或者说是黑屏。
这是进行make px4_sitl_default gazebo 下发现的,后面发现单独也打不开gazebo,而且报错VMware: vmw_ioctl_command error Invalid argument
经其他文章分析,报错的原因大概是不合法的变量导致的,应该是启动gazebo的时候加载系统的某个环境变量的时候虚拟机无法完美识别导致的,所以知道了原因后,不断百度,找到了以下修复方案,加入环境变量:
export SVGA_VGPU10=0
在shell中运行以上语句,但是这种方法有个坏处就是每次打开新的shell这个环境变量就失效了,所以我们需要将其加入到用户的环境变量,这样每次启动就可以自动运行此码;
echo "export SVGA_VGPU10=0" >> ~/.bashrc
或者用第二个方法,关闭虚拟机的3D加速图形
这个会影响gazebo的建模速度,体验不是很好
这篇关于make px4_sitl_default gazebo 建立PX4仿真环境的各种坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!