在gazebo6上对Pixhawk进行仿真

在上一篇博客中,ROS indigo 下 gazebo6安装与测试,已经在Ubuntu系统中搭建好了,ROS indigo环境和gazebo7 仿真环境。那么如何才能把这些环境用于自己的项目仿真呢,下面是我在这个阶段,学习和实践的过程。
因为项目使用到Pixhawk飞控,所以我想在仿真环境中对无人机进行仿真。

1 . 下载Pixhawk源码 并编译源码

mkdir -p ~/src //源码文件夹
cd ~/src
git clone https://github.com/PX4/Firmware.git //克隆
tar vxf *.tar //解压

编译
cd Firmware
make px4fmu-v2_default


2 . 在jMAVSim仿真器中仿真

启动jmavsim仿真器
make posix_sitl_default jmavsim

打开QGround地面站软件


3 . 在gazebo7仿真器中仿真【未能成功,后来舍弃了Gazebo7 使用Gazebo6】

cd ~/src/Firmware
make posix_sitl_default gazebo
最开始尝试这种方式打开无人机在gazebo中的仿真器,但是总是启动的过程中报错,仔细检查了ros没有问题,gazebo 也没有问题,gazebo的ros插件也安装了。这个地方一直没找到问题所在。

.后来看了PX4 wiki -cn 找到了启动仿真器的方法。

想要在Gazebo中对无人机仿真,使其能够将额外的传感器信息直接发布到ROS主题,例如Gazebo ROS激光传感器信息,那么必须通过适当的ROS包装器来启动Gazebo。

cd Firmware
make posix_sitl_default

source ~/ros/devel/setup.bash //配置ros环境变量
source Tools/setup_gazebo.bash $(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 posix_sitl.launch
或者是
roslaunch px4 mavros_posix_sitl.launch

如果启动roslaunch px4 posix_sitl.launch ,
那么可以启动roslaunch mavros px4.launch fcu_url:=”udp://:[email protected]:14557”
px4.launch文件 127.0.0.1是仿真器 模拟硬件的地址 1端口14557是开放的第二个MAVLink接口

【参考博文】
Pixhawk原生固件PX4之SITL软件在环仿真

PX4开发中文wiki
PX4开发英文wiki
PX4 Offboard Control Using MAVROS on ROS
初学PX4之环境搭建

你可能感兴趣的:(ROS机器人系统)