记录Ubuntu16.04下PX4联合Gazebo仿真时遇到的问题与解决方法

一、arm-none-eabi-gcc版本问题

  在Ubuntu16.04中使用sudo apt-get install gcc-arm-none-eabi命令会自动安装默认版本(gcc version 4.9.3 20141119)的交叉编译器,而px4需要7.2.1版本,需要手动下载。

  下载源码包后解压,如本机解压到目录/usr/lib/gcc

  添加环境变量
  vi /etc/profile
  在文件最后添加
  export PATH=$PATH:/usr/lib/gcc/gcc-arm-none-eabi-7-2017-q4-major/bin
  使能环境变量
  source /etc/profile
  此命令只在当前终端有效,若需要在其它终端中使用,需要重启计算机。

二、make posix_sitl_default gazebo时gazebo闪退

  解决方法有如下两种:

  方法一:取消勾选虚拟机的加速3D图形选项

 

 

  方法二:先执行export SVGA_VGPU10=0再执行make posix_sitl_default gazebo

  在此我更推荐第二种解决方案。

  相较于直接关闭3D加速,这样的好处在于可以获得一个较高的仿真帧率。我的配置是9400f+970+16g*2 运行帧率50+

三、rosrun时报错not found

  如果catkin build成功,能看到自己的包被创建好(如下图)

 

 offboard_pkg就是我自己创建的包

附创建命令:catkin_create_pkg offboard_pkg roscpp std_msgs geometry_msgs mavros_msgs

但是在执行rosrun时却又找不到包,这是由于没有配置环境的原因所造成的,解决方法:source ~/catkin_ws/devel/setup.bash

 四、仿真运行的步骤

  1.export SVGA_VGPU10=0

  2.make posix_sitl_default gazebo (要在~/src/Firmware目录下)

  3.新终端 roscore

  4.新终端 roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557" (启动PX4与Mavros的连接)

  5.新终端 rosrun offboard_pkg offboard_node (要在~/catkin_ws目录下)

posted on 2020-10-06 13:16  Jas0nG  阅读(802)  评论(0编辑  收藏  举报