关于电机里程计 了解多少?

来源:网络  作者:网络转载   2019-09-26 阅读:825

机器人想要实现智能行走,必须依靠自主定位导航技术,自主定位导航包括定位、建图与路径规划等。在思岚提供的自主定位导航解决方案中,主要是通过激光雷达和里程计的数据来进行定位。虽然激光雷达在一定范围内会纠正里程计的误差,但在某些特殊环境下(如激光雷达扫描的有效点较少时),里程计的准备度还是会影响定位的效果。因此,对于需要自主定位导航的机器人而言,电机里程计的精准度,对机器人的定位精度也起到了关键作用。

里程计的选择不容忽视

为了保证里程计的使用效果,选择合适的里程计也是至关重要的,目前,常用的机器人底盘电机编码器按实现原理来分类,包括光电编码器及霍尔编码器;按照其编码方式分类,包括增量型和绝对型。

对于基于slamware的机器人底盘来说,里程计的分辨率需要在1mm以下,且总误差最多不能超过5%,如果超过此数值,机器人将无法正常实现定位导航的功能。因此,无论选择哪种编码器,必须要达到其精度的要求。可以参考以下判断公式:

(2π/每转编码器脉冲数)×轮子半径≤0.001米注:轮子半径单位为米

系统电机应答流程

电机

(以两轮差动电机为例)

SLAMWARECore每间隔delta时间,会向底盘发送左右轮的速度,向前为正,向后为负,即SET_base_MOTOR(0x40)。底盘会回复此时的左右轮里程计的累计值,即GET_base_MOTOR_DATA(0x31)。

请注意,无论轮子向前运动或向后运动,里程计的度数均递增,因为SLAMWARECore在下发速度时,已经区分了向前还是向后。

SLAMWARECore发送SET_base_MOTOR的请求报文为,速度的单位为mm/s。

那么,对于里程计而言,我们该如何判断其定位数据是否准确呢?下面,就要借助可扩展的机器人管理与开发应用软件:RoboStudio

机器人

首先,先将准备工作做好:

在调试之前,请找到一处合适测试的区域,该区域需有清晰的边界,比如,矩形的空房间。安装好RoboStudio,并连接上机器人(如SDPMini)。RoboStudio下载链接及在线文档可至思岚官网下载安装。

利用RoboStudio调试里程计准确度测试方法:

1.将机器人控制到离一面直墙若干米的位置,面朝直墙,如下图所示。

电机

2.将之前建好的地图清除掉,点击清空地图,此时,机器人当前的区域会重建。当前区域重建好之后,可以点击暂停建图,停止地图更新。最后,可以将暂停定位开启,开启后,将关闭激光定位,仅用里程计的数据来定位。

电机

3.控制机器人向前朝墙运动,观察激光点是否和墙重合,如果和墙重合,证明里程计较为准确;

如果激光点超出墙,证明底盘上报的里程计数据要大于实际运动的距离,里程计偏大。

如果激光点在墙之内,证明底盘上报的里程计数据要小于实际运动的距离,里程计偏小。

如果激光点和墙重合,可以继续控制机器人倒退,左右转动,看看激光点是否和周围环境匹配;

相应的,以SDPmini为例,里程计的测试效果如下:

1.里程计数据正常(SDPmini底盘固件中ODOMETER_EST_PULSE_PER_METER为原始值)

2.里程计数据偏大(SDPmini底盘固件中ODOMETER_EST_PULSE_PER_METER小于原始值),视频中效果为里程计偏大较多的情况。

3.里程计数据偏小(SDPmini底盘固件中ODOMETER_EST_PULSE_PER_METER大于原始值),视频中效果为里程计偏小较多的情况。

声明:本文为转载类文章,如涉及版权问题,请及时联系我们删除(QQ: 2737591964,不便之处,敬请谅解!

标签: 里程计
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

相关行业资讯

    购物指南

    支付方式

    商家合作

    关于我们

    微信扫一扫

    (c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
    免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

    在线咨询

    在线咨询:

    QQ交流群

    微信公众号