Gazebo学习随记1 Gazebo概览
Gazebo组件
- World 世界
- 包含模拟中所有的元素如机器人,灯光,传感器等等
- 使用SDF(模拟描述格式)格式化 【用XML语言描述】
- 拓展名.world
- Model 模型
- 只包含一个<model>...</model>
- 目的是促进模型重用,并简化模型文件
- 在world文件中调用model:
1 <include> 2 <uri>model://model_file_name</uri> 3 </include>
- 环境变量
- GAZEBO_MODEL_PATH 模型的路径
- GAZEBO_RESOURSE_PATH 世界的路径
- GAZEBO_MASTER_URI
- GAZEBO_PLUGIN_PATH 插件的路径
- GAZEBO_MODEL_DATABASE_URI
- 修改环境变量:
<install_path>/share/gazebo/setup.sh
- 服务器和客户端
- gzserver
- 运行物理更新循环和传感器数据产生,是gazebo的核心,可以独立于图形界面使用
- run headless意味着只运行gzserver
- gzserver + 当前目录相对路径/绝对路径/在环境变量搜索路径中的相对变量
- gzclient
- 一个基于QT的用户界面,提供了可视化模拟和方便的控制。点击桌面图标启动的就是gzclient,可以启动多个。
- gzclient 就可以启动图形界面
- gazebo +路径 同时打开服务器和客户端
- gzserver
- Plugin 插件
- 使用c++编写,模拟功能需求基本上都是通过插件来完成啦
- 可以在命令行中调用,也可以在SDF文件中调用
- 影响物理属性的插件在服务器调用
- 命令行 -s 表示是系统的插件
- Gazebo的结构
- Communication Libary 进程之间的沟通
- Physics Library 物理库
- Rendering Library 渲染库
- Sensor Generation 传感器
- GUI 界面
- Mesh 网格
- 给机器人做好看的渲染(大概是这样吧
- Actor 演员
- actor是和model并列的一种类型,相比于model,actor可以不受物理引擎(重力之类的)的影响,按照设定的轨迹进行运动。
- 使用<script>描述路径
- 航点 waypoint
- 数据单位是 米 哦!
Gazebo文件
Gazebo附带文件地址:
<install_path>/share/gazebo-<version>
拿我自己的举个栗子,暗中观察文件内容:
ls /usr/share/gazebo-9
包含 worlds(挺多世界的),models(太阳和地板),media(含有audio,gui,models【这个models文件是dae】), setup.sh(修改环境变量)
截图路径
cd ~/.gazebo/pictures
Tutorial路径
gedit ~/.gazebo/models
暂时还没深入了解的东西
- Mesh 网格 给模型作外观渲染
- Nested Model 模型嵌套调用
Gazebo官网日常崩真滴头大,明天继续第二篇,溜了溜了