Gazebo组件

  1. World 世界

    • 包含模拟中所有的元素如机器人,灯光,传感器等等
    • 使用SDF(模拟描述格式)格式化 【用XML语言描述】
    • 拓展名.world
  2. Model 模型
    • 只包含一个<model>...</model>
    • 目的是促进模型重用,并简化模型文件
    • 在world文件中调用model:
           <include>
      <uri>model://model_file_name</uri>
      </include>
  3. 环境变量
    • GAZEBO_MODEL_PATH     模型的路径
    • GAZEBO_RESOURSE_PATH   世界的路径
    • GAZEBO_MASTER_URI
    • GAZEBO_PLUGIN_PATH         插件的路径
    • GAZEBO_MODEL_DATABASE_URI
    • 修改环境变量:<install_path>/share/gazebo/setup.sh
  4. 服务器和客户端
    • gzserver

      • 运行物理更新循环和传感器数据产生,是gazebo的核心,可以独立于图形界面使用
      • run headless意味着只运行gzserver
      • gzserver + 当前目录相对路径/绝对路径/在环境变量搜索路径中的相对变量
    • gzclient
      • 一个基于QT的用户界面,提供了可视化模拟和方便的控制。点击桌面图标启动的就是gzclient,可以启动多个。
      • gzclient 就可以启动图形界面
    • gazebo +路径  同时打开服务器和客户端
  5. Plugin 插件
    • 使用c++编写,模拟功能需求基本上都是通过插件来完成啦
    • 可以在命令行中调用,也可以在SDF文件中调用
    • 影响物理属性的插件在服务器调用
    • 命令行 -s 表示是系统的插件
  6. Gazebo的结构
    • Communication Libary 进程之间的沟通
    • Physics Library 物理库
    • Rendering Library 渲染库
    • Sensor Generation 传感器
    • GUI 界面
  7. Mesh 网格
    • 给机器人做好看的渲染(大概是这样吧
  8. Actor  演员
    • actor是和model并列的一种类型,相比于model,actor可以不受物理引擎(重力之类的)的影响,按照设定的轨迹进行运动。
    • 使用<script>描述路径
    • 航点 waypoint
  9. 数据单位是 米 哦!

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官网日常崩真滴头大,明天继续第二篇,溜了溜了

Gazebo学习随记1 Gazebo概览的更多相关文章

  1. Gazebo学习随记4 Actor: 该配合你的演出我视而不见

    在Gazebo仿真中,除了模型model外,还有一种和model并列的类型——actor. 相比于model受物理引擎的作用,actor不受重力等等的影响,可以按照设定的运动轨迹进行运动. <s ...

  2. Gazebo学习随记3 图形界面的使用

    直接写模型的SDF文件实在是太反人类啦! 可以在gazebo图形界面中设置好模型的链接(碰撞外观惯性),关节等等参数-然后生成SDF文件

  3. Gazebo学习随记5 杂记

    模拟建筑编辑器 将卫星图导入世界,方便空中机器人模拟 录像和回放 记录筛选 给关节添加力/扭矩  一开始不知道哪里出现了偏差以一动不动,重启就好了 HDF5数据集 代码内省 模型插件   !!!我终于 ...

  4. Gazebo学习随记2 SDF和XML

    Model 模型 一个模型数据库会拥有的文件 database.config:有关数据库的元数据,从CMakeList自动填充『本地不需要』 model文件夹 一个模型[奏是辣个文件夹]会有的文件 m ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...

  6. node-webkit学习(3)Native UI API概览

    node-webkit学习(3)Native UI API概览 文/玄魂 目录 node-webkit学习(3)Native UI API概览 前言 3.1  Native UI api概览 Exte ...

  7. ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot

    一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真, 这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究. 这里,介绍 ...

  8. Ubuntu ROS Arduino Gazebo学习镜像iso说明(indigo版)

    ROS机器人程序设计(原书第2版)学习镜像分享及使用说明 新版已经发布,请参考: http://blog.csdn.net/zhangrelay/article/details/53324759 Ub ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(九) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 书中三维环境gazebo,slam的仿真例子 --$ r ...

随机推荐

  1. Operating System-进程/线程内部通信-信号量和PV操作

    本文介绍操作系统进程管理的两个核心概念: 信号量 PV操作 一.信号量介绍 1.1 信号量引入 信号量(Semaphore)1965年由Dijkstra引入的.信号量一般由一个值是一个变量,其值有可能 ...

  2. BZOJ4170:极光

    浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...

  3. vim 显示行号

    set nu https://blog.csdn.net/lwj103862095/article/details/8122316

  4. 对oracle中date/timestamp的操作

    设置oracle中date的会话格式为 'yyyy-mm-dd hh24:mi:ss' alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss ...

  5. vijos1098:合唱队形

    描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…, ...

  6. Network(lca暴力)

    Network Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/65536K (Java/Other) Total Submi ...

  7. Java-API:un-java.util.Set

    ylbtech-Java-API:java.util.Set 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 0. https://docs.oracle.com ...

  8. python web框架 Django进阶

    django 进阶 基础中,一些操作都是手动创建连接的非主流操作,这样显得太low,当然也是为了熟悉这个框架! 实际中,django自带连接数据库和创建app的机制,同时还有更完善的路由系统机制.既然 ...

  9. js常见的字符串及数组处理

    最近工作设计前台比较多,由于好久没动前台,或者使用前台框架习惯了,js有点生,将常见的字符串处理忘了,在这里整理一下常见的,以便于查阅: 1.substr():字符串分割,第一个是开始的下标,第二个是 ...

  10. @Value在Controller中取值

    一.使用 @Value("${name}")注解可以获取自定义的properties文件中的name值 二.配置 如果只是在applicationcontext.xml中配置,那么 ...