- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ROS平台的移动机器人的设计与运动仿真
基于ROS 平台的移动机器人的设计与运动仿真
陈勇林基金项目:2016年国家级大学生创新
基金项目:2016年国家级大学生创新创业训练计划项目“ROS辅助机械视觉与运动规划” (项目编号:201612616100)。
作者简介:陈勇林(1996-),男,重庆人,在校本科生,机械电子工程专业。
(重庆大学城市科技学院 电气信息学院,重庆 永川 402167)
摘要:ROS究竟是如何工作的呢?ROS中每一套算法是独立的一个包,包与包之间的数据交换主要采用TCP/IP协议(对用户隐藏,用户需要发布或订阅主题以提供或取得数据),采用这种形式是由于ROS的算法包是由全世界不同的个人,学校或实验室贡献的,这样做可以降低耦合性,如果一个node崩溃不会影响到其他。基于ROS这个平台,有助于提高开发设计的效率及降低成本。本论文主要阐述了基于ROS平台移动机器人设计的基本原理和方法,并对移动机器人进行了运动仿真,得到其运动轨迹和控制方法,为后续项目的进一步研究打下了一定的基础。
关键词:ROS 移动机器人 设计 仿真
0 引言
ROS被称为机器人操作系统[2],其实ROS充当的是通信中间件的角色,即在已有操作系统的基础上搭建了一整套针对机器人系统的实现框架。ROS还提供一组实用工具和软件库,用于维护、构建、编写和执行可用于多个计算平台的软件代码。
值得一提的是,ROS的设计者考虑到各开发者使用的开发语言不同,因此ROS的开发语言独立,支持C++, HYPERLINK /base/python \o Python知识库 \t /mountzf/article/details/_blank Python等多种开发语言。因此,除了官方提供的功能包之外,ROS还聚合了全世界开发者实现的大量开源功能包,如思岚科技(SLAMTEC)就发布了针对其自主研发的激光雷达RPLIDAR的ROS功能包rplidar_ros。这些开源功能包与ROS一起构成了强大的开源生态环境。
ROS的系统结构设计也颇有特色,ROS运行时是由多个松耦合的进程组成,每个进程ROS称之为节点(Node),所有节点可以运行在一个处理器上,也可以分布式运行在多个处理器上。在实际使用时,这种松耦合的结构设计可以让开发者根据机器人所需功能灵活添加各个功能模块。
1 理论分析
1.1 控制电机转动
电机的控制我们分为两部分,一部分为电机转动方向的控制,另一个为电机转速的控制。电机转动的方向我们用两个MCU引脚来控制,假如PIN_A=1,PIN_B=0 时,电机正转;PIN_A=0,PIN_B=1 时,电机反转;PIN_A=0,PIN_B=0 时,电机停止。电机速度的控制则需要一个PWM输出引脚,我们通过控制输出不同的PWM值来控制电机转动的速度。
1.2 PID控制
如果我们想控制小车以一米每秒的速度做直线运动,但由于地面的阻力的影响,会造成左右轮速度与我们想控制的速度不同,所以不会沿直线运动,这时我们就需要加入PID控制,PID控制的思想就是我实时的把轮子真正的速度采集回来和控制的速度对比,差则补,多则减。这样基本就可以实现理想控制。针对该小车的PID算法如附录A所示。
1.3 小车转弯控制
图1 小车转弯控制计算分析
一般我们要是想控制小车以多少的速度前进或者后退,我们只需要PID控制两个轮子的速度一致就可以基本做到。但如果要想控制小车以多少的角速度转弯,我们需要做一定的计算,如图1所示。
1.4 参数测量与计算
编码器用于计算轮子的移动距离。有两个问题需要解决:
(1)高精度编码器太敏感,稍微抖动,会产生大量的不准确的值;
(2)计数器的溢出。
可以根据实际小车的尺寸算出所需数据。小车的各项参数如下:前后轮轴距2K=168 mm;左右轮距离2L=266 mm;车轮直径r=130 mm;电动机减速比1:30。 假设小车转向的角速度ω为5 rad/s,转向半径R为100 mm。由上面的公式便可得出各个轮子的转速:n1=n3=18.3 m/s;n2=n4=116.1 m/s。
1.5 ROS平台与底盘通信协议[5]
(1)ROS底盘串口
ROS平台与小车底盘的通信一般是通过串口或者CAN总线。我这里采用的是串口,以下为我自定义的通信数据格式。
1)底盘串口部分
串口接收:小车左右轮速度,单位:mm/s(所有数据都为float型,float型占4字节),10字节 :[右轮速度4字节][左轮速度4字节][结束符\r\n2字节]。
串口发送:里程计x, y坐标、线速度、角速度和方向角,单位依次为:mm, mm, mm/s, rad/s, rad(所有数据都为float型,float型占4字节),21字节 :[x坐标4字节][y坐标4字节][方向角4字节][线速度4字节][角速度4字节][结束符
您可能关注的文档
- 在SpringAOP中应用了动态代理DynamicProxy.ppt
- 在中冰专利审查高速路PPH.pdf
- 在体短脉冲激光损伤显微镜.doc
- 在家也能轻松摘星.pdf
- 在建的中央电视台新台址园区文化中心发生特别重大.ppt
- 在正常运转情况下达引燃浓度之易燃性气体或蒸发.ppt
- 在给定的杰普逊航图上.ppt
- 在航机动船.ppt
- 在这里全球内容经济绽放光彩.pdf
- 地下水环境现状影响评价.doc
- 中国国家标准 GB/T 3883.203-2025手持式、可移式电动工具和园林工具的安全 第203部分:手持式砂轮机、盘式抛光机和盘式砂光机的专用要求.pdf
- 《GB/T 3883.203-2025手持式、可移式电动工具和园林工具的安全 第203部分:手持式砂轮机、盘式抛光机和盘式砂光机的专用要求》.pdf
- GB/T 18430.2-2025蒸气压缩循环冷水(热泵)机组 第2部分:户用及类似用途的冷水(热泵)机组.pdf
- 中国国家标准 GB/T 18430.2-2025蒸气压缩循环冷水(热泵)机组 第2部分:户用及类似用途的冷水(热泵)机组.pdf
- 《GB/T 18430.2-2025蒸气压缩循环冷水(热泵)机组 第2部分:户用及类似用途的冷水(热泵)机组》.pdf
- 中国国家标准 GB/T 46446.1-2025石油、石化和天然气工业 碳钢过程容器内涂层和衬里 第1部分:技术要求.pdf
- 《GB/T 46446.1-2025石油、石化和天然气工业 碳钢过程容器内涂层和衬里 第1部分:技术要求》.pdf
- GB/T 46446.1-2025石油、石化和天然气工业 碳钢过程容器内涂层和衬里 第1部分:技术要求.pdf
- 中国国家标准 GB/T 3883.206-2025手持式、可移式电动工具和园林工具的安全 第206部分:手持式锤类工具的专用要求.pdf
- 《GB/T 3883.206-2025手持式、可移式电动工具和园林工具的安全 第206部分:手持式锤类工具的专用要求》.pdf
最近下载
- 断路器及GIS多型号液压操动机构动作原理及故障处理方法.pptx
- DB64_T 2026-2024 建筑太阳能光伏一体化技术规程.pdf VIP
- 煤炭能力验证结果技术分析报告.doc VIP
- 《肩袖损伤与肩周炎》课件.ppt VIP
- DB64_T 2078-2024 宁夏连栋拱棚建造技术规范.pdf VIP
- DB64_T 2142-2025 卫星遥感森林草原火灾监测技术规范.pdf VIP
- 2025年度特种设备安装单位管理评审资料.docx
- 日语入门+体验课课件-人教版七年级日语.pptx VIP
- 木质素及其衍生产品在道路沥青中的应用及性能研究.docx VIP
- 4.4-PIS系统常见故障处理《城市轨道交通专用通信系统维护》教学课件.pptx VIP
原创力文档


文档评论(0)