ubuntu版本:20.04

gazebo版本:gazebo11

1.打开gazebo

终端输入“gazebo”或者直接点gazebo软件图标。


 2.前往建筑编辑器

点击上方“Edit” → “Buiding Edit ” 或者快捷键 “Ctrl + B” 进入建筑编辑器。

左边图形界面可以建造墙,添加门、窗、梯子。也可以更改以后墙的颜色和纹理。

3.导入图片

点击左下角“import” ,选择一张户型图导入


点击“Next”,随便选取一段,在左边输入其真实长度后 ,点击“ok”。

4.建造model并保存

做完上述步骤后,右上部分2D视图会出现导入的图片。

点击左边“ Wall ” ,对着房屋轮廓和内部墙壁描边,下方的3D视图会同步显示墙壁信息,全部完成如下所示。

也可以双击2D视图里的墙壁进行详细参数设置。

再按照户型图进行门窗的设置,点击左边的“Window ” 和 “ Door ” ,在相应墙壁位置选择即可。同样,门窗的参数也可以双击修改。

全部完成后,就造好了一个像样的住房模型。

点击左上角“File” → “Save” 保存。注意,保存路径为 ./gazebo/models (需要在主目录文件下打开隐藏目录右,在保存路径窗口右键选择“show hidden files”)。再输入你的 Model Name ,点击“Save” 保存成功(保存后再次无法编辑,只能增删模型)。

tips:较低版本的gazebo可能在保存之前,需要提前在主目录文件下打开隐藏目录(右上角选项勾选上或者按“ Ctrl + H ”)进入 ./gazebo/models,创建一个和你的 Model Name 同名的文件夹,再进行保存操作。

5.初始化文件+丰富模型

再次从文件进入 ./gazebo/models/house_2,会有两个文件

右边的model.sdf 就是房屋模型的参数。打开左边的model.config (较低版本gazebo没有该文件,需要自己创建),就可以添加一些模型作者及邮箱、模型简介等信息,之后保存退出即可。


再次打开gazebo ,左上角insert 选项卡里就会找到自己的模型,找到并选择自己刚
才建好的模型放置到右边窗口。

在insert选项下,选择添加自己想要的家具等模型,来丰富自己的world。可以通过上方按钮,来平移、旋转模型选择合适的摆放位置。

点击“File” → “Save world” ,保存到 usr/share/gazebo-11/worlds 下,并命名为house_2.world。

如果出现权限不够的问题,可以先在主目录下创建一个world文件夹(做临时保存用),点击“File” → “Save world” ,在world文件下保存命名为house_2.world。然后通过vim指令,在终端通过sudo vim house_2.world 在目录usr/share/gazebo-11/worlds下 生成house_2.world,并把临时保存的house_2.world里面的代码复制进去,保存退出。

6.配置launch文件

在/opt/ros/noetic/share/gazebo_ros/launch目录下同上使用vim指令创建house_2.launch文件,并添加以下代码:

<?xml version="1.0"?><launch><!-- We resume the logic in empty_world.launch, changing only the name of the world to be launched --><include file="$(find gazebo_ros)/launch/empty_world.launch"><arg name="world_name" value="worlds/house_2.world"/><arg name="paused" value="false"/><arg name="use_sim_time" value="true"/><arg name="gui" value="true"/><arg name="headless" value="false"/><arg name="debug" value="false"/></include></launch>

保存退出后,终端输入:

roslaunch gazebo_ros house_2.launch

就可以成功启动刚才保存的house_2.launch文件,效果如下。


至此,一个完整的world创建和启动就结束了。

tips:world和launch文件也可以统一保存在用户目录下的workspace中,这样就不会有权限问题,但是launch的配置文件需要作一点点修改,需要find到正确的路径,因为运行gazebo默认的world路径是gazebo_ros 。

7.载入小车并运动观察

在/opt/ros/noetic/share/gazebo_ros/launch目录下继续使用vim指令创建house_2_with_robot.launch文件,把house_2的代码复制进来,并加入小车节点,即加入以下代码:

<!-- 加载机器人模型描述参数 --><param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mrobot_gazebo)/urdf/mrobot_with_camera.urdf.xacro'" /><!-- 运行joint_state_publisher节点,发布机器人的关节状态 --><node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node><!-- 运行robot_state_publisher节点,发布tf --><node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" output="screen" ><param name="publish_frequency" type="double" value="50.0" /></node><!-- 在gazebo中加载机器人模型--><node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"args="-urdf -model mrobot -param robot_description"/> 

将第一个中路径改为自己机器人模型的路径文件即可。

<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mrobot_gazebo)/urdf/mrobot_with_camera.urdf.xacro'" />

同样通过roslaunch即可启动整个gazebo环境加小车模型。

roslaunch gazebo_ros house_2_with_robot.launch

如果小车上配备了摄像头传感器的话,启动键盘控制节点,控制小车运动,再在终端输入

rqt_image_view

启用rqt工具,选择 /camera/image_raw,就可以实时观看摄像头的画面。

gazebo仿真环境搭建+配置+小车运动仿真相关推荐

  1. linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程

    这个手册将向你介绍使用 NC-Verilog simulator 和 SimVision. 本文使用的是一个用 Veilog 硬件编程语言编写的一个饮料分配机,通过这个例 子你将学会:  ·编译 Ve ...

  2. ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)

    ROS中阶笔记(四):机器人仿真-Gazebo物理仿真环境搭建(重点) 文章目录 1 ros_control 1.1 ros_control安装 2 Gazebo仿真步骤(重点) 2.1 配置物理仿真 ...

  3. UR5机械臂仿真环境搭建

    UR5机械臂仿真环境搭建 重要参考: ROS官网教程 前段时间,实验室采购了一台UR5机械臂,今天花了一下午,对照官网教程,完成了仿真环境搭建,期间遇到了一些问题,好在最后都解决了.机械臂的运动规划和 ...

  4. pybullet机器人仿真环境搭建 1.安装pybullet,测试官方示例,基础环境搭建

    pybullet机器人仿真环境搭建 1.安装pybullet 前言 安装 测试官方示例 基础环境搭建 导入pybullet 创建服务端 (可选)配置图形GUI 添加资源路径 设置重力 加载模型 迭代运 ...

  5. 时隙aloha协议仿真程序_工控ModbusTCP/IP协议仿真环境搭建

    01 ModbusTCP/IP协议简介 Modbus TCP/IP是简单的.中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品.它覆盖了使用TCP/IP协议的"intra ...

  6. arduino运行java_IC之路(一)Proteus-Arduino仿真环境搭建

    这个系列的博客需要软硬件联合调试而且截图,所以更新随缘 这篇文章本质上是为了给没有示波器的小伙伴头痛于Arduino的玄学AD调试仿真的文章 Proteus-Arduino仿真环境搭建 第一件事当然是 ...

  7. FPGA配合debussy、modelsim仿真环境搭建

    FPGA配合debussy.modelsim仿真环境搭建 一.软件环境搭建 1,modelsim. 2,debussy 二.工程环境搭建 1,生成testbench 2.生成.fsdb波形文件 第一步 ...

  8. 欧姆龙PLC仿真环境搭建及通信测试

    前言 欧姆龙PLC是工控领域市场率较高的品牌之一,有低端CP/CH系列,中端CJ系列,高端NX/NJ系列.对于上位机开发来说,主要的协议有Hostlink协议.FinsTCP/UDP协议.EtherN ...

  9. AESIM与MATLAB联合仿真环境搭建

    AMESIM与MATLAB联合仿真环境搭建 写在前面 1 Visual c++2010安装 2 Amesim安装 3 联合仿真环境变量配置 写在前面 两个软件联合仿真很让机械人头痛,笔者也是苦于两个软 ...

  10. RISCV仿真环境搭建

    主要参考了这几篇文章: 总纲:RISCV仿真环境搭建:riscv-tools_Like_ai的博客-CSDN博客 riscv-gnu-toolchain:搭建RISC-V编译环境与运行环境 - 知乎 ...

最新文章

  1. aml linux 环境,各位辛苦编译DSDT.aml的兄弟,linux是个好工具啊,简单提取
  2. Java “Resource leak: ‘scanner‘ is never closed“警告的解决办法
  3. (JavaWeb)会话跟踪技术Cookie和Session(重点)
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第22篇]如何用蒙哥马利算法表示一个数字和多个相乘的数字
  5. 删除元素值最大的结点
  6. k8s核心技术-Pod(两种实现机制)_Pod底层实现机制_共享网络_共享存储_Pause根容器_Pod数据卷---K8S_Google工作笔记0021
  7. 如何用 30 行代码实现微信自动回复机器人?
  8. centos gradle 安装
  9. 如何在windows平台下使用hsdis与jitwatch查看JIT后的汇编码
  10. 6.2.2 构造函数模式
  11. 微信计步器怎么不计步_微信运动不计步,如何解决
  12. case 在oracle和mysql_Mysql oracle casewhen 完美应用
  13. 远程计算机桌面图标不见了怎么办,远程桌面图标不见了怎么办
  14. 不讲废话,全程硬核,处理结构化数据的终极解决方案
  15. 计算机的硬盘如何查看,怎样查看电脑硬盘信息 电脑中的硬盘信息
  16. 在线阅读-阿里Java开发手册最强版本【泰山版】
  17. 【安卓USB开发】让手机与物联网设备鹊桥相会
  18. 与传统计算相比,云计算具有哪些优势?
  19. python自动化xmind to testcase详解
  20. jsp+ssm+mysql综合项目实战教程:开发通用进销存管理系统

热门文章

  1. 【转】韩寒:跳出棋盘的棋子
  2. 计算机毕业设计Java珠宝首饰进销存管理系统(源码+系统+mysql数据库+Lw文档)
  3. RK3399调试支持以太网
  4. org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException:
  5. ENSP和虚拟机如何连接
  6. Photoshop-图层相关概念-LayerComp-Layers-移动旋转复制图层-复合图层
  7. C++继承中的构造函数—计算圆柱体的表面积(函数名隐藏)
  8. Windows里面比较好用的在线读书笔记软件
  9. 后端开发java与php,【后端开发】java与php的区别是什么
  10. macOS 上都有哪些既免费、又实用的工具?| 新手问号