资讯详情

PX4开发指南-5.2.Gazebo仿真

摘自:http://www.di3renlei.cn/info/3794

PX4开发指南-5.2.Gazebo仿真

2017-11-10 12:54 PX4开发指南 lizhao 1425次阅读 0条评论 ★收藏0次

分享到:

  • 官网英文原文地址: http://dev.px4.io/simulation-gazebo.html

  • Gazebo是独立机器人3D模拟环境。它可以和ROS完整的机器人仿真也可单独使用。本文简要介绍了单独的使用方法。

  • 视频地址:http://7xvob5.com1.z0.glb.clouddn.com/2-PX4 Flight Stack ROS 3D Software in the Loop Simulation (SITL).mp4

  • 需要安装Gazebo以及我们的模拟插件。

推荐使用Gazebo 7(最低使用Gazebo 假如你的Linux安装了操作系统ROS版本早于Jade,请先卸载绑定的旧版本Gazebo (sudo apt-get remove ros-indigo-gazebo),因为这个版本太老了。

  • Mac OS需要安装Gazebo 7.需要相应的安装xquartz,并且在没有OpenCV无法运行。

brew cask install xquartz  brew install opencv  brew install gazebo7 
  • PX4 SITL使用Gazebo但不依赖模拟软件ROS。但也可以像普通飞行代码一样ROS模拟连接。

  • 假如你计划和ROS一起用PX4,确保按照Gazebo 配置7版本指南。

  • 正常安装

    • 按照Linux安装指导 安装Gazebo 7。

    • 确保gazebo7和libgazebo7-dev都装上了。

  • 在PX在4个固件源文件的目录下,运行机架类型(支持四旋翼、固定翼和垂直起降,包括光流)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.worldiris.world默认环境使用高度图作为地面。使用距离传感器时,往往很难达到理想的效果。如果高度图中的结果与预期不一致,建议使用iris.model中的模型从irregular_ground更改为asphalt_plane。

如果您在操作过程中遇到错误或缺乏依赖,请确保您按照安装文件和代码安装。

  • 接着会启动PX4 shell:
[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 

  • 扩大发展会话(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 
  • 在您的IDE选择你想调试的px4_ 目标(例如px4_iris

  • 直接从IDE启动调试会话(session)

  • 由于模拟器(如模拟器),这种方法显著减少了调试周期时间Gazebo)总是在后台运行,你只需要重新运行light的px4进程。

  • 编辑Tools/sitl_gazebo文件夹中的文件。这些代码可以从Github上的sitl_gazebo repository访问。
  • /ul>

    构建系统强制检查所有依赖的子模块,包括仿真软件。虽然这些文件夹中文件的改变不会被覆盖,但当这些改变被提交的时候子模块需要在固件库中以新的hash注册。为此,输入git add Tools/sitl_gazebo 进行提交。这样仿真软件的GIT hash就会被更新。

    • 仿真可以像真实的飞控一样与ROS连接

标签: 8px连接器cn

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台