机器人走直线的控制方法和芯片及机器人技术

技术编号:18436700 阅读:60 留言:0更新日期:2018-07-14 02:13
本发明专利技术涉及一种机器人走直线的控制方法和芯片及机器人,通过陀螺仪和里程计来确定待行走的直线的初始位置信息和机器人行走过程中具体的当前位置信息,再由初始位置信息和当前位置信息中的角度的差值和当前位置偏离待行走直线的垂直距离,来判断机器人的行走是否偏离了待行走直线。如果出现偏离,则通过调整机器人的驱动轮的速度,使机器人回到待行走直线上。这种机器人走直线的控制方法和芯片,仅需要借助陀螺仪和里程计的检测数据,可以有效地控制机器人保持较好的直线行走效果,成本很低,同时,进行控制的数据运算处理也比较简单,不需要高性能的处理器,进一步减小了系统运算资源和处理器的硬件成本。

Robot straight line control method and chip and robot

The invention relates to a method of controlling the straight line of a robot and a microchip and robot. Through the gyroscope and the odometer, the initial position information of the straight line to be walked and the specific current position information during the walking process of the robot, and the deviation from the angle in the initial position information and the current position information and the current position deviation from the initial position information and the current position information. The vertical distance of a straight line is used to determine whether the robot's walk deviates from the straight line to be traveled. If there is a deviation, the robot can be returned to the straight line by adjusting the speed of the driving wheel of the robot. The control method and chip of this robot can control the robot to keep a good linear walking effect with the help of the detection data of the gyroscope and the odometer. At the same time, the processing of the control data is relatively simple, and it does not need a high performance processor, which is further reduced. The hardware cost of the system computing resources and the processor.

【技术实现步骤摘要】
机器人走直线的控制方法和芯片及机器人
本专利技术涉及机器人领域,具体涉及一种机器人走直线的控制方法和芯片及机器人。
技术介绍
现有的机器人在路面行走过程中,由于地面对左右驱动轮的摩擦力不一样,而且路面情况的平坦程度不同,对驱动轮的影响也会有所不同,所以要让机器人保持沿着某一条直线行走,实现起来比较困难,特别是随着行走距离的增大,所产生的偏差也会越大。有的机器人通过采用激光或者视觉等辅助手段对走直线过程中出现的偏差进行纠正,以此保证机器人的直线行走效果。但是,采用这些辅助手段需要价格比较昂贵的激光传感器或者摄像头,导致机器人的成本提高,此外还需要配合比较复杂的算法,对机器人处理器的性能要求也比较高,不适于推广应用。
技术实现思路
本专利技术提供了一种机器人走直线的控制方法和芯片及机器人,只需要陀螺仪和里程计的配合就可以纠正机器人走直线的偏差,以较低的成本保证机器人走直线的效果。本专利技术的具体技术方案如下:一种机器人走直线的控制方法,包括如下步骤:步骤S1:确定机器人待行走的直线的初始位置为(X1,Y1,θ1)。步骤S2:基于里程计和陀螺仪实时检测的数据,确定机器人的当前位置为(X2,Y2,θ2)。步骤S3:判断θ2是否等于θ1或者所述当前位置距所述直线的垂直距离是否等于0;如果θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,则回到步骤S2;如果θ2不等于θ1,或者所述当前位置距所述直线的垂直距离不等于0,则进入步骤S4。步骤S4:调整机器人的驱动轮的速度,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0。进一步地,步骤S3中所述的判断所述当前位置距所述直线的垂直距离是否等于0,包括如下步骤:确定所述初始位置到所述当前位置的直线距离为L,L=。确定所述初始位置与所述当前位置的角度差值为θ,θ=θ1-θ2。确定所述当前位置距所述直线的垂直距离为H,H=L*sinθ。判断H是否等于0。进一步地,所述步骤S4包括如下步骤:步骤S41:确定机器人的左驱动轮和右驱动轮的控制速度为V。步骤S42:确定机器人的行走误差为T,T=P1*H+P2*(θ1-θ2);其中,P1和P2为常数;步骤S43:判断θ是否大于0。如果是,则进入步骤S44,如果否,则进入步骤S45。步骤S44:调整右驱动轮的速度为V1,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0;其中,V1的数值为控制速度的数值与行走误差的数值的绝对值之间的差值。步骤S45:调整左驱动轮的速度为V2,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0;其中,V2的数值为控制速度的数值与行走误差的数值的绝对值之间的差值。进一步地,所述P1=100。所述P2=200。进一步地,步骤S44中所述的调整右驱动轮的速度为V1,包括如下步骤:确定t-2时刻,所述右驱动轮的控制速度和采样速度之间的速度偏差为E(t-2)。确定t-1时刻,所述右驱动轮的控制速度和采样速度之间的速度偏差为E(t-1)。确定t时刻,所述右驱动轮的控制速度和采样速度之间的速度偏差为E(t)。确定PID控制的比例值为P,积分值为I,微分值为D。则t时刻,输出至右驱动轮以调整右驱动轮的速度为V1的电压值为U(t),U(t)=P*[E(t)-E(t-1)]+I*E(t)+D*[E(t)-2*E(t-1)+E(t-2)]。进一步地,步骤S45中所述的调整左驱动轮的速度为V2,包括如下步骤:确定t-2时刻,所述左驱动轮的控制速度和采样速度之间的速度偏差为E(t-2)。确定t-1时刻,所述左驱动轮的控制速度和采样速度之间的速度偏差为E(t-1)。确定t时刻,所述左驱动轮的控制速度和采样速度之间的速度偏差为E(t)。确定PID控制的比例值为P,积分值为I,微分值为D。则t时刻,输出至左驱动轮以调整左驱动轮的速度为V2的电压值为U(t),U(t)=P*[E(t)-E(t-1)]+I*E(t)+D*[E(t)-2*E(t-1)+E(t-2)]。进一步地,所述P=0.4。所述I=0.8。所述D=0.5。进一步地,所述确定PID控制的比例值为P,积分值为I,微分值为D,包括如下步骤:先将积分值和微分值设置为0,由小到大逐步改变比例值,当输出的电压值满足第一预设条件,则确定当前的比例值为P。再将比例值设置为P,微分值设置为0,由小到大逐步改变积分值,当输出的电压值满足第二预设条件,则确定当前的积分值为I。最后将比例值设置为P,积分值设置为I,由小到大逐步改变微分值,当输出的电压值满足第三预设条件,则确定当前的微分值为D。一种芯片,用于存储程序,所述程序用于控制机器人执行上述的机器人走直线的控制方法。一种机器人,包括控制芯片,所述控制芯片为上述的芯片。本专利技术的有益效果在于:通过陀螺仪和里程计来确定待行走的直线的初始位置信息和机器人行走过程中具体的当前位置信息,再由初始位置信息和当前位置信息中的角度的差值和当前位置偏离待行走直线的垂直距离,来判断机器人的行走是否偏离了待行走直线。如果出现偏离,则通过调整机器人的驱动轮的速度,使机器人回到待行走直线上。这种机器人走直线的控制方法和芯片,仅需要借助陀螺仪和里程计的检测数据,可以有效地控制机器人保持较好的直线行走效果,成本很低,同时,进行控制的数据运算处理也比较简单,不需要高性能的处理器,进一步减小了系统运算资源和处理器的硬件成本。附图说明图1为本专利技术所述的机器人走直线的控制方法的流程图。图2为本专利技术所述的机器人走直线的分析示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。本专利技术所述的机器人可以是一种智能移动家用电器,比如清洁机器人或者监控机器人等,也可以是一种商用的智能移动设备,比如餐厅服务机器人或者大堂服务机器人等。这些机器人能凭借一定的人工智能,自动在某些场合自动进行行走。机器人的机体上设有各种传感器,可检测行走距离、行走角度、机体状态和障碍物等,如碰到墙壁或其他障碍物,会自行转弯,并依不同的设定,而走不同的路线,有规划地行走,还会根据行走过程中检测到的各种数据构建栅格地图。本专利技术所述的机器人包括如下结构:带有左驱动轮和右驱动轮的能够自主行走的机器人机体,机体上设有人机交互界面,机体上设有障碍检测单元。机体内部设置有惯性传感器,所述惯性传感器包括加速度计和陀螺仪等,两个驱动轮上都设有用于检测驱动轮的行走距离的里程计(一般是码盘),还设有能够处理相关传感器的参数,并能够输出控制信号到执行部件的控制模块。本专利技术所述的机器人走直线的控制方法,如图1所示,包括如下步骤:步骤S1:确定机器人待行走的直线的初始位置为(X1,Y1,θ1);步骤S2:基于里程计和陀螺仪实时检测的数据,确定机器人的当前位置为(X2,Y2,θ2);步骤S3:判断θ2是否等于θ1或者所述当前位置距所述直线的垂直距离是否等于0;如果θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,则回到步骤S2;如果θ2不等于θ1,或者所述当前位置距所述直线的垂直距离不等于0,则进入步骤S4;步骤S4:调整机器人的驱动轮的速度,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0。本文档来自技高网...

【技术保护点】
1.一种机器人走直线的控制方法,其特征在于,包括如下步骤:步骤S1:确定机器人待行走的直线的初始位置为(X1,Y1,θ1);步骤S2:基于里程计和陀螺仪实时检测的数据,确定机器人的当前位置为(X2,Y2,θ2);步骤S3:判断θ2是否等于θ1或者所述当前位置距所述直线的垂直距离是否等于0;如果θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,则回到步骤S2;如果θ2不等于θ1,或者所述当前位置距所述直线的垂直距离不等于0,则进入步骤S4;步骤S4:调整机器人的驱动轮的速度,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0。

【技术特征摘要】
1.一种机器人走直线的控制方法,其特征在于,包括如下步骤:步骤S1:确定机器人待行走的直线的初始位置为(X1,Y1,θ1);步骤S2:基于里程计和陀螺仪实时检测的数据,确定机器人的当前位置为(X2,Y2,θ2);步骤S3:判断θ2是否等于θ1或者所述当前位置距所述直线的垂直距离是否等于0;如果θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,则回到步骤S2;如果θ2不等于θ1,或者所述当前位置距所述直线的垂直距离不等于0,则进入步骤S4;步骤S4:调整机器人的驱动轮的速度,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0。2.根据权利要求1所述的方法,其特征在于,步骤S3中所述的判断所述当前位置距所述直线的垂直距离是否等于0,包括如下步骤:确定所述初始位置到所述当前位置的直线距离为L,L=;确定所述初始位置与所述当前位置的角度差值为θ,θ=θ1-θ2;确定所述当前位置距所述直线的垂直距离为H,H=L*sinθ;判断H是否等于0。3.根据权利要求2所述的方法,其特征在于,所述步骤S4包括如下步骤:步骤S41:确定机器人的左驱动轮和右驱动轮的控制速度为V;步骤S42:确定机器人的行走误差为T,T=P1*H+P2*(θ1-θ2),其中,P1和P2为常数;步骤S43:判断θ是否大于0;如果是,则进入步骤S44,如果否,则进入步骤S45;步骤S44:调整右驱动轮的速度为V1,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,其中,V1的数值为控制速度的数值与行走误差的数值的绝对值之间的差值;步骤S45:调整左驱动轮的速度为V2,直到θ2等于θ1,且所述当前位置距所述直线的垂直距离等于0,其中,V2的数值为控制速度的数值与行走误差的数值的绝对值之间的差值。4.根据权利要求3所述的方法,其特征在于,所述P1=100,所述P2=200。5.根据权利要求3所述的方法,其特征在于,步骤S44中所述的调整右驱动轮的速度为V1,包括如下步骤:确定t-2时刻,所述右驱动轮的控制速度...

【专利技术属性】
技术研发人员:李永勇肖刚军
申请(专利权)人:珠海市一微半导体有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1