主要内容:
- 安装gazebo
- 配置gazebo
- 运行gazebo
- mavros控制飞机
1安装gazebo
如果已经安装MAVROS可以直接在终端上输入gazebo查看是否已经拥有gazebo,因为MAVROS中含有gazebo包,如果没有gazebo,则需要自行安装。
gazebo
如果出现了这个界面,说明已经拥有gazebo。
在初次打开gazebo时,会出现一段时间的黑屏,耐心等待一下就可以了。如果时间较长,关闭再次打开出现闪退现象,终端提示"VMware: vmw_ ioctl_command error Invalid argument."可采用以下解决办法。
- 关闭硬件加速(亲测可用)
echo " export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc
- 安装过程
# 接受来自packages.osrfoundation.org的软件
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
# 添加秘钥
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
# 安装Gazebo7
sudo apt-get update
sudo apt-get install gazebo7
sudo apt-get install libgazebo7-dev
- 打开Gazebo
gazebo
2配置gazebo
# 安装protobuf库,它用作Gazebo的接口
sudo apt-get install libprotobuf-dev libprotoc-dev protobuf-compiler libeigen3-dev
#在仿真文件夹目录顶层创建一个 Build 文件夹
cd ~/pix/px4_1.6.5/Firmware/Tools/sitl_gazebo
mkdir Build
# 添加路径
##设置插件的路径以便 Gazebo 能找到模型文件
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:$HOME/pix/px4_1.6.5/Firmware/Tools/sitl_gazebo/Build
##设置模型路径以便 Gazebo 能找到机型
export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:$HOME/pix/px4_1.6.5/Firmware/Tools/sitl_gazebo/models
##禁用在线模型查找
export GAZEBO_MODEL_DATABASE_URI=""
##设置 sitl_gazebo 文件夹的路径
export SITL_GAZEBO_PATH=$HOME/pix/px4_1.6.5/Firmware/Tools/sitl_gazebo
#编译gazebo仿真
cd Build
cmake ..
make
3运行gazebo
cd src/Firmware
make posix_sitl_default
source ~/catkin_ws/devel/setup.bash
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build_posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
roslaunch px4 mavros_posix_sitl.launch
4mavros控制飞机
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
source devel/setup.bash //每新开一个terminal都要有这个,否则就会出错
rosrun px4_mavros offb_node
至此,你就可以看到你的小飞机起飞了。
参考文献
Pixhawk原生固件PX4之SITL软件在环仿真
基于单目视觉的四旋翼定点降落——如何搭建基于gazebo的pixhawk仿真环境(三)