ROS与Gazebo:基于URDF实现Gazebo中的机器人仿真

前言

本文主要介绍在ROS中使用urdf实现Gazebo中仿真时需要配置的基本内容(机器人关节控制相关)。流程上包括URDF标签结构,ROS下的关节发布(robot_state_publisher),ROS与Gazebo间插件配置,launch文件配置(模型robot_description参数加载,相关ros_control控制器yaml配置与加载,一般包含使Gazebo向ROS发布关节信息的控制器类型,ROS控制Gazebo中机器人关节运动的控制器等)
另,如果由错漏的地方,希望大家及时指出,同时也多多包涵。

1. 基础预备

下面通过准备工作了解ros,ros_control与真实机器人或gazebo间的结构及数据流。

1.1 准备工作1:ros_control

https://wiki.ros.org/ros_control
大概是作为ROS与机器人交互的中介,其使用结构如图。左侧是控制器类型设置,右侧是数据流。例如对于joint_position_controller,以机器人当前关节数据及ROS目标点为输入数据,再通过PID控制器实现输出控制。
在这里插入图片描述

1.2 准备工作2:Gazebo与ROS间的关系

http://gazebosim.org/tutorials?tut=ros_control&cat=connect_ros
通过ros_control与Gazebo插件实现gazebo中机器人运动仿真。具体结构如下
在这里插入图片描述

2. 主要教程

官方教程:https://wiki.ros.org/urdf/Tutorials/Using%20a%20URDF%20in%20Gazebo
对应github: https://github.com/ros/urdf_sim_tutorial
Gazebo方面教程:http://gazebosim.org/tutorials?tut=ros_control&cat=connect_ros
urdf中的gazebo标签及其他:http://gazebosim.org/tutorials/?tut=ros_urdf
对应github: https://github.com/ros-simulation/gazebo_ros_demos

上面两个教程结合参考以后,会更加清晰。本文按官方教程顺序展开,并进行适当补充说明。
(个人认为gazebo方面的教程更有条理)

2.1 通用的启动文件格式内容

以官方教程下的gazebo.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="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>
</include>

<param name="robot_description" command="$(find xacro)/xacro.py $(arg model)" />

<!-- push robot_description to factory and spawn robot in gazebo -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model"
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值