CN110406593A - 机器人及其转向控制方法 - Google Patents
机器人及其转向控制方法 Download PDFInfo
- Publication number
- CN110406593A CN110406593A CN201810404382.2A CN201810404382A CN110406593A CN 110406593 A CN110406593 A CN 110406593A CN 201810404382 A CN201810404382 A CN 201810404382A CN 110406593 A CN110406593 A CN 110406593A
- Authority
- CN
- China
- Prior art keywords
- driving wheel
- adjustment amount
- robot
- yaw angle
- revolving speed
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D11/00—Steering non-deflectable wheels; Steering endless tracks or the like
- B62D11/001—Steering non-deflectable wheels; Steering endless tracks or the like control systems
- B62D11/003—Electric or electronic control systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D11/00—Steering non-deflectable wheels; Steering endless tracks or the like
- B62D11/02—Steering non-deflectable wheels; Steering endless tracks or the like by differentially driving ground-engaging elements on opposite vehicle sides
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请实施例提供机器人及其转向控制方法,所述机器人设置有能够通过差速转动实现所述机器人转向的第一驱动轮和第二驱动轮,所述方法包括:获取机器人的当前偏航角。根据所述当前偏航角和目标偏航角计算第一驱动轮和第二驱动轮的第一调整量。获取所述第一驱动轮和所述第二驱动轮的当前实际转速。根据所述当前实际转速计算所述第一驱动轮和第二驱动轮的第二调整量。根据所述第一调整量和所述第二调整量计算所述第一驱动轮和第二驱动轮的实际调整量。通过上述方式,本申请能够保证机器人转动控制的精准性。
Description
技术领域
本申请涉及机器人控制技术领域,特别是涉及机器人及其转向控制方法。
背景技术
现有技术中,大多数机器人在制造和装配中,比如各零件尤其是电机等设计制造、结构安装存在差异,在进行转向时容易导致机器人产生偏移而使行进路径容易出现偏差,最后出现与目标偏航角度或者路径不一致的现象,如此难以使得机器人进行有效地避障或者行进到目标点,现有机器人在进行转向时大多数都因为上述问题,而无法对其转向方向进行有效控制。
发明内容
本申请主要解决的技术问题是提供机器人及其转向控制方法,能够改善现有技术中机器人转向时存在偏移等现象。
为解决上述技术问题,本申请实施例提供一种机器人的转向控制方法,所述机器人设置有能够通过差速转动实现所述机器人转向的第一驱动轮和第二驱动轮,所述方法包括:
获取机器人的当前偏航角。
根据所述当前偏航角和目标偏航角计算第一驱动轮和第二驱动轮的第一调整量。
获取所述第一驱动轮和所述第二驱动轮的当前实际转速。
根据所述当前实际转速计算所述第一驱动轮和第二驱动轮的第二调整量。
根据所述第一调整量和所述第二调整量计算所述第一驱动轮和第二驱动轮的实际调整量。
为解决上述技术问题,本申请实施例还提供一种机器人,包括机器人本体、处理器,所述机器人本体包括第一驱动轮、第二驱动轮,其中第一驱动轮和第二驱动轮能够进行差速转动,所述处理器用于执行如上述机器人转向控制方法。
与现有技术相比,本申请的有益效果是:本申请实施例通过根据当前偏航角和目标偏航角计算第一调整量,根据第一驱动轮和第二驱动轮的当前实际转速计算第二调整量,通过处理器根据第一调整量与第二调整量计算实际调整量,第一调整量能够用于使得机器人得出转向信息并向目标偏航角进行转向,第二调整量用于对实际转速进行调整以能够平衡第一驱动轮和第二驱动轮的转速差异,如此使得机器人进行精准且稳定的转向,避免由于机器人本身存在的误差所导致的转动平移或者偏移等现象,通过上述方式使得机器人更加有效进行避障、行进等动作。
附图说明
图1是本申请机器人实施例的结构示意图;
图2是本申请机器人实施例电路示意图;
图3是本申请机器人实施例中机器人转向路径对比示意图;
图4是本申请机器人实施例转向路径示意图;
图5是本申请机器人实施例原地转动示意图;
图6是本申请机器人转向控制方法一实施例流程示意图;
图7是本申请机器人转向控制方法二实施例流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,大多数机器人在制造和装配中,比如各零件尤其是电机等设计制造、结构安装存在差异,在机器进行转向时,由于机器人两侧的电机和轮子设计、安装上的差异导致两侧车轮转向的速度与设计速度不同,由此容易导致机器人产生偏移而使行进路径容易出现偏差,最后出现与目标偏航角度或者路径不一致的现象,如此难以使得机器人进行有效地避障或者行进到目标点。为了解决上述问题,本申请提供如下实施例:
参阅图1与图2,本申请机器人实施例,包括机器人本体11、处理器12,机器人本体11包括第一驱动轮111、第二驱动轮112以及分别用于驱动第一驱动轮111和第二驱动轮112的第一驱动机构113与第二驱动机构114。第一驱动轮111与第二驱动轮112能够通过差速转动实现机器人转向。
进一步地,机器人本体11还包括第一位置传感器115、第二位置传感器116,其中第一位置传感器115用于采集第一驱动轮111的运动信息,例如运动速度或者转动速度。具体地,例如通过采集第一驱动机构113的转动信息从而采集第一驱动轮111的运动信息。第二位置传感器116用于采集第二驱动轮112的运动信息,例如运动速度或者转动速度。具体地,例如通过采集第二驱动机构114的转动信息从而采集第二驱动轮112的运动信息。其中可选的是,第一位置传感器115可以为光栅编码器和/或霍尔编码器等。第二位置传感器116同理也可以为光栅编码器和/或霍尔编码器等。
当然机器人本体11还可以包括壳体(未标注),用于显示机器人表情和图像等的显示系统(未标注),用于机器人接收声音和发出声音的音频系统(图未示),用于处理器12与外部设备连接的通信系统(图未示)以及执行机构(未标注)等。
具体地,第一驱动机构113可以包括第一驱动器(图未示)和第一驱动电机(图未示)。第二驱动机构114可以包括第二驱动器(图未示)和第二驱动电机(图未示)。
进一步地,机器人进一步包括惯性测量单元13(Inertial measurement unit,IMU),用于测量机器人的三轴加速度、三轴角速度等,用于计算机器人当前的偏航角(YAW)。例如惯性测量单元13可以安装在机器人的重心上。
在本实施例中,处理器12可以称为CPU(Central Processing Unit,中央处理单元)。处理器12能是一种集成电路芯片,具有逻辑和/或信号的处理能力、计算能力。处理器12还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器12用于获取机器人的当前偏航角。具体地,处理器12获取由惯性测量单元13的所发送的当前偏航角。例如机器人内预设有一标准方向,机器人当前所偏向的方向与标准方向的角度可以称为当前偏航角,例如惯性测量单元13内具有标准方向,惯性测量单元13检测到的机器人当前的方向与标准方向之间的角度,即为当前偏航角。
处理器12用于根据当前偏航角和目标偏航角计算第一驱动轮111和第二驱动轮112的第一调整量。具体地,目标偏航角可以由外界输入,例如使用者通过软件进行设置,当然也可以由机器人自主识别目标物体而产生的目标偏航角。
具体地,根据当前偏航角和目标偏航角的信息,例如采用PID算法,得到第一调整量例如第一调整量可以为电压输出量,作用于第一驱动机构113和第二驱动机构114上,改变第一驱动轮111以及第二驱动轮112的转速,以进行差速转动。
处理器12用于获取第一驱动轮111和第二驱动轮112的当前实际转速。具体地,机器人获取第一位置传感器115与第二位置传感器116所分别得到的第一驱动轮111的当前实际转速和第二驱动轮112的当前实际转速。
参阅图3,处理器12用于根据当前实际转速计算第一驱动轮111和第二驱动轮112的第二调整量。例如机器人转动目标偏航角行进到目标位置,理想状态下,机器人本身不存在系统误差,第一驱动轮111与第二驱动轮112之间没有误差,第一驱动机构113与第二驱动机构114之间也不存在误差,只需要第一调整量即可使得机器人按照预设的转动中心转动目标偏航角,从而行进到目标位置,但是由于机器人存在系统误差、第一驱动机构113和第二驱动机构114在设计制造、结构安装上都存在差异,导致机器人在偏航转向时,机器人的转动中心跟理论转动中心不同,因此第一驱动轮111与第二驱动轮112之间的速度差与理想计算值不同,导致机器人的行进轨迹出现偏移,即使最后的目标偏航角相同,但是行进的路径出现了偏差到达不了目标位置或者使得路径规划出现错误,可能使得机器人失控。因此需要通过第一驱动轮111与第二驱动轮112的当前实际转速,计算第二调整量,第一调整量与第二调整量共同作用调整由于机器人的系统误差,第一驱动机构113与第二驱动机构114,和/或第一驱动轮111与第二驱动轮112在设计制造以及结构安装上所带来的差异所导致的偏移误差。
处理器12用于根据第一调整量和第二调整量计算第一驱动轮111和第二驱动轮112的实际调整量。例如通过第一调整量与第二调整量分别计算出第一驱动轮111的实际调整量,以及第二驱动轮112的实际调整量。处理器12根据实际调整量输入相应的电压控制第一驱动轮111的速度,同时根据实际调整量输入相应的电压控制第二驱动轮112的速度。在本实施例中,通过处理器根据当前偏航角和目标偏航角计算第一调整量,再根据当前实际转速计算第二调整量,利用第一调整量与第二调整量计算得出最后的调整量,第一调整量保证机器人按照目标偏航角进行行进,第二调整量保证机器人不会出现由于机器人设计制造、结构安装上的误差所导致行进过程中发生平移或者偏移等现象,因此协同利用第一调整量与第二调整量所得到的最后的实际调整量能够对第一驱动轮111以及第二驱动轮112进行精准地调整,使得机器人有效地按照目标偏航角进行运动或者行进到目标位位置,从而对机器人偏航轨迹或者转向进行精准地控制。
在本实施例中,因为机器人要实现差速转动,根据第一调整量和第二调整量所生成的实际调整量,处理器12根据实际调整量所分别作用在第一驱动轮111和第二驱动轮112的控制量不一定是相同的,也就是说,处理器12根据实际调整量输出到第一驱动机构113和第二驱动机构114的控制电压不一定是相同的。
可选的是,处理器12将第一调整量设置成使得通过第一调整量和和第一调整量与目标比值的乘积分别调整第一驱动轮111和第二驱动轮112的当前理论转速时,当前偏航角与目标偏航角之间的差值趋近于零,且按照预设的待转动半径进行转动,目标比值取决于待转动半径,目标比值取决于待转动半径。
实际上,处理器12根据当前偏航角与目标偏航角计算得出的第一调整量,作用到第一驱动轮111和第二驱动轮112上,在不考虑任何误差和运动精度的情况下,第一驱动轮111和第二驱动轮112的转动速度就是理论转动速度,因此第一调整量是一个理论上的输出量,在存在运动精度和误差的情况下,第一驱动轮111和第二驱动轮112实际转速与理论转速不同。由于第一驱动轮111和第二驱动轮112在进行转向过程中需要差速转动,因此两者之间转动的速度是不一样的,根据当前偏航角和目标偏航角计算第一驱动轮111和第二驱动轮112的第一调整量,如果第一驱动轮111和第二驱动轮112都输入同样的第一调整量,那么第一驱动轮111和第二驱动轮112就不能实现差速转动。因此根据实际转向情况的转动半径,将第一调整量和第一调整分别控制第一驱动轮111和第二驱动轮112的当前理论转速,此时第一驱动轮111和第二驱动轮112实现差速转动,且目标是使得当前偏航角与目标偏航角之间的差值趋近于零。
例如第一驱动轮111和第二驱动轮112当前实际转速均为5m/min,处理器12根据当前偏航角与目标偏航角得到第一调整量,第一调整量作用在第一驱动机构113上时,例如作用10V电压,第一驱动轮111的实际的理论转速变为7m/min,而第一调整量和目标比值的乘积在第二驱动机构114时,例如在第二驱动机构114上作用10*0.43V,第二驱动轮112的理论转速变为3m/min,此时第一驱动轮111和第二驱动轮112由于速度差的存在,机器人会往第二驱动轮112的一侧偏转,实现机器人往目标偏航角转动。
在本实施例中,通过第一调整量和第一调整量与目标比值的乘积调整第一驱动轮111和第二驱动轮112的当前理论转速后,使得当前偏航角与目标偏航角之间的差值趋于0,也即第一调整量能够保证机器人按照目标偏航角转动。
如图3所示,例如就第一调整量而言时,第一调整量和第一调整量与目标比值的乘积作用于第一驱动机构113和第二驱动机构114上时,在理想的状态下,能够使得第一驱动轮111和第二驱动轮112能够按照当前的理论转速进行差速转动,机器人从而往目标偏航角转动。如果不考虑第二调整量,机器人即使能够转动到目标偏航角,但是由于机器人存在固有的设计、安装上的误差,第一驱动轮111和第二驱动轮112并不能按当前的理论转速进行转动,两者的当前实际速度差也可能不同于当前理论速度差,由于第一驱动轮111和第二驱动轮112实际转速和理论转速存在的差异,会使得机器人在运动过程中出现了平移或者偏移等现象。
参阅图3与图4,可选的是,处理器12将第二调整量设置成使得通过第二调整量和第二调整量的相反数调整第一驱动轮111和第二驱动轮112的当前实际转速时,第一驱动轮111的调整后的实际转速趋近于第二驱动轮112的调整后的实际转速与目标比值的乘积。处理器12根据第一驱动轮111和第二驱动轮112的当前实际转速计算得出第二调整量。也就是,第二调整量能用于控制第一驱动轮111与第二驱动轮112之间的转速比值,克服由于第一驱动轮111与第二驱动轮112,和/或第一驱动机构113与第二驱动机构114在设计制造上、结构安装上带来的误差而产生的机器人在转动时转动中心发生偏移等问题。
具体地,经过第一调整量和第一调整量与目标比值的乘积调整后第一驱动轮111和第二驱动轮112的理论转速比值应该是等于目标比值的,由于运动精度例如设计制造、结构安装上等造成的差异,在实际转速的比值并不等于目标比值,因此通过第二调整量和第二调整量的相反数调整第一驱动轮111和第二驱动轮112的当前实际转速时,两者调整后的实际实际速度的比值等于目标比值,以此改善由于运动精度造成的误差发生的偏移等问题。
参阅图4,具体地,目标比值取决于第一驱动轮111和第二驱动轮112之间连线的中心点的待转动半径以及第一驱动轮111和第二驱动轮112之间的距离。进一步地,当所述第一驱动轮111相较于第二驱动轮112更靠近转动中心时,通过以下公式计算所述目标比值:
F=(r-d)/(d+r)。
当所述第二驱动轮112相较于第一驱动轮111更靠近转动中心时,通过以下公式计算所述目标比值:
F=(d+r)/(r-d)
其中,F为目标比值,d为第一驱动轮111和第二驱动轮112之间连线长度的一半,r为连线中心的点的待转动半径。
参阅图4,具体地,当转动中心位于第一驱动轮111和第二驱动轮112之间连线上时,r<d,则F为负值,两者转速的方向相反,使得第一驱动轮111和第二驱动轮112反转。
当转动中心位于第一驱动轮111和第二驱动轮112之外时,r>d,F为正值,即第一驱动轮111和第二驱动轮112的转速方向相同,使得机器人往速度小的一侧驱动轮方向偏转。
实际上偏转方向是由目标偏航角决定的,也就是说在获取机器人的当前偏航角后,就能够确定了偏转方向,再根据当前偏航角和目标偏航角计算第一驱动轮111和第二驱动轮111的第一调整量。
在本实施例中,通过第二调整量调整第一驱动轮111和第二驱动轮112后,能够使得第一驱动轮111与第二驱动轮112之间的当前实际转速比能够趋向于目标比值,也就是说得到围绕预设的目标转动点进行转动,也即第二调整量能够保证机器人有效地按照目标转动点进行转动。
例如就第二调整量而言,第二调整量和第二调整量的相反数作用于第一驱动机构113和第二驱动机构114上时,能够使得第一驱动机构113和第二驱动机构114在目标转动点进行转动,避免机器人发生平移或者偏移等现象。如果不考虑第一调整量,机器人无法知悉目标偏航角,也就无法转向到目标偏航角。
因此,处理器12根据第一调整量和第二调整量计算第一驱动轮111和第二驱动轮112的实际调整量,能够围绕预定转动点转动目标偏航角,避免发生偏移等现象。接下来具体介绍第一调整量、第二调整量以及实际调整量之间的关系。
例如,处理器12根据当前偏航角和目标偏航角,运用PID算法,计算第一调整量,第一调整量作用其中一个驱动机构上,第一调整量的与目标比值的乘积作用在另一个驱动机构上,从而调整第一驱动轮111和第二驱动轮112的当前理论转速,是两者进行差速转动,第一调整量的计算公式如下:
其中Pb为第一调整量,Kp为比例控制系数,可以根据实际情况取值。Ek为第k次的误差量,即目标偏航角与第k次当前偏航角的差。Ki为积分控制系数,根据实际情况取值。为第0次误差量到第k次误差量的总和。Kd为微分控制系数,根据实际情况取值。Ek-1为第k-1次差值。
具体地,处理器12分别获取第一位置传感器115以及第二位置传感器116所检测到运动信息,从而能够获取第一驱动轮111与第二驱动轮112的当前实际转速。处理器12根据第一驱动轮111和第二驱动轮112的当前实际转速,运用PID算法,得到第二调整量。第二调整量的计算公式如下:
Pl为第二调整量。Kv为比例控制系数,可以根据实际情况取值。Vk为第k次的误差量,即第一驱动轮111与第二驱动轮112的第k次转速差。Kx为积分控制系数,根据实际情况取值。为第0次误差量到第k次误差量的总和。Ky为微分控制系数,根据实际情况取值。Vk-1为第k-1次差值。
可选的是,根据第一调整量和第二调整量计算第一驱动轮111和第二驱动轮112的实际调整量,具体地,通过以下公式计算第一驱动轮111和第二驱动轮112的实际调整量。
U1=a1×Pb+a2×Pl,U2=a1×F×Pb-a2×Pl
其中F为目标比值,a1为第一权重值,a2为第二权重值。Pb为第一调整量。Pl为第二调整量。根据第一驱动轮111和第二驱动轮112的实际转速差情况,U1,U2是该两者的实际调整量。也就说,U1是两者中一者的实际调整量,U2是另一者的实际调整量。实际调整量输出至第一驱动机构113和第二驱动机构114,对第一驱动轮111和第二驱动轮112的速度进行调整。
可选的是,第一权重值和第二权重值根据第一驱动轮111和第二驱动轮112中至少一个的当前实际转速、第一驱动轮111和第二驱动轮112的当前实际转速的绝对值的差值以及当前偏航角与目标偏航角之间的差值中的至少一个通过查表或计算获得。
例如,根据实际调整量、第一调整量以及第二调整量的之间的关系,结合实际情况和经验,建立上述实际调整量、第一调整量以及第二调整量与第一驱动轮111和第二驱动轮112中至少一个的当前实际转速、第一驱动轮111和第二驱动轮112的当前实际转速的绝对值的差值以及当前偏航角与目标偏航角之间的差值之间的关系,由此可以生成经验表,在后续对第一权重值以及第二权重值取值时,通过查找表格中第一驱动轮111和第二驱动轮112中至少一个的当前实际转速、第一驱动轮111和第二驱动轮112的当前实际转速的绝对值的差值以及当前偏航角与目标偏航角之间的差值的至少一个所对应的第一权重值和第二权重值即可。
当然,也可以通过计算得出,例如在上述实际调整量、第一调整量以及第二调整量与第一驱动轮111和第二驱动轮112中至少一个的当前实际转速、第一驱动轮111和第二驱动轮112的当前实际转速的绝对值的差值以及当前偏航角与目标偏航角之间的差值之间的关系之间通过曲线或者曲面拟合等算法建立函数关系,即可计算得出相应的值。
可选的是,当第一驱动轮111和第二驱动轮112中至少一个的当前实际转速越大时,第一权重值越小,第二权重值越大。当前偏航角与目标偏航角之间的差值越大时,第一权重值越大。当第一驱动轮111和第二驱动轮112的当前实际转速的绝对值的差值越大时,第二权重值越大。
例如,当第一驱动轮111和第二驱动轮112中至少一个的当前实际转速越大时,和/或当前偏航角与目标偏航角之间的差值越小,第一权重值越小。当第一驱动轮111和第二驱动轮112中至少一个的当前实际转速越小时,和/或当前偏航角与目标偏航角之间的差值越大,第一权重值越大。
当第一驱动轮111和第二驱动轮112中至少一个的当前实际转速越大时,和/或第一驱动轮111与第二驱动轮112当前实际转速的绝对值的差值越大时,则第二权重值越大。当第一驱动轮111和第二驱动轮112中至少一个的当前实际转速越小时,和/或第一驱动轮111与第二驱动轮112当前实际转速的绝对值的差值越小时,则第二权重值越小。
通过上述第一权重值、第二权重值与转速、转速差以及角度差之间的关系,可以根据经验对第一权重值与第二权重值进行取值,能够有效地调节实际调整量,从而使得对第一驱动轮111和第二驱动轮112进行更有效的调节。
参阅图5,在本实施例中,机器人可以在运动过程中进行转动偏航,也可以原地转动偏航。其中原地转动偏航时,目标比值为-1,也即第一驱动轮111和第二驱动轮112连线中心点转动点,第一调整量设置成使得通过第一调整量和第一调整量的相反数直接控制第一驱动轮111和第二驱动轮112互为反向转动时,当前偏航角与目标偏航角之间的差值趋近于零。第二调整量设置成使得通过第二调整量和第二调整量的相反数调整第一驱动轮111和第二驱动轮112的当前实际转速时,第一驱动轮111和第二驱动轮112的转速趋近于互为相反数。
例如第一驱动轮111和第二驱动轮112当前实际转速均为0m/min,处理器12根据当前偏航角与目标偏航角得到第一调整量,第一调整量作用在第一驱动机构113上时,第一驱动轮111的转速变为7m/min,而第一调整量的相反数作用在第二驱动机构114时,第二驱动轮112的转速变为-6.7m/min,此时第一驱动轮111和第二驱动轮112由于速度差的存在,进行正反向转动。处理器12根据第一驱动轮111和第二驱动轮112的当前实际转速计算出第二调整量,第二调整量作用于第一驱动机构113上时,第一驱动轮111的转速变为6.854m/min,第二调整量作用于第二驱动机构114上时,第二驱动轮112的转速变为-6.852m/min,两者趋近于互为相反数。当然,在处理器的实际工作中,并非将第一调整量和第二调整量单独作用,而是将两者按照上述的公式生成实际调整量后再作用于第一驱动机构113和第二驱动机构114,因此此处仅是举例说明。
在原地转动时,由于第一驱动机构113和第二驱动机构114存在不一致性,第一驱动轮111和第二驱动轮112也存在不一致性,在设计制造、结构安装上都存在差异和误差,导致机器人实际转动中心并不落在中心位置。显然目标偏航角只能测得机器人整体的转向信息,由目标偏航角的第一调整量控制机器人的第一驱动机构113和第二驱动机构114正反转势必会出现因正反转速度不同引起的平移的现象。因此,第二调整量用于使得第一驱动轮111和第二驱动轮112的转速趋近互为相反数,如此能够避免机器人由于正反转速不同引起平移等现象,如此可以对机器人进行精准地控制。
通过第一调整量与第二调整量计算得出实际调整量作用于第一驱动轮111和第二驱动轮112,能够使得第一驱动轮111和第二驱动轮112围绕目标转动点(或者趋近于目标转动点)转向目标偏航角(或者趋向目标偏航角),实现对机器人转向精确地控制。
实际上可以认为,第一调整量是根据目标偏航角和当前偏航角得出的一个粗控制量,第二调整量时根据两个驱动轮的当前实际转速计算出的一个精控制量。
综上,为了解决现有技术中存在的问题,本申请机器人实施例通过处理器12根据当前偏航角和目标偏航角计算第一调整量,通过处理器12根据第一驱动轮111和第二驱动轮112的当前实际转速计算第二调整量,通过处理器12根据第一调整量与第二调整量计算实际调整量,第一调整量能够使得机器人得出转向信息,第二调整量能够对机器人的转向进行精确地控制,如此使得机器人进行精准且稳定的转向,避免由于机器人本身存在的误差所导致的转动平移或者偏移等现象,通过上述方式使得机器人更加有效进行避障、行进等动作。
参阅图6,本申请机器人的转向控制方法一实施例,机器人设置有能够通过差速转动实现机器人转向的第一驱动轮和第二驱动轮,方法包括:
S11:惯性测量单元检测机器人的当前偏航角。
S12:处理器获取机器人的当前偏航角。
S13:处理器根据当前偏航角和目标偏航角计算第一驱动轮和第二驱动轮的第一调整量。
可选的是,第一调整量设置成使得通过第一调整量和第一调整量与目标比值的乘积分别调整第一驱动轮和第二驱动轮的当前理论转速时,当前偏航角与目标偏航角之间的差值趋近于零,且按照预设的待转动半径进行转动,目标比值取决于待转动半径。
S14a:第一位置传感器检测第一驱动轮当前实际转速。
S14b:第二位置传感器检测第二驱动轮的当前实际转速。
S15a:处理器获取第一驱动轮的当前实际转速。
S15b:处理器获取第二驱动轮的当前实际转速。
S16:处理器根据当前实际转速计算第一驱动轮和第二驱动轮的第二调整量。
可选的是,第二调整量设置成使得通过第二调整量和第二调整量的相反数调整第一驱动轮和第二驱动轮的当前实际转速时,第一驱动轮的调整后的实际转速趋近于第二驱动轮的调整后的实际转速与目标比值的乘积。
目标比值取决于第一驱动轮和第二驱动轮之间连线的中心点的待转动半径以及第一驱动轮和第二驱动轮之间距离。
当所述第一驱动轮相较于第二驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(r-d)/(d+r)。
当所述第二驱动轮相较于第一驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(d+r)/(r-d)
其中,F为目标比值,d为第一驱动轮和第二驱动轮之间连线长度的一半,r为连线中心的点的待转动半径。
S17:处理器根据第一调整量和第二调整量计算第一驱动轮和第二驱动轮的实际调整量。
可选的是,通过以下公式计算第一驱动轮和第二驱动轮的实际调整量:
U1=a1×Pb+a2×Pl,U2=a1×F×Pb-a2×Pl
其中a1为第一权重值,a2为第二权重值。Pb为第一调整量。Pl为第二调整量。根据第一驱动轮和第二驱动轮的实际转速差情况,U1,U2是该两者的实际调整量。也就说,U1是两者中一者的实际调整量,U2是另一者的实际调整量。实际调整量输出至第一驱动机构和第二驱动机构,对第一驱动轮和第二驱动轮的速度进行调整。
S18a:处理器将第一驱动轮的实际调整量作用于第一驱动机构,以驱动第一驱动轮。
S18b:处理器将第二驱动轮的实际调整量作用于第二驱动机构,以驱动第二驱动轮。
本申请机器人的转向控制方法一实施例,可以具体参照本申请机器人实施例的详细阐述,在此不再赘述。
本申请机器人的转向控制方法二实施例是本申请机器人实施例的方法体现,也是基于本申请机器人的转向控制方法一实施例。本申请机器人的转向控制方法二实施例是以机器人的处理为执行主体,因此本申请机器人的转向控制方法二实施例可以参照本申请机器人实施例以及本申请机器人的转向控制方法一实施例。
参阅图7,本申请机器人的转向控制方法二实施例,机器人设置有能够通过差速转动实现机器人转向的第一驱动轮和第二驱动轮,包括如下步骤:
S21:获取机器人的当前偏航角。
S22:根据当前偏航角和目标偏航角计算第一驱动轮和第二驱动轮的第一调整量。
S23:获取第一驱动轮和第二驱动轮的当前实际转速。
S24:根据当前实际转速计算第一驱动轮和第二驱动轮的第二调整量。
S25:根据第一调整量和第二调整量计算第一驱动轮和第二驱动轮的实际调整量。
可选的是,第一调整量设置成使得通过第一调整量和第一调整量与目标比值的乘积分别控制第一驱动轮和第二驱动轮转动时,第一驱动轮和第二驱动轮的当前理论转速使得当前偏航角与目标偏航角之间的差值趋近于零,且按照预设的待转动半径进行转动,目标比值取决于待转动半径。
可选的是,第二调整量设置成使得通过第二调整量和第二调整量的相反数调整第一驱动轮和第二驱动轮的当前实际转速时,第一驱动轮的调整后的实际转速趋近于第二驱动轮的调整后的实际转速与目标比值的乘积。
可选的是,目标比值取决于第一驱动轮和第二驱动轮之间连线的中心点的待转动半径以及第一驱动轮和第二驱动轮之间的距离。
可选的是,当所述第一驱动轮相较于第二驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(r-d)/(d+r)。
当所述第二驱动轮相较于第一驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(d+r)/(r-d)
其中,F为目标比值,d为第一驱动轮和第二驱动轮之间连线长度的一半,r为连线中心的点的待转动半径。
可选的是,目标比值为-1,第一调整量设置成使得通过第一调整量和第一调整量的相反数直接控制第一驱动轮和第二驱动轮互为反向转动时,当前偏航角与目标偏航角之间的差值趋近于零。第二调整量设置成使得通过第二调整量和第二调整量的相反数调整第一驱动轮和第二驱动轮的当前实际转速时,第一驱动轮和第二驱动轮的转速趋近于互为相反数。此时机器人可以实现原地转动。
可选的是,根据第一调整量和第二调整量计算第一驱动轮和第二驱动轮的实际调整量的步骤包括:
通过以下公式计算第一驱动轮和第二驱动轮的实际调整量。
U1=a1×Pb+a2×Pl,U2=a1×F×Pb-a2×Pl
其中a1为第一权重值,a2为第二权重值。Pb为第一调整量。Pl为第二调整量。根据第一驱动轮和第二驱动轮的实际转速差情况,U1,U2是该两者的实际调整量。也就说,U1是两者中一者的实际调整量,U2是另一者的实际调整量。实际调整量输出至第一驱动机构和第二驱动机构,对第一驱动轮和第二驱动轮的速度进行调整。
可选的是,第一权重值和第二权重值根据第一驱动轮和第二驱动轮中至少一个的当前实际转速、第一驱动轮和第二驱动轮的当前实际转速的绝对值的差值以及当前偏航角与目标偏航角之间的差值中的至少一个通过查表或计算获得。
可选的是,当第一驱动轮和第二驱动轮中至少一个的当前实际转速越大时,第一权重值越小,第二权重越大,当当前偏航角与目标偏航角之间的差值越大时,第一权重值越大,当第一驱动轮和第二驱动轮的当前实际转速的绝对值的差值越大时,第二权重值越大。
本申请机器人的转向控制方法二实施例,可以具体参照本申请机器人实施例中的详细阐述,在此不再赘述。
综上,本申请机器人的转向控制方法二实施例,通过处理器根据当前偏航角和目标偏航角计算第一调整量,通过处理器根据第一驱动轮和第二驱动轮的当前实际转速计算第二调整量,通过处理器根据第一调整量与第二调整量计算实际调整量,由于第一调整量能够使得机器人得出转向信息,第二调整量能够对机器人的转向进行精确地控制,如此处理器计算得出的实际调整量使得机器人进行精准且稳定的转向,避免由于机器人本身存在的误差所导致的转动平移或者偏移等现象,通过上述方式使得机器人更加有效进行避障、行进等动作。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种机器人的转向控制方法,其特征在于,所述机器人设置有能够通过差速转动实现所述机器人转向的第一驱动轮和第二驱动轮,所述方法包括:
获取机器人的当前偏航角;
根据所述当前偏航角和目标偏航角计算第一驱动轮和第二驱动轮的第一调整量;
获取所述第一驱动轮和所述第二驱动轮的当前实际转速;
根据所述当前实际转速计算所述第一驱动轮和第二驱动轮的第二调整量;
根据所述第一调整量和所述第二调整量计算所述第一驱动轮和第二驱动轮的实际调整量。
2.根据权利要求1所述的方法,其特征在于,所述第一调整量设置成使得通过所述第一调整量和所述第一调整量与目标比值的乘积分别控制所述第一驱动轮和所述第二驱动轮转动时,所述第一驱动轮和所述第二驱动轮的当前理论转速使得所述当前偏航角与所述目标偏航角之间的差值趋近于零,且按照预设的待转动半径进行转动,所述目标比值取决于所述待转动半径。
3.根据权利要求2所述的方法,其特征在于,所述第二调整量设置成使得通过所述第二调整量和所述第二调整量的相反数调整所述第一驱动轮和所述第二驱动轮的当前实际转速时,所述第一驱动轮的调整后的实际转速趋近于所述第二驱动轮的调整后的实际转速与所述目标比值的乘积。
4.根据权利要求3所述的方法,其特征在于,所述目标比值取决于所述第一驱动轮和第二驱动轮之间连线的中心点的待转动半径以及所述第一驱动轮和第二驱动轮之间的距离。
5.根据权利要求4所述的方法,其特征在于,当所述第一驱动轮相较于第二驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(r-d)/(d+r);
当所述第二驱动轮相较于第一驱动轮更靠近转动中心时,通过以下公式计算所述目标比值:
F=(d+r)/(r-d)
其中,F为所述目标比值,d为所述第一驱动轮和第二驱动轮之间连线长度的一半,r为所述第一驱动轮和第二驱动轮之间连线的中心点待转动半径。
6.根据权利要求5所述的方法,其特征在于,所述目标比值为-1。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第一调整量和所述第二调整量计算所述第一驱动轮和第二驱动轮的实际调整量的步骤包括:
通过以下公式计算所述第一驱动轮和第二驱动轮的实际调整量;
U1=a1×Pb+a2×Pl,U2=a1×F×Pb-a2×Pl
其中,U1为所述第一驱动轮的实际调整量,U2为所述第二驱动轮的实际调整量,Pb为所述第一调整量。Pl为所述第二调整量。a1为第一权重值,a2为第二权重值,F为目标比值。
8.根据权利要求7所述的方法,其特征在于,所述第一权重值和所述第二权重值根据所述第一驱动轮和所述第二驱动轮中至少一个的当前实际转速、所述第一驱动轮和所述第二驱动轮的当前实际转速的绝对值的差值以及所述当前偏航角与所述目标偏航角之间的差值中的至少一个通过查表或计算获得。
9.根据权利要求8所述的方法,其特征在于,当所述第一驱动轮和所述第二驱动轮中至少一个的当前实际转速越大时,所述第一权重值越小,所述第二权重值越大,当所述当前偏航角与所述目标偏航角之间的差值越大时,所述第一权重值越大,当所述第一驱动轮和所述第二驱动轮的当前实际转速的绝对值的差值越大时,所述第二权重值越大。
10.一种机器人,其特征在于,包括机器人本体、处理器,所述机器人本体包括第一驱动轮、第二驱动轮,其中第一驱动轮和第二驱动轮能够进行差速转动,所述处理器用于执行如上述权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404382.2A CN110406593B (zh) | 2018-04-28 | 2018-04-28 | 机器人及其转向控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404382.2A CN110406593B (zh) | 2018-04-28 | 2018-04-28 | 机器人及其转向控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110406593A true CN110406593A (zh) | 2019-11-05 |
CN110406593B CN110406593B (zh) | 2022-02-18 |
Family
ID=68345681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810404382.2A Active CN110406593B (zh) | 2018-04-28 | 2018-04-28 | 机器人及其转向控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110406593B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63184111A (ja) * | 1987-01-27 | 1988-07-29 | Shin Kobe Electric Mach Co Ltd | 自動走行車の操舵制御方法 |
CN104386125A (zh) * | 2014-11-06 | 2015-03-04 | 上海电机学院 | 一种电动汽车的驱动电机控制方法 |
CN106379409A (zh) * | 2016-09-27 | 2017-02-08 | 南京航空航天大学 | 角度可控动力差速全向轮及其控制方法以及全向移动平台 |
CN106697086A (zh) * | 2016-11-15 | 2017-05-24 | 深圳先进技术研究院 | 一种无轨电动列车及其控制方法与装置 |
CN107422733A (zh) * | 2017-07-27 | 2017-12-01 | 南京理工大学 | 一种基于两轮差速机器人的运动控制方法 |
-
2018
- 2018-04-28 CN CN201810404382.2A patent/CN110406593B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63184111A (ja) * | 1987-01-27 | 1988-07-29 | Shin Kobe Electric Mach Co Ltd | 自動走行車の操舵制御方法 |
CN104386125A (zh) * | 2014-11-06 | 2015-03-04 | 上海电机学院 | 一种电动汽车的驱动电机控制方法 |
CN106379409A (zh) * | 2016-09-27 | 2017-02-08 | 南京航空航天大学 | 角度可控动力差速全向轮及其控制方法以及全向移动平台 |
CN106697086A (zh) * | 2016-11-15 | 2017-05-24 | 深圳先进技术研究院 | 一种无轨电动列车及其控制方法与装置 |
CN107422733A (zh) * | 2017-07-27 | 2017-12-01 | 南京理工大学 | 一种基于两轮差速机器人的运动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110406593B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Balancing and navigation control of a mobile inverted pendulum robot using sensor fusion of low cost sensors | |
BR102020012620A2 (pt) | Aparelho para a direção de veículo seguir um trajeto encurvado, meio de armazenamento legível por computador, e, veículo | |
Park et al. | Development and control of a single-wheel robot: Practical Mechatronics approach | |
CN108274467A (zh) | 机器人走直线的控制方法和芯片及机器人 | |
CN109144078A (zh) | 一种基于二维码导航共线双舵轮agv路线纠偏方法及系统 | |
CN105180934A (zh) | 一种agv惯性导航方法 | |
CN105737853B (zh) | 一种机器人惯性导航系统的漂移校准方法 | |
CN110073172A (zh) | 用于确定机动车的相对位置的方法、用于机动车的位置确定系统和机动车 | |
CN110320906A (zh) | 一种基于麦克纳姆轮的四驱agv小车差速直线行驶姿态调整方法 | |
WO2010106847A1 (ja) | 移動方向制御装置及びコンピュータプログラム | |
CN110162068A (zh) | 一种自平衡机器人的控制方法 | |
CN110406593A (zh) | 机器人及其转向控制方法 | |
CN111053498A (zh) | 一种智能机器人的位移补偿方法及其应用 | |
JP5336955B2 (ja) | 倒立振子型移動体及びその制御方法 | |
CN113515133B (zh) | 一种agv的力控方法、装置、电子设备及存储介质 | |
WO2011027615A1 (ja) | 移動方向制御装置及びコンピュータプログラム | |
Neamah et al. | Enhancing Autonomous Robot Perception for Precision Positioning and Localization | |
JP2022529322A (ja) | ハンドヘルドデバイスのユーザに適応的な物理的フィードバックを提供するシステム及び方法 | |
CN207351428U (zh) | 俯仰角自动矫正结构 | |
JP2671917B2 (ja) | 車両方位検出装置 | |
Fresk et al. | Reduced complexity calibration of MEMS IMUs | |
Baskaran et al. | Development of Self Balancing Robot | |
KR101743225B1 (ko) | 다축 구동계의 무게중심 측정 방법 및 장치 | |
JP2021076901A (ja) | 移動体の姿勢推定装置 | |
Erdinc | Modelling, validation and control of an autonomous bicycle |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |