Gazebo仿真平台

  本篇关于内容主要参照冰达机器人教程学习做的笔记:https://b23.tv/qiFLhjj

理论部分

  gazebo是3D仿真平台,是ROS官方指定的。gazebo适合仿真室内场景,对环节渲染或细节要求不是很高,主要是为了完成功能的仿真演示。

  环节模型可导入(官方提供一些场景model)也可自己进行设计(自己设置围墙建筑,最后保存为world后缀文件)

  与机器人相关可以人工修改的文件包括:urtf、xacro
  urtf文件描述robot,可在rviz中有显示,urdf中的标签在Gazebo中无法显示
  xacro文件描述gazobo中的标签,在urdf的基础上做改动,使机器人可以在gazebo中做显示

  通过gazebo插件为robot增加功能(相机、IMU、激光雷达可以直接去官网找)

  urdf的生成可以用soldworks,生成特殊3D机器人模型。图像化设置,会直接生成urdf文件夹

  urdf文件夹目录下执行命令:check_urdf 文件名(用于检查urdf的编写是否正确)

实验部分

基本环节搭建
注意:环境模型网址改变https://gitee.com/bingda-robot/gazebo_models
gazebo基本操作步骤:
  1.导入预定场景模型(下载路径.gazebo/gazebo_models)
  2.自制场景模型(编辑后保存为world文件,可放置于bingda_tutorial的world文件夹又launch文件调用)
  roslaunch bingda_tutorials gazabe_world.launch
  3.自制robot用rviz显示
  roslaunch bingda_tutorials display_robot.launch
  4.自制robot+自制场景用gazebo显示
  roslaunch bingda_tuorials gazebo_robot.launch

gazebo中键盘控制机器人在预定场景运动:
  终端一:roslaunch bingda_tutorials simulation_robot.launch
  终端二:rqt_image_view
  订阅image_raw/compressed可以试试看到小车的监控画面
  终端三:rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  使用u,i,o,j,k,l,m,<,>键盘控制完成

  rviz显示:
  1. Fixed Frame换成odom
  2. 增加TF, RobotModel,LaserScan

注意:LaserScan的Topic要变成/scan
   键盘控制可看到雷达变换

gazebo中键盘控制机器人在预定场景SLAM建图(2D,激光)
  终端一:roslaunch bingda_tutorials simulation_robot.launch
  终端二:roslaunch robot_navigation gmapping.launch simulation:=true
  终端三:roslaunch robot_navigation slam_rviz.launch
  终端四:rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  使用键盘控制形成地图,保存地图命令为:
  roscd robot_navigation/maps/
  roscd map_server map_server -f map

gabebo键盘控制导航实验
  终端一:roslaunch bingda_tutorials simulation_robot.launch
  终端二:roslaunch robot_navigation navigation_stack.launch simulation:=true
  终端三:roslaunch robot_navigation navigation_rviz.launch
  可以在rviz中调整初始位姿和导航目标
  注意首先在~/.bashrc中设置 export BASE_TYPE=NanoCar,可更改,更改目录为gezabo_test/src/robot_navigation/param

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gazebo是一个广泛使用的开源机器人仿真平台,它可以用于模拟机器人在不同环境中的行为,以及对机器人进行控制和测试。Gazebo提供了许多物理引擎、传感器和效果等模块,使用户可以在虚拟环境中进行真实的仿真。它支持ROS(机器人操作系统)和其他操作系统,因此用户可以在不同的平台上使用Gazebo进行仿真Gazebo还支持各种类型的机器人和传感器模型,包括无人机、地面车辆、水下机器人和传感器等。 Gazebo的主要功能包括: - 仿真环境:Gazebo提供了一个高度可定制的仿真环境,包括天空、地形、建筑物和障碍物等。用户可以使用Gazebo创建自己的环境,或使用现有的环境模型。 - 物理引擎:Gazebo支持多种物理引擎,包括ODE、Bullet和Simbody等。用户可以选择最适合他们的应用程序的物理引擎。 - 控制器:Gazebo提供了多种控制器,包括PID控制器和力/扭矩控制器等。用户可以使用这些控制器来控制他们的机器人。 - 传感器:Gazebo支持各种传感器模型,包括相机、激光雷达、超声波传感器和GPS等。用户可以使用这些传感器来获取机器人周围的信息。 - ROS集成:Gazebo可以与ROS进行集成,使用户可以使用ROS的功能来控制和测试他们的机器人。例如,用户可以使用ROS中的话题和服务来控制机器人。 总之,Gazebo是一个功能强大的机器人仿真平台,它可以帮助用户测试和优化他们的机器人,从而提高机器人的性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值