摘自:http://www.di3renlei.cn/info/3794
PX4开发指南-5.2.Gazebo仿真
2017-11-10 12:54 PX4开发指南 lizhao 1425次阅读 0条评论 ★收藏0次
分享到:
PX4开发指南-5.2.Gazebo仿真
Gazebo Simulation
-
官网英文原文地址: http://dev.px4.io/simulation-gazebo.html
-
Gazebo是一个自主机器人3D仿真环境。它可以与ROS配套用于完整的机器人仿真,也可以单独使用。本文简要介绍单独的使用方法。
-
视频地址:http://7xvob5.com1.z0.glb.clouddn.com/2-PX4%20Flight%20Stack%20ROS%203D%20Software%20in%20the%20Loop%20Simulation%20(SITL).mp4
安装
推荐使用Gazebo 7(最低使用Gazebo
6)。如果你的Linux操作系统安装的ROS版本早于Jade,请先卸载其绑定的旧版本Gazebo (sudo apt-get remove
ros-indigo-gazebo),因为该版本太老了。
brew cask install xquartz
brew install opencv
brew install gazebo7
进行仿真
- 在PX4固件源文件的目录下运行一种机架类型(支持四旋翼、固定翼和垂直起降,含光流)的PX4 SITL。
注意:您可以使用下面的说明来保持Gazebo运行,并且只用重新启动PX4。
cd ~/src/Firmware
make posix_sitl_default gazebo
cd ~/src/Firmware
make posix gazebo_iris_opt_flow
cd ~/src/Firmware
make posix gazebo_solo
make posix gazebo_plane
make posix_sitl_default gazebo_standard_vtol
make posix_sitl_default gazebo_tailsitter
make posix gazebo_rover
更改世界背景
- 当前的默认世界是位于世界目录中的
iris.world
。iris.world
中的默认环境使用高度图作为地面。使用距离传感器时,遇到这样的地面往往很难取得理想的效果。如果在该高度图中出现和预期不一致的结果,建议将iris.model中的模型从irregular_ground更改为asphalt_plane。
起飞
如果你在运行的时候遇到错误或缺少依赖,确保你是按照安装文件和代码安装的。
[init] shell id: 140735313310464
[init] task name: px4
______ __ __ ___
| ___ \ \ \ / / / |
| |_/ / \ V / / /| |
| __/ / \ / /_| |
| | / /^\ \ \___ |
\_| \/ \/ |_/
px4 starting.
pxh>
右击四旋翼模型可以从弹出的菜单中启用跟随模式,这将会始终保持飞行器在视野中。
- 一旦完成初始化,系统将会打印出起始位置(telem> home: 55.7533950, 37.6254270, -0.00)。你可以通过输入下面的命令让飞行器起飞:
pxh> commander takeoff
QGroundControl(QGC)支持手柄或拇指手柄。为了使用手柄控制飞行器,要将系统设为手动飞行模式(如
POSCTL,位置控制),并从QGC的选项菜单中启用拇指手柄
。
设置自定义起飞位置
-
SITL Gazebo中的默认起飞位置可以使用环境变量来覆盖。
-
要设置的变量有: PX4_HOME_LAT
, PX4_HOME_LON
, 和 PX4_HOME_ALT
.
举个例子
export PX4_HOME_LAT=28.452386
export PX4_HOME_LON=-13.867138
export PX4_HOME_ALT=28.5
make posix gazebo
单独启动Gazebo和PX4
-
对于扩展开发会话(development sessions),单独启动Gazebo和PX4可能会更为方便,甚至还可以从IDE中启动。
-
除了现有的使用px4参数运行sitl_run.sh来加载正确的模型的cmake 目标(target)之外,它还创建了一个名为px4_的启动器目标(launcher targets)(这是原始sitl px4应用程序的thin wrapper)。 这个thin wrapper只是简单地嵌入应用程序参数,如当前工作目录和模型文件的路径。
-
如何使用
-
通过终端运行gazebo(或任何其他模拟器)服务器(server)和客户端(client)查看器:
make posix_sitl_default gazebo_none_ide
扩展和自定义
- 为了扩展和定制仿真接口,编辑
Tools/sitl_gazebo
文件夹中的文件。这些代码可以从Github上的sitl_gazebo repository访问。
构建系统强制检查所有依赖的子模块,包括仿真软件。虽然这些文件夹中文件的改变不会被覆盖,但当这些改变被提交的时候子模块需要在固件库中以新的hash注册。为此,输入git
add Tools/sitl_gazebo 进行提交。这样仿真软件的GIT hash就会被更新。
与ROS连接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)