仿真步骤

  • 第一步:配置机器人模型
    • ros_control
    • 1、作用
    • 2、总体框架
    • 3、控制器数据流向
    • 4、安装
  • 第二步:创建仿真环境
    • 方法一:自己构建物理环境
    • 方法二:自己编辑物理环境
  • 第三步:开始仿真

第一步:配置机器人模型

link:添加运动学参数

惯性参数

物体的惯性和物体的质量,形状,以及质量分布有关,出于计算复杂性和刚体特征考虑,通常默认质量是均匀分布的。

目标:三个坐标轴的转动惯量

碰撞参数

link:添加gazebo标签

标签 功能
< gazebo > 设置Gazebo仿真的参数
< mu1 >,< mu2 > 设置摩擦系数
< material > 设置连杆颜色
< plugin > 传感器和机器人状态控制工具
< robotNamespace > 设置在Gazebo中使用的机器人名称
< robotSimType > 设置机器人仿真界面的插件名称

joint:转动装置

标签 功能
< transmission > 设置关节和舵机之间的变量
< type > 设置力的传递方式的形状
< joint > 设置关节信息设置
< hardwareInterface > 设置硬件接口
< actuator > 设置舵机信息
< mechanicalReduction > 设置舵机与关节之间的齿轮比

transmission

< transmission >(必须)唯一指定了一个传动的标签,名字自定义,方便起见可以使用与joint name相同的名字。

< type >(出现一次)定义了传动的类型,transmission_interface/SimpleTransmission,完成简单的传输

< joint >(可定义一个或多个)指定这个传动所依赖的关节,拥有如下标签hardwareInterface。
< hardwarelnterface>
在joint下,可定义一个或多个
指定支持的硬件接口空间
用于结合控制器使用硬件接口来向硬件接口发送和接受指令
此标签的值应为hardware_interface / XXX。

< actuator >(定义一个或多个)传动连接的致动器,名字自定义。
< mechanicalReduction >(可选)定义电机/关节减速比。
【减速比=输入转速÷输出转速】
< hardwarelnterface >指定支持的硬件接口空间。

ros_control

1、作用

ros_control就是ROS为用户提供的应用与机器人之间的中间件

包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等

可以帮助机器人应用功能包快速落地,提高开发效率

名称 作用
control_toolbox 包含PID控制器和sine控制器
controller_interface 包含控制机接口的基类
controller_manager 这个包能够加载,卸载,启动和停止控制器
controller_manager_msgs 为控制器管理器提供消息和服务的实现
hardware_interface 硬件接口的基类
transmission_interface 换能接口类,(差速,四杆机构,关节状态,位置,速度)

2、总体框架



一般使用的硬件接口是:
Joint Command Interface:发送关节信息给硬件
Effort Joint lnterface
Velocity Joint Interface
Position Joint Interface
Joint State lnterface:从激励器的编码器处获得传感信息

标准的ROS控制器有:
joint_position_controller:简单的关节位置控制器
joint_state_controller:控制器,发送joint state消息,监控机器人状态
joint_effort_controller:关节力矩控制器
joint_velocity_controller

3、控制器数据流向

Controller Manager:每个机器人可能有多个controller,所以这里有一个控制器管理器的概念,提供一种通用的接口来管理不同的controller。controller manager的输入就是ROS上层应用的输出。

Controller:controller可以完成每个joint的控制,请求下层的硬件资源,并且提供了PID控制器,读取硬件资源接口中的状态,在发布控制命令。

Hardware Rescource:为上下两层提供硬件资源的接口。

RobotHW:硬件抽象层和硬件直接打交道,通过write和read方法来完成硬件的操作,这一层也包含关节限位、力矩转换、状态转换等功能。

Real Robot:实际的机器人上也需要有自己的嵌入式控制器,接收到命令后需要反映到执行器上,比如接收到位置1的命令后,那就需要让执行器快速、稳定的到达位置1。

4、安装

sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers

第二步:创建仿真环境

以下内容比较简单,具体的操作可以参照这个:
学习参考

根据之前章节已学习的包操作

启动:

roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch

方法一:自己构建物理环境

自己可以根据下面的内容操作构建物理环境



如果是自己下载的模型,将模型文件库下载并放置到~/.gazebo/models
被隐藏的文件夹按Ctrl+h可见

方法二:自己编辑物理环境


第三步:开始仿真

还是启动之前已经有的包,启动后可以操控gazebo里面的模型运动

roslaunch mbot_teleop mbot_teleop.launch

ROS基础(13)——机器人建模之运动仿真相关推荐

  1. ROS入门七 机器人建模——URDF

    ROS入门七 机器人建模--URDF urdf ufdf介绍 语法 创建机器人URDF模型 创建机器人描述功能包 创建URDF模型 在rviz中显示模型 改进URDF模型 添加物理和碰撞属性 使用xa ...

  2. 卧式铣床主传动系统设计建模及运动仿真

    目 录 摘 要 II Abstract III 目 录 IV 第1章 绪论 1 第2章 铣床参数的拟定 2 2.1机床的主要技术参数 2 2.2变速箱总体结构方案的拟定 2 2.3计算出各级转速 2 ...

  3. 干货 | 浅谈机器人强化学习--从仿真到真机迁移

    " 对于机器人的运动控制,强化学习是广受关注的方法.本期技术干货,我们邀请到了小米工程师--刘天林,为大家介绍机器人(以足式机器人为主)强化学习中的sim-to-real问题及一些主流方法. ...

  4. 四足步行机器人的结构设计及仿真

    目 录 摘要 I ABSTRACT II 第1章 绪论 1 1.1 课题研究的目的和意义 1 1.2 国内外关于四足步行机器人的发展现状 2 1.2.1 国外关于四足步行机器人的发展现状 2 1.2. ...

  5. python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...

    基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划 基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林  (重庆大学城市科技学院电气信息学院,重庆 永川 402 ...

  6. 【ros学习】14.urdf、xacro机器人建模与rviz、gazebo仿真详解

    一.起因 学校的这学期课程是ros机器人开发实战,我们学习小组也要搞一个自己的机器人模型,我们组又叫葫芦组,所以我就做了个葫芦形状的机器人,虽说有点丑,本来想用maya建模再导入的,奈何不太懂maya ...

  7. ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)

    URDF机器人建模 相关urdf代码链接: https://download.csdn.net/download/weixin_43262513/10990016 1.urdf介绍 URDF(Unif ...

  8. 六自由度机器人(机械臂)运动学建模及运动规划系列(三)——机器人建模及运动学分析的Matlab仿真

    在完成机器人的建模以及运动学分析之后,可以利用Matlab中的Robotics工具箱进行仿真. 本篇目录 一.工具箱下载 二.机器人建模仿真 三.机器人运动学计算仿真 四.小结 一.工具箱下载 要在M ...

  9. 机器人运动仿真和3D建模可视化

    该项目以视频的方式展示,内容包括基于Qt OpenGL和旋量理论的史陶比尔6R机器人3D建模和运动学仿真,包括正运动学.逆运动学,速度雅可比矩阵算法,轨迹的绘制,关节插补,直线插补,直线.三点圆.直径 ...

最新文章

  1. python部署脚本_vsftp一键部署脚本
  2. MODE —— 输出一个高度和宽度固定的方框(知识点:for循环嵌套for循环)
  3. XML格式对象序列化(2)
  4. python语言写九九乘法表_【酷叮课堂】--Python语言完成99乘法表
  5. 帝国扩展变量是哪个php,帝国CMS后台系统设置里面的扩展变量是干什么的?
  6. HDU - 1527 取石子游戏(威佐夫博弈)
  7. java中的单例模型
  8. 使用Apache NFOP创建pdf
  9. 一起来学SpringBoot | 第二篇:SpringBoot配置详解
  10. 信息学奥赛一本通,题解列表
  11. 小米远程连接服务器,人文远程桌面
  12. python——xlwt
  13. 思科交换机接口配置trunk_cisco二层交换机和三层交换机怎么设置trunk
  14. 湖南工程学院CSDN高校俱乐部简介
  15. python俗称_python中文叫什么
  16. 用ChatGPT实现变现的多种方法
  17. Linux命令ls是什么缩写,linux基本命令ls、pwd、cd、mkdir等
  18. 万年历的黎明:全部结束
  19. CK默认存储目录迁移
  20. Qt5笔记之Qt5插件的生成与加载及json文件的读取

热门文章

  1. 企业IT管理岗的首选认证:ITIL®4 Foundation
  2. CSDN,我来了!kbd哈哈哈哈/kbd
  3. noip模拟赛 斐波那契
  4. 荟研新材料 毕克BYK420 水性涂料和颜料浓缩浆用液态流变助剂 抗流挂剂
  5. Zhong__PyCharm配置豆瓣源提升插件、依赖安装速度
  6. java 画笔粗细,javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
  7. Leetcode 517. Super Washing Machines
  8. laravel 教程
  9. echart旭日图_echarts(10):旭日图
  10. 机器人学回炉重造(5-2):关节空间规划方法——梯形加减速(与抛物线拟合的线性函数)、S型曲线规划