基于ros平台的移动机器人的设计与运动仿真-国家级大学生创新.pdf

基于ros平台的移动机器人的设计与运动仿真-国家级大学生创新.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ros平台的移动机器人的设计与运动仿真-国家级大学生创新

基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林  (重庆大学城市科技学院电气信息学院,重庆 永川 402167 ) 摘要:ROS 究竟是如何工作的呢?ROS 中每一套算法是独立的一个包,包与包之间的 数据交换主要采用TCP/IP 协议(对用户隐藏,用户需要发布或订阅主题以提供或取得数据), 采用这种形式是由于ROS 的算法包是由全世界不同的个人,学校或实验室贡献的,这样做 可以降低耦合性,如果一个node 崩溃不会影响到其他。基于ROS 这个平台,有助于提高开 发设计的效率及降低成本。本论文主要阐述了基于ROS 平台移动机器人设计的基本原理和 方法,并对移动机器人进行了运动仿真,得到其运动轨迹和控制方法,为后续项目的进一步 研究打下了一定的基础。 关键词:ROS 移动机器人 设计 仿真 0 引言 ROS 被称为机器人操作系统[2],其实ROS 充当的是通信中间件的角色,即在已有操 作系统的基础上搭建了一整套针对机器人系统的实现框架。ROS 还提供一组实用工具和软 件库,用于维护、构建、编写和执行可用于多个计算平台的软件代码。 值得一提的是,ROS 的设计者考虑到各开发者使用的开发语言不同,因此ROS 的开发 语言独立,支持C++ ,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 值来控制电机转动的速度。 基金项目:2016 年国家级大学生创新创业训练计划项目 “ROS 辅助机械视觉与运动规划” (项目编号: 201612616100 )。 作者简介:陈勇林(1996-),男,重庆人,在校本科生,机械电子工程专业。 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。由上面的公式便可得出各 个轮子的转速:n =n =18.3 m/s;n =n =116.1 m/s 。 1 3 2 4 1.5 ROS 平台与底盘通信协议[5] (1)ROS 底盘串口 ROS 平台与小车底盘的通信一般是通过串口或者CA

文档评论(0)

wangsux + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档