CN111829551A - 一种机器人里程计的获取方法、装置和电子设备 - Google Patents
一种机器人里程计的获取方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111829551A CN111829551A CN202010566703.6A CN202010566703A CN111829551A CN 111829551 A CN111829551 A CN 111829551A CN 202010566703 A CN202010566703 A CN 202010566703A CN 111829551 A CN111829551 A CN 111829551A
- Authority
- CN
- China
- Prior art keywords
- robot
- increment
- steering wheel
- odometer
- acquiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请涉及一种机器人里程计的获取方法、装置和电子设备,其中,该机器人里程计的获取方法包括:相比于相关技术,本申请实施例提供的机器人里程计的获取方法,通过获取机器人第一时刻的里程计,获取机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,根据第一旋转角度和第一移动增量获取舵轮对机器人的位移增量,根据第一旋转角度和第一移动增量,通过向量点乘获取舵轮对机器人的旋转增量,根据第一时刻的里程计、旋转增量和位移增量获取机器人在第二时刻的里程计,解决了通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题,提高了机器人里程计的计算精度。
Description
技术领域
本申请涉及机器人运动控制领域,特别是涉及一种机器人里程计的获取方法、装置和电子设备。
背景技术
里程计是指(如装在汽车上的)测量行程的装置,在机器人领域,里程计作为移动机器人相对定位的有效传感器,为机器人提供了实时的位姿信息。移动机器人里程计模型决定于移动机器人结构和运动方式,即移动机器人运动学模型。
相关技术中,在四转四驱机器人控制方面是通过四个舵轮的垂线估算出机器人的曲率圆心,进而计算出机器人中心的点位移增量,算出里程计。这种计算方式在机器人动态调整过程中,四个舵轮的角度控制所需要的时间不同,此时很容易出现四个舵轮的垂线不相交于一点,进而估算出的曲率圆心就会不准确,造成计算出的机器人里程计计算精度低。
目前针对相关技术中通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种机器人里程计的获取方法、装置和电子设备,以至少解决相关技术中通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题。
第一方面,本申请实施例提供了一种机器人里程计的获取方法,所述方法包括:
获取机器人第一时刻的里程计,获取所述机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,所述第二时刻是所述第一时刻之后的时刻;
根据所述第一旋转角度和所述第一移动增量获取所述舵轮对所述机器人的位移增量,根据所述第一旋转角度和所述第一移动增量,通过向量点乘获取所述舵轮对所述机器人的旋转增量;
根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计,其中,所述里程计包括:所述机器人的坐标位置和所述机器人的第二旋转角度。
在其中一些实施例中,根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计包括:
根据所述位移增量确定所述机器人在坐标系中x轴方向上的第二移动增量,根据所述位移增量确定所述机器人在坐标系中y轴方向上的第三移动增量;
根据第一时刻的所述坐标位置、所述第二移动增量和所述第三移动增量确定第二时刻的所述坐标位置;
根据第一时刻的所述第二旋转角度与所述旋转增量确定第二时刻的所述第二旋转角度。
在其中一些实施例中,所述位移增量包括坐标系中x轴方向上的位移增量和坐标系中y轴方向上的位移增量;
所述获取所述舵轮对所述机器人的位移增量包括:
根据所述第一移动增量和所述第一旋转角度确定所述舵轮在坐标系中x轴方向上的第一移动分量,根据所述第一移动分量确定所述舵轮对所述机器人在坐标系中x轴方向上的位移增量;
根据所述第一移动增量和所述第一旋转角度确定所述舵轮在坐标系中y轴方向上的第二移动分量,根据所述第二移动分量确定所述舵轮对所述机器人在坐标系中y轴方向上的位移增量。
在其中一些实施例中,所述通过向量点乘获取所述舵轮对所述机器人的旋转增量包括:
获取所述舵轮的舵轮坐标,根据所述舵轮坐标确定所述舵轮的单位向量;
根据所述第一移动增量、所述第一旋转角度和所述舵轮坐标确定所述舵轮的位移向量;
根据所述单位向量和所述位移向量的点乘以确定所述舵轮对所述机器人的旋转增量。
在其中一些实施例中,所述方法还包括:
获取所述机器人的第三旋转角度、线速度和偏航角,并根据所述第三旋转角度、所述线速度和所述偏航角获取曲率圆心的曲率坐标;
获取所述舵轮的舵轮坐标,根据所述曲率坐标和所述舵轮坐标获取所述舵轮的控制旋转角度;
根据所述线速度、所述曲率坐标和所述舵轮坐标,获取所述舵轮的控制速度,其中,所述控制旋转角度和所述控制速度指示所述机器人的行走轨迹。
在其中一些实施例中,所述获取所述舵轮的控制速度包括:
获取所述曲率坐标距原点坐标的第一距离,以及所述曲率圆心距所述舵轮坐标的第二距离;
确定所述第二距离和所述第一距离的比值,并根据所述比值与所述线速度的乘积计算出所述舵轮的控制速度。
在其中一些实施例中,所述机器人的运动模型包括以下至少之一:四转四驱运动模型、两轮差速运动模型和四轮差速运动模型。
第二方面,本申请实施例提供了一种机器人里程计的获取装置,所述装置包括:信息获取模块和里程计获取模块;
信息获取模块,用于获取机器人第一时刻的里程计,获取所述机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,所述第二时刻是所述第一时刻之后的时刻;
里程计获取模块,根据所述第一旋转角度和所述第一移动增量获取所述舵轮对所述机器人的位移增量,根据所述第一旋转角度和所述第一移动增量,通过向量点乘获取所述舵轮对所述机器人的旋转增量;用于根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计,其中,所述里程计包括:所述机器人的坐标位置和所述机器人的第二旋转角度;
所述信息获取模块和所述里程计获取模块还用于实现如权利要求1至6中任一项所述方法的步骤。
在其中一些实施例中,所述信息获取模块和所述里程计获取模块还用于实现如上述所述的机器人里程计获取方法的步骤。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的机器人里程计获取方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的机器人里程计获取方法。
相比于相关技术,本申请实施例提供的机器人里程计的获取方法,通过获取机器人第一时刻的里程计,获取所述机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,所述第二时刻是所述第一时刻之后的时刻,根据所述第一旋转角度和所述第一移动增量获取所述舵轮对所述机器人的位移增量,根据所述第一旋转角度和所述第一移动增量,通过向量点乘获取所述舵轮对所述机器人的旋转增量,根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计,其中,所述里程计包括:所述机器人的坐标位置和所述机器人的第二旋转角度,解决了通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题,提高了机器人里程计的计算精度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的四转四驱移动机器人运动的示意图;
图2是根据本申请实施例的机器人里程计获取方法的流程图;
图3是根据本申请实施例的机器人在第二时刻的里程计获取方法的流程图;
图4a是根据本申请实施例的获取舵轮对机器人的位移增量方法的流程图;
图4b是根据本申请实施例的舵轮w1、w2、w3、w4对机器人平移作用的示意图;
图5a是根据本申请实施例的获取舵轮对机器人的旋转增量的方法的流程图;
图5b根据本申请实施例的舵轮w1、w2、w3、w4对机器人旋转作用的示意图;
图6a是根据本申请实施例的机器人运动控制方法的流程图;
图6b是根据本申请实施例的曲率圆心位置示意图;
图6c是根据本申请实施例的舵轮角度控制示意图;
图7a是根据本申请实施例的获取舵轮的控制速度的方法的流程图;
图7b是根据本申请实施例的机器人非原地旋转示意图;
图8是根据本申请实施例的机器人里程计获取装置的结构框图;
图9是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的机器人里程计的获取方法,应用于移动的机器人中,在机器人领域,里程计作为移动机器人相对定位的有效传感器,为机器人提供了实时的位姿信息。机器人的里程计与汽车的里程计不一样,汽车的里程计只有一维数据(行驶公里数),而机器人的里程计是三维数据(x,y,ang),包括机器人在坐标系下的坐标位置(x,y)及旋转角度(ang),本申请中的机器人里程计获取方法就是通过获取各舵轮的角度和移动增量,来获取出机器人的里程计。动机器人里程计模型决定于移动机器人结构和运动方式,即移动机器人运动学模型,本申请的机器人里程计的获取方法所适用于的运动模型包括以下至少之一:四转四驱运动模型、两轮差速运动模型和四轮差速运动模型,需要说明的是,在以下的实施例是以四转四驱运动模型为例来阐述机器人里程计的获取方法,如图1是根据本申请实施例的四转四驱移动机器人运动的示意图,其中图1的命名:O点:机器人的正中心,也是质点O;W1:左前轮;W2:左后轮;W3:右前轮;W4:右后轮;XOY坐标系:机器人坐标系,以O点为原点,机器人正前方为Y轴正方向,满足笛卡尔坐标系;C点:O点运动轨迹的瞬时曲率圆心;yaw:偏航角,O点瞬时移动方向相对于Y轴的夹角;wAng1:左前轮相对于X轴的夹角;wAng2:左后轮相对于X轴的夹角;wAng3:右前轮相对于X轴的夹角;wAng4:右后轮相对于X轴的夹角;L1:前后轴距;L2:左右轮距。
本实施例提供了一种机器人里程计的获取方法,图2是根据本申请实施例的机器人里程计获取方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,获取机器人第一时刻的里程计,获取机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,第二时刻是第一时刻之后的时刻。需要说明的是,本申请实施例中机器人的舵轮是四个,四个舵轮各自对应的第一旋转角度和第一移动增量均可以通过安装在机器人上的传感器或者编码器获得。
步骤S202,根据第一旋转角度和第一移动增量获取舵轮对机器人的位移增量,根据第一旋转角度和第一移动增量,通过向量点乘获取舵轮对机器人的旋转增量。在机器人里程计的获取过程中,可以将机器人看成是一个质点O,由于可以获取到舵轮实时的第一旋转角度和实时第一移动增量,可以确定质点O的位移增量,在各个舵轮的实时第一旋转角度和实时第一移动增量的基础上,并结合向量点乘,可获取各舵轮分别对质点O的旋转影响,建立在各个舵轮分别对质点O的旋转影响确定质点O所旋转角度增量,质点O的旋转角度增量便是机器人的旋转增量。
步骤S203,根据第一时刻的里程计、旋转增量和位移增量获取机器人在第二时刻的里程计,其中,里程计包括:机器人的坐标位置和机器人的第二旋转角度。
通过步骤S201至步骤S203,本申请通过获取各个舵轮具体的实时第一旋转角度和实时第一移动增量,并将机器人看成是一个质点O,确定各个舵轮单独对质点O的位移增量,同样的,再根据向量点乘,获取出各舵轮分别对质点O的旋转影响,建立在各个舵轮分别对质点O的旋转影响来确定质点O的旋转角度增量,质点O所旋转角度增量便是机器人的旋转增量,本申请实施例首先确定各个舵轮对机器人单独影响,然后将各个影响叠加来确定机器人的里程计,无需考虑各舵轮之间的姿态关系,如四个舵轮的垂线是否相较于一点,解决了通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题,提高了机器人里程计的计算精度。
在其中一些实施例中,图3是根据本申请实施例的机器人在第二时刻的里程计获取方法的流程图,如图3所示,该方法包括如下步骤:
步骤S301,根据位移增量确定机器人在坐标系中x轴方向上的第二移动增量,根据位移增量确定机器人在坐标系中y轴方向上的第三移动增量。需要说明的是,机器人质点O在世界坐标系下的里程计坐标为(x,y,ang),(x,y)为坐标位置,ang为第二旋转角度,该计算如下:
上述公式1中LAng为当前时间增量的斜线在世界坐标系中的角度,preOdom.ang为第一时刻的ang,Ad为机器人的旋转增量。
上述公式2中XXd为机器人在x轴方向上的移动增量,也就是步骤S301中的第二移动增量,
上述公式3中YYd为机器人在y轴方向上的移动增量,也就是步骤S301中的第三移动增量。
步骤S302,根据第一时刻的坐标位置、第二移动增量和第三移动增量确定第二时刻的坐标位置,
odom.x=preOdom.x+XXd公式4
odom.y=preOdom.y+YYd公式5
上述公式4中odom.x为机器人在第二时刻的x,preOdom.x为机器人在第一时刻的x,XXd为机器人在x轴方向上的移动增量,
上述公式5中odom.y为机器人在第二时刻的y,preOdom.y为机器人在第一时刻的y,XXd为机器人在y轴方向上的移动增量。
步骤S303,根据第一时刻的第二旋转角度与旋转增量确定第二时刻的第二旋转角度,
odom.ang=preOdom.ang+Ad公式6
上述公式6中odom.ang为机器人在第二时刻的ang,preOdom.ang为机器人在第一时刻的ang,Ad为机器人的旋转增量。
通过步骤S301至步骤S303,确定位移增量分别在坐标系中x轴方向上的第二移动增量和坐标系中y轴方向上的第三移动增量,在第一时刻的里程计的基础上对应增加第二移动增量、第三移动增量和旋转增量,便可确定出第二时刻的里程计,叠加简单。
在其中一些实施例中,图4a是根据本申请实施例的获取舵轮对机器人的位移增量方法的流程图,位移增量包括坐标系中x轴方向上的位移增量和坐标系中y轴方向上的位移增量如图4a所示,该方法包括如下步骤:
步骤S401,根据第一移动增量和第一旋转角度确定舵轮在坐标系中x轴方向上的第一移动分量,根据第一移动分量确定舵轮对机器人在坐标系中x轴方向上的位移增量。第一移动分量是各个舵轮分别在坐标系中x轴方向上的作用影响,四个舵轮的第一移动分量的均值便是机器人舵轮对机器人在坐标系中x轴方向上的位移增量,图4b是根据本申请实施例的舵轮w1、w2、w3、w4对机器人平移作用的示意图,参照图4b,该计算如下:
wAng1、wLd1分别为左前轮第一旋转角度和左前轮第一移动增量,
wAng2、wLd2分别为左后轮第一旋转角度和左后轮第一移动增量,
wAng3、wLd3分别为右前轮第一旋转角度和右前轮第一移动增量,
wAng4、wLd4分别为右前轮第一旋转角度和右前轮第一移动增量;
wXd1=wLd1*cos(wAng1)公式7
上述公式7中wXd1为左前轮的第一移动增量wLd1在x轴上的第一移动分量,
wXd2=wLd2*cos(wAng2)公式8
上述公式8中wXd2为左后轮的第一移动增量wLd2在x轴上的第一移动分量,
wXd3=wLd3*cos(wAng3)公式9
上述公式9中wXd3为右前轮的第一移动增量wLd3在x轴上的第一移动分量,
wXd4=wLd4*cos(wAng4)公式10
上述公式10中wXd4为右后轮的第一移动增量wLd4在x轴上的第一移动分量,
上述公式11中Xd为机器人在x轴方向上的位移增量。
步骤S402,根据第一移动增量和第一旋转角度确定舵轮在坐标系中y轴方向上的第二移动分量,根据第二移动分量确定舵轮对机器人在坐标系中y轴方向上的位移增量。其中,位移增量包括在坐标系中x轴方向上的位移增量和坐标系中y轴方向上的位移增量。第二移动分量是各个舵轮分别在坐标系中y轴方向上的影响,四个舵轮的第二移动分量的均值便是机器人舵轮对机器人在坐标系中y轴方向上的位移增量,参照图4b,该计算如下:
wYd1=wLd1*sin(wAng1)公式12
上述公式12中wYd1为左前轮的第一移动增量wLd1在y轴上的第二移动分量,
wYd2=wLd2*sin(wAng2)公式13
上述公式13中wYd2为左后轮的第一移动增量wLd2在y轴上的第二移动分量,
wYd3=wLd3*sin(wAng3)公式14
上述公式14中wYd3为右前轮的第一移动增量wLd3在y轴上的第二移动分量,
wYd4=wLd4*sin(wAng4)公式15
上述公式15中wYd4为右后轮的第一移动增量wLd4在y轴上的第二移动分量,
上述公式16中Yd为机器人在y轴方向上的位移增量。
通过步骤S401至步骤S402,分别确定各个舵轮在坐标系中x轴方向上的第一移动分量和在坐标系中y轴方向上的第二移动分量,以确定出各个舵轮对机器人在坐标系中x轴方向上和坐标系中y轴方向上的影响,使得机器人里程计的获取方法一般化,适用范围广。
在其中一些实施例中,图5a是根据本申请实施例的获取舵轮对机器人的旋转增量的方法的流程图,如图5a所示,该方法包括如下步骤:
步骤S501,获取舵轮的舵轮坐标,根据舵轮坐标确定舵轮的单位向量,需要说明的是,舵轮的舵轮坐标也是舵轮在坐标系中的结构参数,图5b根据本申请实施例的舵轮w1、w2、w3、w4对机器人旋转作用的示意图,参照图5b,该计算如下:
首先根据各舵轮坐标确定舵轮的单位向量的绝对值:
各舵轮相对O点逆时针旋转的单位向量分别垂直于OW1、OW2、OW3、OW4,
上述公式17中的sinA和公式18中的cosA分别为舵轮在三角函数下单位向量的绝对值;
其次确定出各舵轮的单位向量:
wVector1X=-sinA,wVector1Y=-cosA公式19
上述公式19中的wVector1X和wVector1Y为左前轮的单位向量,
wVector2X=sinA,wVector2Y=-cosA公式20
上述公式20中的wVector2X和wVector2Y为左后轮的单位向量,
wVector3X=-sinA,wVector3Y=cosA公式21
上述公式21中的wVector3X和wVector3Y为右前轮的单位向量,
wVector4X=sinA,wVector4Y=cosA公式22
上述公式22中的wVector4X和wVector4Y为右后轮的单位向量。
步骤S502,根据第一移动增量、第一旋转角度和舵轮坐标确定舵轮的位移向量。在得知各个舵轮的舵轮坐标的基础上,利用舵轮位移增量等于第一移动增量与第一旋转角度所对应的三角函数的乘积来确定各个舵轮的位移向量,参照图5b,该计算如下:
wLdVector1X=wLd1*cos(wAng1),
wLdVector1Y=wLd1*sin(wAng1)公式23
上述公式23中wLdVector1X和wLdVector1Y为左前轮的位移向量,
wLdVector2X=wLd2*cos(wAng2),
wLdVector2Y=wLd2*sin(wAng2)公式24
上述公式24中wLdVector2X和wLdVector2Y为左后轮的位移向量,
wLdVector3X=wLd3*cos(wAng3),
wLdVector3Y=wLd3*sin(wAng3)公式25
上述公式25中wLdVector3X和wLdVector3Y为右前轮的位移向量,
wLdVector4X=wLd4*cos(wAng4),
wLdVector4Y=wLd4*sin(wAng4)公式26
上述公式26中wLdVector4X和wLdVector4Y为右后轮的位移向量。
步骤S503,根据单位向量和位移向量的点乘以确定舵轮对机器人的旋转增量。点乘又称点积,在数学中又称数量积,首先根据单位向量和位移向量的点乘分别确定出各个舵轮对机器人的旋转影响量,其次对四个舵轮的旋转影响量求均值以确定机器人的旋转增量,需要说明的是,机器人的旋转增量就是机器人的旋转角度增量,参照图5b,该计算如下:
上述公式27中wAngd1为左前轮对机器人的旋转影响量,
上述公式28中wAngd2为左后轮对机器人的旋转影响量,
上述公式29中wAngd3为右前轮对机器人的旋转影响量,
上述公式30中wAngd4为右后轮对机器人的旋转影响量,
上述公式31中Ad为机器人的旋转角度增量。
通过步骤S501至步骤S503,分别确定各个舵轮对机器人的旋转影响量,其次对四个舵轮的旋转影响量求均值以确定机器人的旋转增量,使得机器人里程计的获取方法一般化,适用范围广,对各个舵轮对机器人的旋转影响向量化计算,精度高。
在其中一些实施例中,图6a是根据本申请实施例的机器人运动控制方法的流程图,如图6a所示,该方法包括如下步骤:
步骤S601,获取机器人的第三旋转角度、线速度和偏航角,并根据第三旋转角度、线速度和偏航角获取曲率圆心的曲率坐标。首先根据线速度与第三旋转角度的比值确定曲率半径,其次根据偏航角确定曲率半径的斜率,最后根据斜率和曲率半径确定曲率圆心的曲率坐标,图6b是根据本申请实施例的曲率圆心位置示意图,参照图6b,该计算如下:其中
上述公式32中r为曲率半径OC,lineVel为机器人的线速度,angVel为机器人的角速度,也就是步骤S601中的第三旋转角速度,
K=tan(yaw)公式33
上述公式33中K为斜率,yaw为机器人的偏航角,
上述公式34中cPointX为曲率圆心C点的横坐标,cPointY为曲率圆心C点的纵坐标。
步骤S602,获取舵轮的舵轮坐标,根据曲率坐标和舵轮坐标获取舵轮的控制旋转角度,图6c是根据本申请实施例的舵轮角度控制示意图,参照图6b和6c,该计算如下:
计算向量CW1相对于X轴的角度:其中,(CW1x,CW1y)为向量CW1的坐标,
上述公式35中CW1ang为曲率圆心C点在第一、四象限时CW1相对于X轴的角度,
上述公式36中CW1ang为曲率圆心C点在第二、三象限时CW1相对于X轴的角度,
计算舵轮w1的控制旋转角度:
上述公式37中wAng1为曲率圆心C点在Y轴右侧时左前轮w1的控制旋转角度,
上述公式38中wAng1为曲率圆心C点在Y轴左侧时左前轮w1的控制旋转角度,
同理求出舵轮w2、w3、w4的控制旋转角度。
步骤S603,根据线速度、曲率坐标和舵轮坐标,获取舵轮的控制速度,其中,控制旋转角度和控制速度指示机器人的行走轨迹。
通过步骤S601至步骤S603,获取线速度、角速度的同时,也获取偏航角,通过控制舵轮的控制旋转角度和控制速度,使机器人中心点按要求的轨迹移动,实现机器人正前方与行进方向的夹角可以是任意角度,可以更全面地控制机器人的运行姿态。
在其中一些实施例中,图7a是根据本申请实施例的获取舵轮的控制速度的方法的流程图,如图7a所示,该方法包括如下步骤:
步骤S701,获取曲率坐标距原点坐标的第一距离,以及曲率圆心距舵轮坐标的第二距离,图7b是根据本申请实施例的机器人非原地旋转示意图,该计算如下:
上述公式39中CO为曲率坐标距原点坐标的第一距离,也就是图7b中CO的长度,
上述公式40中CW为曲率圆心距舵轮坐标的第二距离,可选的,以舵轮w1为例,CW便是图7b中Cw1的长度,wPointX为舵轮的横坐标,wPointY为舵轮的纵坐标。
步骤S702,确定第二距离和第一距离的比值,并根据比值与线速度的乘积计算出舵轮的控制速度。
上述公式41中wVel1为左前轮的控制速度,
同理求出舵轮w2、w3、w4的的控制速度。
通过步骤S701至步骤S702,根据曲率坐标以及对应舵轮坐标来确定各个舵轮的控制速度,实现对舵轮的精准控制,使得机器人中心点按要求的轨迹移动。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种机器人里程计的获取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一些实施例中,图8是根据本申请实施例的机器人里程计获取装置的结构框图,如图8所示,该装置包括:信息获取模块81和里程计获取模块82。
信息获取模块81,用于获取机器人第一时刻的里程计,获取机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,第二时刻是第一时刻之后的时刻;
里程计获取模块82,用于根据第一旋转角度和第一移动增量获取舵轮对机器人的位移增量,根据第一旋转角度和第一移动增量,通过向量点乘获取舵轮对机器人的旋转增量;用于根据第一时刻的里程计、旋转增量和位移增量获取机器人在第二时刻的里程计,其中,里程计包括:机器人的坐标位置和机器人的第二旋转角度。
本申请通过信息获取模块81获取各个舵轮具体的实时第一旋转角度和实时第一移动增量,并将机器人看成是一个质点O,确定各个舵轮单独对质点O的位移增量,同样的,再根据向量点乘,确定各舵轮分别对质点O的旋转影响,建立在各个舵轮分别对质点O的旋转影响来确定质点O的旋转角度增量,质点O所旋转角度增量便是机器人的旋转增量,本申请实施例确定各个舵轮对机器人单独影响,然后将各个影响叠加来确定机器人的里程计,无需考虑各舵轮之间的姿态关系,如四个舵轮的垂线是否相较于一点,解决了通过各个舵轮的垂线估算出机器人的曲率圆心来确定里程计,存在机器人里程计计算精度低的问题,提高了机器人里程计的计算精度。
在其中一些实施例中,信息获取模块81和里程计获取模块82还用于实现上述各个实施例提供的机器人里程计计算的方法中的步骤。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在一个实施例中,提供了一种电子设备,该电子设备可以是终端。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人里程计计算的方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图9是根据本申请实施例的电子设备的内部结构示意图,如图9所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现机器人里程计计算的方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的机器人里程计计算的方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的机器人里程计计算的方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人里程计的获取方法,其特征在于,所述方法包括:
获取机器人第一时刻的里程计,获取所述机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,所述第二时刻是所述第一时刻之后的时刻;
根据所述第一旋转角度和所述第一移动增量获取所述舵轮对所述机器人的位移增量,根据所述第一旋转角度和所述第一移动增量,通过向量点乘获取所述舵轮对所述机器人的旋转增量;
根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计,其中,所述里程计包括:所述机器人的坐标位置和所述机器人的第二旋转角度。
2.根据权利要求1所述的方法,其特征在于,根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计包括:
根据所述位移增量确定所述机器人在坐标系中x轴方向上的第二移动增量,根据所述位移增量确定所述机器人在坐标系中y轴方向上的第三移动增量;
根据第一时刻的所述坐标位置、所述第二移动增量和所述第三移动增量确定第二时刻的所述坐标位置;
根据第一时刻的所述第二旋转角度与所述旋转增量确定第二时刻的所述第二旋转角度。
3.根据权利要求1所述的方法,其特征在于,所述位移增量包括坐标系中x轴方向上的位移增量和坐标系中y轴方向上的位移增量;
所述获取所述舵轮对所述机器人的位移增量包括:
根据所述第一移动增量和所述第一旋转角度确定所述舵轮在坐标系中x轴方向上的第一移动分量,根据所述第一移动分量确定所述舵轮对所述机器人在坐标系中x轴方向上的位移增量;
根据所述第一移动增量和所述第一旋转角度确定所述舵轮在坐标系中y轴方向上的第二移动分量,根据所述第二移动分量确定所述舵轮对所述机器人在坐标系中y轴方向上的位移增量。
4.根据权利要求1所述的方法,其特征在于,所述通过向量点乘获取所述舵轮对所述机器人的旋转增量包括:
获取所述舵轮的舵轮坐标,根据所述舵轮坐标确定所述舵轮的单位向量;
根据所述第一移动增量、所述第一旋转角度和所述舵轮坐标确定所述舵轮的位移向量;
根据所述单位向量和所述位移向量的点乘以确定所述舵轮对所述机器人的旋转增量。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述机器人的第三旋转角度、线速度和偏航角,并根据所述第三旋转角度、所述线速度和所述偏航角获取曲率圆心的曲率坐标;
获取所述舵轮的舵轮坐标,根据所述曲率坐标和所述舵轮坐标获取所述舵轮的控制旋转角度;
根据所述线速度、所述曲率坐标和所述舵轮坐标,获取所述舵轮的控制速度,其中,所述控制旋转角度和所述控制速度指示所述机器人的行走轨迹。
6.根据权利要求5所述的方法,其特征在于,所述获取所述舵轮的控制速度包括:
获取所述曲率坐标距原点坐标的第一距离,以及所述曲率圆心距所述舵轮坐标的第二距离;
确定所述第二距离和所述第一距离的比值,并根据所述比值与所述线速度的乘积计算出所述舵轮的控制速度。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述机器人的运动模型包括以下至少之一:四转四驱运动模型、两轮差速运动模型和四轮差速运动模型。
8.一种机器人里程计的获取装置,其特征在于,所述装置包括:信息获取模块和里程计获取模块;
信息获取模块,用于获取机器人第一时刻的里程计,获取所述机器人的各个舵轮第二时刻的第一旋转角度和第一移动增量,其中,所述第二时刻是所述第一时刻之后的时刻;
里程计获取模块,根据所述第一旋转角度和所述第一移动增量获取所述舵轮对所述机器人的位移增量,根据所述第一旋转角度和所述第一移动增量,通过向量点乘获取所述舵轮对所述机器人的旋转增量;用于根据所述第一时刻的里程计、所述旋转增量和所述位移增量获取所述机器人在第二时刻的里程计,其中,所述里程计包括:所述机器人的坐标位置和所述机器人的第二旋转角度;
所述信息获取模块和所述里程计获取模块还用于实现如权利要求1至6中任一项所述方法的步骤。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566703.6A CN111829551B (zh) | 2020-06-19 | 2020-06-19 | 一种机器人里程计的获取方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010566703.6A CN111829551B (zh) | 2020-06-19 | 2020-06-19 | 一种机器人里程计的获取方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111829551A true CN111829551A (zh) | 2020-10-27 |
CN111829551B CN111829551B (zh) | 2022-04-12 |
Family
ID=72897778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010566703.6A Active CN111829551B (zh) | 2020-06-19 | 2020-06-19 | 一种机器人里程计的获取方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111829551B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180024561A1 (en) * | 2016-07-20 | 2018-01-25 | Singapore University Of Technology And Design | Robot and method for localizing a robot |
CN108168543A (zh) * | 2016-12-07 | 2018-06-15 | 广州映博智能科技有限公司 | 基于里程计的移动机器人自主定位方法 |
CN108748135A (zh) * | 2018-04-04 | 2018-11-06 | 上海物景智能科技有限公司 | 一种机器人驱动轮打滑位姿矫正方法以及一种机器人 |
CN109857108A (zh) * | 2019-01-31 | 2019-06-07 | 浙江迈睿机器人有限公司 | 基于内模控制算法的移动机器人轨迹跟踪方法及系统 |
CN110293563A (zh) * | 2019-06-28 | 2019-10-01 | 炬星科技(深圳)有限公司 | 估计机器人位姿的方法、设备及存储介质 |
CN110989571A (zh) * | 2019-10-18 | 2020-04-10 | 江苏金陵智造研究院有限公司 | 一种用于舵轮驱动型agv的循迹控制方法 |
CN111098335A (zh) * | 2019-12-26 | 2020-05-05 | 浙江欣奕华智能科技有限公司 | 一种双轮差速驱动机器人里程计标定方法及装置 |
CN111273551A (zh) * | 2020-03-12 | 2020-06-12 | 山东大学 | 双舵轮自动导引车轨迹追踪控制方法及系统 |
-
2020
- 2020-06-19 CN CN202010566703.6A patent/CN111829551B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180024561A1 (en) * | 2016-07-20 | 2018-01-25 | Singapore University Of Technology And Design | Robot and method for localizing a robot |
CN108168543A (zh) * | 2016-12-07 | 2018-06-15 | 广州映博智能科技有限公司 | 基于里程计的移动机器人自主定位方法 |
CN108748135A (zh) * | 2018-04-04 | 2018-11-06 | 上海物景智能科技有限公司 | 一种机器人驱动轮打滑位姿矫正方法以及一种机器人 |
CN109857108A (zh) * | 2019-01-31 | 2019-06-07 | 浙江迈睿机器人有限公司 | 基于内模控制算法的移动机器人轨迹跟踪方法及系统 |
CN110293563A (zh) * | 2019-06-28 | 2019-10-01 | 炬星科技(深圳)有限公司 | 估计机器人位姿的方法、设备及存储介质 |
CN110989571A (zh) * | 2019-10-18 | 2020-04-10 | 江苏金陵智造研究院有限公司 | 一种用于舵轮驱动型agv的循迹控制方法 |
CN111098335A (zh) * | 2019-12-26 | 2020-05-05 | 浙江欣奕华智能科技有限公司 | 一种双轮差速驱动机器人里程计标定方法及装置 |
CN111273551A (zh) * | 2020-03-12 | 2020-06-12 | 山东大学 | 双舵轮自动导引车轨迹追踪控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111829551B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107607113B (zh) | 一种两轴姿态倾角测量方法 | |
JP2019181692A (ja) | 装置の配向を計算するためのシステムおよび方法 | |
CN110286683A (zh) | 一种履带式移动机器人的自主行驶路径跟踪控制方法 | |
CN111730605B (zh) | 一种机器人姿态控制方法、装置、可读存储介质及机器人 | |
CN109141410B (zh) | Agv组合导航的多传感器融合定位方法 | |
CN111038583B (zh) | 无人车转向补偿方法、装置、计算机设备和存储介质 | |
CN110231816A (zh) | 控制机器人行走的方法、装置、机器人和存储介质 | |
CN111618861A (zh) | 一种基于四轴结构的双随动智能手臂控制方法 | |
CN115674208A (zh) | 一种机器人振动抑制装置、控制方法及其机器人 | |
CN111829551B (zh) | 一种机器人里程计的获取方法、装置和电子设备 | |
CN112148017B (zh) | 一种误差标定方法、装置、电子设备及存储介质 | |
JP3267323B2 (ja) | 無人車の制御装置 | |
CN111412886B (zh) | 一种检测方法及检测系统 | |
CN117034664A (zh) | 一种盾构机推进系统液压油缸行程计算方法及装置 | |
JP3034121B2 (ja) | 無人車の制御装置 | |
CN114413791B (zh) | 一种舵轮式叉车舵轮零偏角的检测方法、系统及装置 | |
Zeng et al. | Terrain parameters identification of kinematic and dynamic models for a tracked mobile robot | |
CN113246124A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
Hidalgo et al. | Kinematics modeling of a hybrid wheeled-leg planetary rover | |
JP2021142969A (ja) | センサ誤差補正装置 | |
JP2021076901A (ja) | 移動体の姿勢推定装置 | |
CN113030504B (zh) | 车辆测速方法、装置、车载计算机设备和存储介质 | |
KR101170873B1 (ko) | 엔코더를 이용한 비젼 트래킹 시스템 및 방법 | |
CN116337331B (zh) | 水下机器人平衡检测方法、控制装置及设备 | |
CN114394102B (zh) | 姿态传感器的校准方法和行驶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310053 floor 8, building a, No. 1181 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Zhejiang Huarui Technology Co.,Ltd. Address before: C10, No. 1199 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: ZHEJIANG HUARAY TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |