一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器人底盘轴距标定方法及系统与流程

2022-02-21 08:22:29 来源:中国专利 TAG:


1.本发明涉及轴距标定技术领域,尤其涉及一种机器人底盘轴距标定方法及系统。


背景技术:

2.机器人生产工艺产生的误差会相应地导致机器人底盘轴距存在误差,轴距的误差会引起机器人车轮反馈的角速度(旋转角度)的误差,轴距的误差也会影响机器人重心的位置,进而影响机器人行进的稳定性;如此机器人行进能力受到影响。
3.现有机器人底盘的轴距的标定是借助标准的计量仪器(例如游标卡尺)来检测,然后再将标定的轴距值输入到机器人上,此种标定的方式效率过低。


技术实现要素:

4.为此,需要提供一种机器人底盘轴距标定方法,解决标定机器人底盘的轴距效率过低问题。
5.为实现上述目的,本技术提供一种机器人底盘轴距标定方法,包括如下步骤:
6.驱动左车轮或者右车轮转动从而驱动机器人旋转;
7.获取所述左车轮或者所述右车轮的移动距离,获取机器人的旋转角度;
8.根据所述左车轮或者所述右车轮的移动距离以及机器人的旋转角度计算出标定底盘轴距。
9.进一步地,所述左车轮的移动距离根据所述左车轮的旋转角度与所述左车轮的半径计算得到,所述右车轮的移动距离根据所述右车轮的旋转角度与所述右车轮的半径计算得到。
10.进一步地,所述左车轮的旋转角度根据与所述左车轮连接的左车轮电机的旋转角度计算得到,所述右车轮的旋转角度根据与所述右车轮连接的电机的旋转角度计算得到。
11.进一步地,与所述左车轮连接的左车轮电机的旋转角度通过如下步骤获得:
12.转动左车轮电机,判断所述左车轮电机的旋转角度是否达到预设旋转角度,若是则停止转动左车轮电机并获取所述左车轮电机累计的旋转角度,若否则继续转动所述左车轮电机。
13.进一步地,与所述右车轮连接的右车轮电机的旋转角度通过如下步骤获得:
14.转动右车轮电机,判断所述右车轮电机的旋转角度是否达到预设旋转角度,若是则停止转动右车轮电机并获取所述右车轮电机累计的旋转角度,若否则继续转动所述右车轮电机。
15.进一步地,还包括如下步骤:
16.重复进行上述步骤,得到机器人的多个的标定底盘轴距,计算机器人的多个的标定底盘轴距的平均值,将所述平均值作为所述标定底盘轴距。
17.进一步地,还包括如下步骤:
18.存储所述标定底盘轴距到机器人内的存储器。
19.进一步地,还包括如下步骤:
20.获取原轴距参数,判断标定底盘轴距与原底盘轴距是否超过预设的误差值,若否则更新标定底盘轴距,若是则不更新标定底盘轴距。
21.为实现上述目的,本技术提供一种机器人底盘轴距标定系统,包括机器人,所述机器人上设置电机、惯性测量传感器和主控单元;
22.所述电机用于驱动机器人的左车轮或者右车轮进行行走和旋转;
23.所述惯性测量传感器用于检测机器人旋转的旋转角度;
24.所述电机与所述惯性测量传感器分别连接所述主控单元,所述主控单元用于执行上述任意一项实施例所述的机器人底盘轴距标定方法。
25.进一步地,所述机器人为扫地机器人、迎宾机器人或者护士机器人。
26.区别于现有技术,上述技术方案中,机器人可以通过根据所述左车轮、所述右车轮的移动距离以及机器人的旋转角度得到机器人的标定底盘轴距,并借以替换自身不准确的轴距,进而实时地获取准确的轴距,提升机器人行进的稳定性。而且,上述技术方案获得标定底盘轴距的速度远快于人工轴距标定的速度,可以有效解决人工轴距标定的繁琐,解放劳动生产力。
附图说明
27.图1为本实施例中机器人底盘轴距标定方法的流程图之一;
28.图2为本实施例中机器人底盘轴距标定方法的流程图之二;
29.图3本实施例中机器人的结构示意图;
30.图4本实施例中机器人底盘轴距标定系统的结构示意图之一;
31.图5本实施例中机器人底盘轴距标定系统的结构示意图之二。
32.附图标记说明
33.1、左车轮;
34.2、左车轮电机;
35.3、右车轮;
36.4、右车轮电机;
37.5、辅助车轮;
38.6、惯性测量传感器;
39.7、主控单元;
40.8、存储器。
具体实施方式
41.为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
42.请参阅图3,机器人的左车轮1位于所述机器人底盘的左侧,机器人的右车轮3位于所述机器人底盘的右侧,左车轮以及右车轮可以驱动机器人在承载面上向左或者向右旋转。机器人的旋转轴垂直于承载面,所述承载面可以为地面。机器人底盘的上还设置至少一个的辅助车轮5(可以是万向轮),用于辅助机器人的行驶。所述机器人底盘轴距指左车轮1
和右车轮3之间的距离,轴距的误差会引起机器人车轮反馈的角速度(旋转角度)的误差,不利于影响机器人的行进。现有机器人底盘的轴距的标定是借助标准的计量仪器(例如游标卡尺)来检测,然后再将标定的轴距值输入到机器人上,此种标定的方式效率过低。
43.请参阅图1至图5,本实施例提供一种机器人底盘轴距标定方法,包括如下步骤:
44.步骤s101,驱动左车轮或者右车轮转动从而驱动机器人旋转,如图1所示。机器人的左车轮以及右车轮位于承载面上,所述承载面可以为地面。机器人的左车轮以及右车轮是平行的且二者的轮心正对。左车轮以及右车轮可以驱动机器人在承载面上向左或者向右旋转,机器人的旋转轴垂直于承载面。
45.步骤s102,获取所述左车轮或者所述右车轮的移动距离,获取机器人的旋转角度,如图1所示。所述机器人的旋转角度是指机器人在承载面上向左转动或者向右转动的累计旋转角度。所述左车轮的移动距离是指左车轮在承载面上移动的距离,所述右车轮的移动距离是指右车轮在承载面上移动的距离。
46.步骤s103,根据所述左车轮或者所述右车轮的移动距离以及机器人的旋转角度计算出标定底盘轴距,如图1所示。
47.上述技术方案中,机器人可以通过根据所述左车轮、所述右车轮的移动距离以及机器人的旋转角度得到机器人的标定底盘轴距,并借以替换自身不准确的轴距,进而获取准确的轴距,提升机器人行进的稳定性。而且,上述技术方案获得标定底盘轴距的速度远快于人工轴距标定的速度,可以有效解决人工轴距标定的繁琐,解放劳动生产力。
48.在本实施例中,所述左车轮的移动距离根据所述左车轮的旋转角度与所述左车轮的半径计算得到,所述左车轮的外周长可以通过左车轮的半径计算得到。左车轮的旋转角度为360
°
时,左车轮的移动距离为左车轮的外周长;当左车轮的旋转角度为720
°
时,左车轮的移动距离为左车轮的外周长的两倍。
49.在本实施例中,所述左车轮的旋转角度根据与所述左车轮连接的左车轮电机的旋转角度计算得到。左车轮电机的旋转角度指左车轮电机输出轴的旋转角度,左车轮电机具有编码器,主控单元通过获取编码器的编码值可以计算得到左车轮电机的旋转角度。
50.在本实施例中,所述左车轮的半径可以是通过人工测量获得,或者是从左车轮的制造商处获得。
51.在本实施例中,所述右车轮的移动距离根据所述右车轮的旋转角度与所述右车轮的半径计算得到。所述右车轮的外周长可以通过右车轮的半径计算得到,当右车轮的旋转角度为360
°
时,右车轮的移动距离为右车轮的外周长;当右车轮的旋转角度为720
°
时,右车轮的移动距离为右车轮的外周长的两倍。
52.在本实施例中,所述右车轮的旋转角度根据与所述右车轮连接的右车轮电机的旋转角度计算得到。右车轮电机的旋转角度指右车轮电机输出轴的旋转角度,右车轮电机具有编码器,主控单元通过获取编码器的编码值可以计算得到右车轮电机的旋转角度。
53.在本实施例中,所述右车轮的半径可以是通过人工测量获得,或者是从右车轮的制造商处获得。
54.在本实施例中,机器人旋转的方式(可记为机器人的第一种旋转方式)为,机器人在承载面上向左旋转,左车轮不转动作为圆心,右车轮转动驱动机器人以左车轮为圆心转动,右车轮移动的路线为弧线;机器人在承载面上向右旋转,右车轮不转动作为圆心,左车
轮转动驱动机器人以右车轮为圆心转动,左车轮移动的路线为弧线,机器人做的是圆周旋转。
55.在请参阅图2的步骤s2051,在机器人的第一种旋转方式中,机器人做的是圆周旋转运动,圆心点为静止的左车轮(右车轮驱动机器人转动),或者圆心点为静止的右车轮(左车轮驱动机器人转动),此时机器人的底盘轴距为圆的半径。驱动电机使机器人行走一个圆周的路程,机器人的底盘轴距可以通过如下公式一得到:
56.公式一
57.在公式一中,ln为机器人的底盘轴距,ln也为圆的半径,c为圆的周长,π为圆周率。
58.在进一步的实施例中,公式一的c所指的圆的周长可以根据左车轮(或者右车轮)的移动距离与传感器(即下文所述的惯性测量传感器)检测到的机器人的旋转角度计算得到。例如,当传感器检测到的机器人的旋转角度为720
°
,左车轮做圆周运动的移动距离为234米,那么当机器人的旋转角度为360度时,c的数值为117。
59.在本实施例中,机器人旋转的方式(可记为机器人的第二种旋转方式)为,机器人的左车轮和右车轮一起转动并朝向机器人的左侧方向,进而左车轮和右车轮同步转动以驱动机器人在承载面上向左旋转,左车轮和右车轮的移动路线均为弧形,机器人旋转的圆心位于机器人的整车轴中心上;或者:机器人的左车轮和右车轮一起转动并朝向机器人的右侧方向,进而左车轮和右车轮同步转动以驱动机器人在承载面上向右旋转,左车轮和右车轮的移动路线均为弧线。优选的,左车轮和右车轮转动的速度为匀速的,机器人做的是匀速圆周旋转。
60.在本实施例中,左车轮1与右车轮3分别连接一个电机,左车轮1连接左车轮电机2,左车轮1在左车轮电机2的驱动下转动,右车轮3连接右车轮电机4,右车轮3在右车轮电机4的驱动下转动,结构如图3所示。所述左车轮电机用于驱动左车轮转动或者停止,所述左车轮的旋转角度根据所述左车轮电机的旋转角度计算得到;所述右车轮电机用于驱动右车轮转动或者停止,所述右车轮的旋转角度根据所述右车轮电机的旋转角度计算得到。简而言之,如图2的步骤s203所示,控制机器人旋转,获取当前轴距下电机的旋转角度,电机的旋转角度可以由电机反馈编码值经过一定换算得到。值得一提的是,电机的旋转角度可以计算得到机器人的旋转角度,用于表示机器人旋转了多少度。
61.在请参阅图2的步骤s2051,机器人的第二种旋转方式中,根据如下公式二得到机器人的标定底盘轴距:
62.公式二
63.在公式二中,ln为标定底盘轴距,l0为初始底盘轴距,ao为电机(右车轮电机或者左车轮电机)根据相关公式计算出的机器人的旋转角度,an为机器人的旋转角度。
64.标定后的轴距值如下表所示:
65.初始底盘轴距(mm)电机的旋转角度(
°
)机器人的旋转角度(
°
)标定后的轴距值(mm)3701825.4114991749.675903386.01563493701825.2879641747.093263386.56010013751823.9484391768.103271386.8442957
3751823.850831770.973022386.19677023901828.4400631843.656128386.78125153901825.7124081840.733887386.8173693951825.6663821865.633179386.53805533951824.9558111864.161499386.6926475
66.结果显示,标定后的轴距值误差皆在1毫米内。
67.在本实施例中,电机的旋转角度根据公式三、公式四、公式五和公式六(自上而下)得到:
68.公式三
69.公式四
70.公式五
71.公式六ao=σθ
72.在公式三中,v为机器人的线速度,vr为机器人的右车轮的线速度,vl为机器人的左车轮的线速度;在公式四中,ω为机器人旋转的角速度,vr为机器人的右车轮的转速,vl为机器人的左车轮转速,lo为初始底盘轴距;在公式五中,θ为电机(左车轮电机与右车轮电机的线速度)换算得到机器人的旋转角度,ω为机器人旋转的角速度,t为机器人的旋转的时间,π为圆周率;在公式六中,ao为θ累计值,可用于累计机器人的旋转角度,也可用于累计电机输出轴的旋转角度。
73.在本实施例中,在机器人的第二种旋转方式中,电机计算出的机器人的旋转角度是分别与左车轮的线速度、右车轮的线速度相关的,于是先通过左车轮的线速度与右车轮的线速度计算出机器人的旋转角度,而后通过角度的累加得到机器人累计的旋转角度,具体为主控单元根据公式四、公式五和公式六可以计算得到机器人的旋转角度。
74.需要说明的是,电机累计的旋转角度与车轮的线速度相关,电机累计角度=线速度*时间/(2*π*半径),可记为公式七。
75.需要说明的是,公式七把机器人的第一种旋转方式与机器人的第二种旋转方式联系起来,进而机器人的第一种旋转方式也可以利用公式二的相关公式计算标定底盘轴距。
76.在本实施例中,如图2所示,所述左车轮电机的旋转角度通过如下步骤获得:步骤203,转动所述左车轮电机,从而带动左车轮转动。步骤204,判断所述左车轮电机的旋转角度是否达到预设旋转角度;若是则进入步骤205,停止转动并获取所述左车轮电机累计的旋转角度,之后进入到步骤s2051中,计算得到标定底盘轴距;若否则返回至步骤s203,继续转动左车轮电机,直至左车轮电机的旋转角度达到预设角度。
77.假设预设旋转角度设定为5000
°
,左车轮电机的旋转角度达到5000
°
或者大于5000
°
时,则停止左车轮转动电机,使得机器人趋于平稳,然后获取与所述左车轮电机的旋转角度,避免左车轮电机由于惯性继续转动而影响到数值的准确性。机器人处于停止静止状态,电机不转动,此时左车轮电机累计的旋转角度是准确的,此时获取左车轮电机累计的旋转角度有利于得到准确值较高的标定底盘轴距。
78.优选的,在步骤204中,可以是在机器人在承载面上旋转20
°
后,控制机器人停止转
动并获取所述左车轮电机累计的旋转角度。
79.在本实施例中,如图2所示,所述右车轮电机的旋转角度通过如下步骤获得:步骤203,转动所述右车轮电机,从而带动右车轮转动。步骤204,判断所述右车轮电机的旋转角度是否达到预设旋转角度,若是则进入步骤205,停止转动并获取所述右车轮电机累计的旋转角度,若否则返回至步骤s203,继续转动右车轮电机,直至右车轮电机的旋转角度达到预设角度。
80.假设预设旋转角度设定为5000
°
,右车轮电机的旋转角度达到5000
°
或者大于5000
°
时,则停止转动右车轮电机,使得机器人趋于平稳,然后获取所述右车轮电机的旋转角度,避免右车轮电机由于惯性继续转动而影响到数值的准确性。机器人处于停止静止状态,电机不转动,此时右车轮电机累计的旋转角度是准确的,此时获取右车轮电机累计的旋转角度利于得到准确值较高的标定底盘轴距。
81.优选的,在步骤204中,可以是在机器人在承载面上旋转20
°
后,控制机器人停止转动并获取所述右车轮电机累计的旋转角度。需要说明的是,在机器人的第二种旋转方式中,左车轮和右车轮是要一起停止的,如此获得的数据较为精确,误差较小,避免对惯性测量传感器获取到的角度产生干扰。
82.在本实施例中,如图2所示,单次轴距标定也许会出现一些的误差,为了降低机械误差,机器人底盘轴距标定方法还包括如下步骤:步骤206,判断轴距获取次数是否达到预设次数,预设次数可以为2次、3次、4次、5次乃至更多,若是则得到机器人的多个的标定底盘轴距(即步骤s207),计算机器人的多个的标定底盘轴距的平均值,并作为所述标定底盘轴距(即步骤s209,标定底盘轴距的平均值作为底盘轴距)。若否则继续重复上述步骤,以达到预设次数。简而言之,重复进行上述步骤,得到机器人的多个的标定底盘轴距,计算机器人的多个的标定底盘轴距的平均值,将所述平均值作为所述标定底盘轴距。如此可以避免机械传动、测量或者计算由于某些不可控制的因素的影响而造成的变化偏离真实值过多,保障最后多个的标定底盘轴距的平均值趋近于真实值。
83.在本实施例中,在得到标定底盘轴距后,为了更新机器人的底盘轴距,所述底盘轴距标定方法还包括如下步骤:存储所述标定底盘轴距到机器人内的存储器8。所述存储器8为具有数据存储功能的电子元件,可以为随机存取存储器(ram)、只读存储器(rom)、光盘、闪存、u盘、移动硬盘、存储卡、磁碟、磁带等。所述存储器8连接机器人的主控单元7,结构如图5所示。所述主控单元为具有数据处理功能的电子元件,可以为中央处理器(cpu)、图形处理器(gpu)、数字信号处理器(dsp)等。
84.在本实施例中,如图2所示,所述底盘轴距标定方法还包括如下步骤:步骤s201,机器人启动,开始进行轴距标定方法。
85.以及,步骤s208,判断标定底盘轴距与原底盘轴距是否超过预设的误差值,若否则更新标定底盘轴距,若是则不更新标定底盘轴距。需要说明的是,如果之前获取多个的标定底盘轴距,此时是判断标定底盘轴距的平均值是否超过预设的误差值;如果之前只获取一个的标定底盘轴距,判断这一个标定底盘轴距与原底盘轴距是否超过预设的误差值。需要说明的是,预设的误差值可以设置为0.5毫米、1毫米、1.5毫米、2毫米等,根据实际情况而定。以及,在步骤s208的同时可以一并获取原轴距参数;或者是先于步骤s208获取原轴距参数,如图2所示,获取原轴距参数这一步骤为s202在步骤s203与步骤s201之间。
86.请参阅图1至图5,本实施例还提供一种机器人底盘轴距标定系统,包括机器人。所述机器人可以为扫地机器人、迎宾机器人、护士机器人等。优选的,所述机器人优选为扫地机器人,能凭借一定的人工智能,自动在房间内完成地板清理工作。一般采用刷扫和真空方式,将地面杂物先吸纳进入自身的垃圾收纳盒,从而完成地面清理的功能。所述机器人上设置电机、惯性测量传感器6(inertial measurement unit,imu)和主控单元7,结构如图4所示。
87.所述惯性测量传感器6可以检测机器人的加速度、倾斜、冲击、振动、旋转和多自由度运动,所述惯性测量传感器6用于检测机器人旋转的旋转角度,并将检测到机器人的旋转角度发送给所述主控单元7。所述主控单元7控制惯性测量传感器获取机器人的旋转角度,并得到标定的底盘轴距。
88.请参阅图4,所述电机与所述惯性测量传感器6分别连接所述主控单元7。所述主控单元7控制所述电机驱动左车轮或者右车轮转动,从而带动机器人行走和旋转。
89.具体的,请参阅图3,机器人的左车轮1位于所述机器人底盘的左侧,机器人的右车轮3位于所述机器人底盘的右侧,左车轮以及右车轮可以驱动机器人在承载面上向左或者向右旋转。机器人的旋转轴垂直于承载面,所述承载面可以为地面。机器人底盘的上还设置至少一个的辅助车轮5(可以是万向轮),用于辅助机器人的行驶。所述机器人底盘轴距指左车轮1和右车轮3之间的距离,轴距的误差会引起机器人车轮反馈的角速度(旋转角度)的误差,不利于影响机器人的行进。
90.具体的,请参阅图3,所述电机包括左车轮电机2和右车轮电机4,左车轮1连接左车轮电机2,左车轮1在左车轮电机2的驱动下转动,右车轮3连接右车轮电机4,右车轮3在右车轮电机4的驱动下转动。
91.所述主控单元7为具有数据处理功能的电子元件,可以为中央处理器(cpu)、图形处理器(gpu)、数字信号处理器(dsp)等。所述主控单元用于执行如上述任意一项实施例所述的机器人底盘轴距标定方法。
92.请参阅图1至图2,所述机器人底盘轴距标定方法包括如下步骤:
93.步骤s101,所述主控单元7驱动左车轮1或者右车轮3转动从而驱动机器人旋转,如图1所示。机器人的左车轮以及右车轮位于承载面上,所述承载面可以为地面。机器人的左车轮以及右车轮是平行的且二者的轮心正对。左车轮以及右车轮可以驱动机器人在承载面上向左或者向右旋转,机器人的旋转轴垂直于承载面。
94.步骤s102,所述主控单元7获取所述左车轮1或者所述右车轮3的移动距离,获取机器人的旋转角度,如图1所示。所述机器人的旋转角度是指机器人在承载面上向左转动或者向右转动的累计旋转角度。所述左车轮的移动距离是指左车轮在承载面上移动的距离,所述右车轮的移动距离是指右车轮在承载面上移动的距离。
95.步骤s103,所述主控单元7根据所述左车轮或者所述右车轮的移动距离以及机器人的旋转角度计算出标定底盘轴距,如图1所示。
96.上述技术方案中,机器人可以通过根据所述左车轮、所述右车轮的移动距离以及机器人的旋转角度得到机器人的标定底盘轴距,并借以替换自身不准确的轴距,进而实时地获取准确的轴距,提升机器人行进的稳定性。而且,上述技术方案获得标定底盘轴距的速度远快于人工轴距标定的速度,可以有效解决人工轴距标定的繁琐,解放劳动生产力。
97.在本实施例中,所述左车轮的移动距离根据所述左车轮的旋转角度与所述左车轮的半径计算得到,所述左车轮的外周长可以通过左车轮的半径计算得到。左车轮的旋转角度为360
°
时,左车轮的移动距离为左车轮的外周长;当左车轮的旋转角度为720
°
时,左车轮的移动距离为左车轮的外周长的两倍。
98.在本实施例中,所述左车轮的旋转角度根据与所述左车轮连接的左车轮电机的旋转角度计算得到。左车轮电机的旋转角度指左车轮电机输出轴的旋转角度,左车轮电机具有编码器,主控单元通过获取编码器的编码值可以计算得到左车轮电机的旋转角度。
99.在本实施例中,所述左车轮的半径可以是通过人工测量获得,或者是从左车轮的制造商处获得。
100.在本实施例中,所述右车轮的移动距离根据所述右车轮的旋转角度与所述右车轮的半径计算得到。所述右车轮的外周长可以通过右车轮的半径计算得到,当右车轮的旋转角度为360
°
时,右车轮的移动距离为右车轮的外周长;当右车轮的旋转角度为720
°
时,右车轮的移动距离为右车轮的外周长的两倍。
101.在本实施例中,所述右车轮的旋转角度根据与所述右车轮连接的右车轮电机的旋转角度计算得到。右车轮电机的旋转角度指右车轮电机输出轴的旋转角度,右车轮电机具有编码器,主控单元通过获取编码器的编码值可以计算得到右车轮电机的旋转角度。
102.在本实施例中,所述右车轮的半径可以是通过人工测量获得,或者是从右车轮的制造商处获得。
103.在本实施例中,机器人旋转的方式(可记为机器人的第一种旋转方式)为,机器人在承载面上向左旋转,左车轮不转动作为圆心,右车轮转动驱动机器人以左车轮为圆心转动,右车轮移动的路线为弧线;机器人在承载面上向右旋转,右车轮不转动作为圆心,左车轮转动驱动机器人以右车轮为圆心转动,左车轮移动的路线为弧线,机器人做的是圆周旋转。
104.在请参阅图2的步骤s2051,在机器人的第一种旋转方式中,机器人做的是圆周旋转运动,圆心点为静止的左车轮(右车轮驱动机器人转动),或者圆心点为静止的右车轮(左车轮驱动机器人转动),此时机器人的底盘轴距为圆的半径。驱动电机使机器人行走一个圆周的路程,机器人的底盘轴距可以通过如下公式一得到:
105.公式一
106.在公式一中,ln为机器人的底盘轴距,ln也为圆的半径,c为圆的周长,π为圆周率。
107.在进一步的实施例中,公式一的c所指的圆的周长可以根据左车轮(或者右车轮)的移动距离与传感器(即下文所述的惯性测量传感器)检测到的机器人的旋转角度计算得到。例如,当传感器检测到的机器人的旋转角度为720
°
,左车轮做圆周运动的移动距离为234米,那么当机器人的旋转角度为360度时,c的数值为117。
108.在本实施例中,机器人旋转的方式(可记为机器人的第二种旋转方式)为,机器人的左车轮和右车轮一起转动并朝向机器人的左侧方向,进而左车轮和右车轮同步转动以驱动机器人在承载面上向左旋转,左车轮和右车轮的移动路线均为弧形,机器人旋转的圆心位于机器人的整车轴中心上;或者:机器人的左车轮和右车轮一起转动并朝向机器人的右侧方向,进而左车轮和右车轮同步转动以驱动机器人在承载面上向右旋转,左车轮和右车
轮的移动路线均为弧线。优选的,左车轮和右车轮转动的速度为匀速的,机器人做的是匀速圆周旋转。
109.在本实施例中,左车轮1与右车轮3分别连接一个电机,左车轮1连接左车轮电机2,左车轮1在左车轮电机2的驱动下转动,右车轮3连接右车轮电机4,右车轮3在右车轮电机4的驱动下转动,结构如图3所示。所述左车轮电机用于驱动左车轮转动或者停止,所述左车轮的旋转角度根据所述左车轮电机的旋转角度计算得到;所述右车轮电机用于驱动右车轮转动或者停止,所述右车轮的旋转角度根据所述右车轮电机的旋转角度计算得到。简而言之,如图2的步骤s203所示,所述主控单元7控制机器人旋转,获取当前轴距下电机的旋转角度,电机的旋转角度可以由电机反馈编码值经过一定换算得到。值得一提的是,电机的旋转角度可以计算得到机器人的旋转角度,用于表示机器人旋转了多少度。
110.请参阅图2的步骤s2051,在机器人的第二种旋转方式中,根据如下公式二得到机器人的标定底盘轴距:
111.公式二
112.在公式二中,ln为标定底盘轴距,l0为初始底盘轴距,ao为电机(右车轮电机或者左车轮电机)根据相关公式计算出的机器人的旋转角度,an为机器人的旋转角度。
113.标定后的轴距值如下表所示:
114.初始底盘轴距(mm)电机的旋转角度(
°
)机器人的旋转角度(
°
)标定后的轴距值(mm)3701825.4114991749.675903386.01563493701825.2879641747.093263386.56010013751823.9484391768.103271386.84429573751823.850831770.973022386.19677023901828.4400631843.656128386.78125153901825.7124081840.733887386.8173693951825.6663821865.633179386.53805533951824.9558111864.161499386.6926475
115.结果显示,标定后的轴距值误差皆在1毫米内。
116.在本实施例中,电机的旋转角度根据公式三、公式四、公式五和公式六(自上而下)得到:
117.公式三
118.公式四
119.公式五
120.公式六ao=σθ
121.在公式三中,v为机器人的线速度,vr为机器人的右车轮的线速度,vl为机器人的左车轮的线速度;在公式四中,ω为机器人旋转的角速度,vr为机器人的右车轮的转速,vl为机器人的左车轮转速,l_o为初始底盘轴距;在公式五中,θ为电机(左车轮电机与右车轮电机的线速度)换算得到机器人的旋转角度,ω为机器人旋转的角速度,t为机器人的旋转
的时间,π为圆周率;在公式六中,ao为θ累计值,可用于累计机器人的旋转角度,也可用于累计电机输出轴的旋转角度。
122.在本实施例中,在机器人的第二种旋转方式中,电机计算出的机器人的旋转角度是分别与左车轮的线速度、右车轮的线速度相关的,于是先通过左车轮的线速度与右车轮的线速度计算出机器人的旋转角度,而后通过角度的累加得到机器人累计的旋转角度,具体为主控单元根据公式四、公式五和公式六可以计算得到机器人的旋转角度。
123.需要说明的是,电机累计的旋转角度与车轮的线速度相关,电机累计角度=线速度*时间/(2*π*半径),可记为公式七。
124.需要说明的是,公式七把机器人的第一种旋转方式与机器人的第二种旋转方式联系起来,进而机器人的第一种旋转方式也可以利用公式二的相关公式计算标定底盘轴距。
125.在本实施例中,如图2所示,所述左车轮电机的旋转角度通过如下步骤获得:步骤203,所述主控单元7转动所述左车轮电机,从而带动左车轮转动。步骤204,所述主控单元7判断所述左车轮电机的旋转角度是否达到预设旋转角度;若是则进入步骤205,所述主控单元7停止转动左车轮电机并获取所述左车轮电机累计的旋转角度;若否则返回至步骤s203,所述主控单元7继续转动左车轮电机,直至左车轮电机的旋转角度达到预设角度。
126.假设预设旋转角度设定为5000
°
,左车轮电机的旋转角度达到5000
°
或者大于5000
°
时,则停止左车轮转动电机,使得机器人趋于平稳,然后获取与所述左车轮电机的旋转角度,避免左车轮电机由于惯性继续转动而影响到数值的准确性。机器人处于停止静止状态,电机不转动,此时左车轮电机累计的旋转角度是准确的,此时获取左车轮电机累计的旋转角度利于得到准确值较高的标定底盘轴距。
127.优选的,在步骤204中,可以是在机器人在承载面上旋转20
°
后,控制机器人停止转动并获取所述左车轮电机累计的旋转角度。
128.在本实施例中,如图2所示,所述右车轮电机的旋转角度通过如下步骤获得:步骤203,所述主控单元7转动所述右车轮电机,从而带动右车轮转动。步骤204,所述主控单元7判断所述右车轮电机的旋转角度是否达到预设旋转角度,若是则进入步骤205,所述主控单元7停止转动右车轮电机并获取所述右车轮电机累计的旋转角度,若否则返回至步骤s203,所述主控单元7继续转动右车轮电机,直至右车轮电机的旋转角度达到预设角度。
129.假设预设旋转角度设定为5000
°
,右车轮电机的旋转角度达到5000
°
或者大于5000
°
时,则停止转动右车轮电机,使得机器人趋于平稳,然后获取所述右车轮电机的旋转角度,避免右车轮电机由于惯性继续转动而影响到数值的准确性。机器人处于停止静止状态,电机不转动,此时右车轮电机累计的旋转角度是准确的,此时获取右车轮电机累计的旋转角度利于得到准确值较高的标定底盘轴距。
130.优选的,在步骤204中,可以是在机器人在承载面上旋转20
°
后,控制机器人停止转动并获取所述右车轮电机累计的旋转角度。需要说明的是,在机器人的第二种旋转方式中,左车轮和右车轮是要一起停止的,如此获得的数据较为精确,误差较小,避免对惯性测量传感器获取到的角度产生干扰。
131.在本实施例中,如图2所示,单次轴距标定也许会出现一些的误差,为了降低机械误差,机器人底盘轴距标定方法还包括如下步骤:步骤206,所述主控单元7判断轴距获取次数是否达到预设次数,预设次数可以为2次、3次、4次、5次乃至更多,若是则得到机器人的多
个的标定底盘轴距(即步骤s207),计算机器人的多个的标定底盘轴距的平均值,并作为所述标定底盘轴距(即步骤s209,标定底盘轴距的平均值作为底盘轴距)。若否则继续重复上述步骤,以达到预设次数。简而言之,重复进行上述步骤,得到机器人的多个的标定底盘轴距,计算机器人的多个的标定底盘轴距的平均值,将所述平均值作为所述标定底盘轴距。如此可以避免机械传动、测量或者计算由于某些不可控制的因素的影响而造成的变化偏离真实值过多,保障最后多个的标定底盘轴距的平均值趋近于真实值。
132.在本实施例中,在得到标定底盘轴距后,为了更新机器人的底盘轴距,所述底盘轴距标定方法还包括如下步骤:所述主控单元7存储所述标定底盘轴距到机器人内的存储器8。所述存储器8为具有数据存储功能的电子元件,可以为随机存取存储器(ram)、只读存储器(rom)、光盘、闪存、u盘、移动硬盘、存储卡、磁碟、磁带等。所述存储器8连接机器人的主控单元7,结构如图5所示。所述主控单元为具有数据处理功能的电子元件,可以为中央处理器(cpu)、图形处理器(gpu)、数字信号处理器(dsp)等。
133.在本实施例中,如图2所示,所述底盘轴距标定方法还包括如下步骤:步骤s201,机器人启动,所述主控单元7开始进行轴距标定方法。
134.以及,步骤s208,所述主控单元7判断标定底盘轴距与原底盘轴距是否超过预设的误差值,若否则更新标定底盘轴距,若是则不更新标定底盘轴距。需要说明的是,如果之前获取多个的标定底盘轴距,此时是判断标定底盘轴距的平均值是否超过预设的误差值;如果之前只获取一个的标定底盘轴距,判断这一个标定底盘轴距与原底盘轴距是否超过预设的误差值。需要说明的是,预设的误差值可以设置为0.5毫米、1毫米、1.5毫米、2毫米等,根据实际情况而定。以及,在步骤s208的同时可以一并获取原轴距参数;或者是先于步骤s208获取原轴距参数,如图2所示,获取原轴距参数这一步骤为s202在步骤s203与步骤s201之间。
135.需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献