ROS基础(13)——机器人建模之运动仿真
仿真步骤
- 第一步:配置机器人模型
- 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)——机器人建模之运动仿真相关推荐
- ROS入门七 机器人建模——URDF
ROS入门七 机器人建模--URDF urdf ufdf介绍 语法 创建机器人URDF模型 创建机器人描述功能包 创建URDF模型 在rviz中显示模型 改进URDF模型 添加物理和碰撞属性 使用xa ...
- 卧式铣床主传动系统设计建模及运动仿真
目 录 摘 要 II Abstract III 目 录 IV 第1章 绪论 1 第2章 铣床参数的拟定 2 2.1机床的主要技术参数 2 2.2变速箱总体结构方案的拟定 2 2.3计算出各级转速 2 ...
- 干货 | 浅谈机器人强化学习--从仿真到真机迁移
" 对于机器人的运动控制,强化学习是广受关注的方法.本期技术干货,我们邀请到了小米工程师--刘天林,为大家介绍机器人(以足式机器人为主)强化学习中的sim-to-real问题及一些主流方法. ...
- 四足步行机器人的结构设计及仿真
目 录 摘要 I ABSTRACT II 第1章 绪论 1 1.1 课题研究的目的和意义 1 1.2 国内外关于四足步行机器人的发展现状 2 1.2.1 国外关于四足步行机器人的发展现状 2 1.2. ...
- python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...
基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划 基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林 (重庆大学城市科技学院电气信息学院,重庆 永川 402 ...
- 【ros学习】14.urdf、xacro机器人建模与rviz、gazebo仿真详解
一.起因 学校的这学期课程是ros机器人开发实战,我们学习小组也要搞一个自己的机器人模型,我们组又叫葫芦组,所以我就做了个葫芦形状的机器人,虽说有点丑,本来想用maya建模再导入的,奈何不太懂maya ...
- ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)
URDF机器人建模 相关urdf代码链接: https://download.csdn.net/download/weixin_43262513/10990016 1.urdf介绍 URDF(Unif ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列(三)——机器人建模及运动学分析的Matlab仿真
在完成机器人的建模以及运动学分析之后,可以利用Matlab中的Robotics工具箱进行仿真. 本篇目录 一.工具箱下载 二.机器人建模仿真 三.机器人运动学计算仿真 四.小结 一.工具箱下载 要在M ...
- 机器人运动仿真和3D建模可视化
该项目以视频的方式展示,内容包括基于Qt OpenGL和旋量理论的史陶比尔6R机器人3D建模和运动学仿真,包括正运动学.逆运动学,速度雅可比矩阵算法,轨迹的绘制,关节插补,直线插补,直线.三点圆.直径 ...
最新文章
- python部署脚本_vsftp一键部署脚本
- MODE —— 输出一个高度和宽度固定的方框(知识点:for循环嵌套for循环)
- XML格式对象序列化(2)
- python语言写九九乘法表_【酷叮课堂】--Python语言完成99乘法表
- 帝国扩展变量是哪个php,帝国CMS后台系统设置里面的扩展变量是干什么的?
- HDU - 1527 取石子游戏(威佐夫博弈)
- java中的单例模型
- 使用Apache NFOP创建pdf
- 一起来学SpringBoot | 第二篇:SpringBoot配置详解
- 信息学奥赛一本通,题解列表
- 小米远程连接服务器,人文远程桌面
- python——xlwt
- 思科交换机接口配置trunk_cisco二层交换机和三层交换机怎么设置trunk
- 湖南工程学院CSDN高校俱乐部简介
- python俗称_python中文叫什么
- 用ChatGPT实现变现的多种方法
- Linux命令ls是什么缩写,linux基本命令ls、pwd、cd、mkdir等
- 万年历的黎明:全部结束
- CK默认存储目录迁移
- Qt5笔记之Qt5插件的生成与加载及json文件的读取
热门文章
- 企业IT管理岗的首选认证:ITIL®4 Foundation
- CSDN,我来了!kbd哈哈哈哈/kbd
- noip模拟赛 斐波那契
- 荟研新材料 毕克BYK420 水性涂料和颜料浓缩浆用液态流变助剂 抗流挂剂
- Zhong__PyCharm配置豆瓣源提升插件、依赖安装速度
- java 画笔粗细,javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
- Leetcode 517. Super Washing Machines
- laravel 教程
- echart旭日图_echarts(10):旭日图
- 机器人学回炉重造(5-2):关节空间规划方法——梯形加减速(与抛物线拟合的线性函数)、S型曲线规划