[发明专利]一种四轮驱动全向底盘的控制装置及控制方法有效

专利信息
申请号: 201310219764.5 申请日: 2013-06-05
公开(公告)号: CN104216406B 公开(公告)日: 2017-07-14
发明(设计)人: 滕鑫淼 申请(专利权)人: 中国石油天然气集团公司;中国石油集团钻井工程技术研究院
主分类号: G05D1/02 分类号: G05D1/02
代理公司: 北京三友知识产权代理有限公司11127 代理人: 汤在彦
地址: 100007 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 四轮驱动 全向 底盘 控制 装置 方法
【权利要求书】:

1.一种四轮驱动全向底盘的控制装置,其特征在于包括由ARM和FPGA组成的主控模块,无线串口通信模块,码盘计数模块,直流电机控制模块;无线串口通信模块与ARM相连,设置于底盘的无线串口通信模块用来接收来自于计算机连接的主控模块处的无线串口通信模块的指令,指令包括四轮驱动全向底盘所要移动到的目标点的位置值以及姿态角值,将接收到的指令传给上位机ARM;FPGA与ARM相连,FPGA将计数电路和信息采集电路融合,由FPGA对码盘计数模块的数据进行采集与处理,然后通过通用I/0接口传输到ARM,同时FPGA也作为接口电路,将ARM的控制指令传输到直流电机控制模块,完成对直流电机的转速以及方向的控制;ARM是整个控制装置的核心控制模块,用以对接收到的数据进行融合,实现对四轮驱动全向底盘的位姿进行实时结算,并完成对四个直流电机的实时控制;

码盘计数模块与FPGA相连,当码盘轮转动1圈时,码盘计数模块会记录1200个数,因此通过码盘计数模块实现对码盘轮行走的距离进行记录,再通过码盘轮与驱动轮的半径之比,得到驱动轮的行走距离;电机控制模块与FPGA相连,其作用是对直流电机的电流环进行闭环控制;

按一定周期对车的轨迹微分,本周期初始时刻,车的位姿为已知的x1和y1和thetal,结束时车的位姿为未知的x2和y2和theta2;在这个周期内左轮的位移为dl,右轮的位移为dr,前轮的位移为dh,后轮的位移为db,由于四轮全向运动时各轮的侧滑严重,码盘记的位移只沿着各个轮的正方向,不会记录各轮侧滑而产生的位移,所以码盘记的各轮位移dl和dr和dh和db是表示轮子前进方向的各轮实际运动方向的分量,按以下公式解算车的质心的位移:

<mrow><mi>d</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>l</mi><mo>+</mo><mi>d</mi><mi>r</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>h</mi><mo>+</mo><mi>d</mi><mi>b</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow>

车转过的角度为:

<mrow><mi>&Delta;</mi><mi>&theta;</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>r</mi><mo>-</mo><mi>d</mi><mi>l</mi></mrow><msub><mi>L</mi><mrow><mi>l</mi><mi>r</mi></mrow></msub></mfrac><mo>+</mo><mfrac><mrow><mi>d</mi><mi>h</mi><mo>-</mo><mi>d</mi><mi>b</mi></mrow><msub><mi>L</mi><mrow><mi>b</mi><mi>h</mi></mrow></msub></mfrac><mo>)</mo></mrow></mrow>

上式中,L1r为车左右轮的码盘间距,Lbh为车前后轮的码盘间距;

由Δθ可以求得本周期结束时车的角度为:

theta2=thetal+Δθ

当这一段位移足够小时,轨迹可以近似成一条与水平方向夹角为VelTheta的直线;其中:

Veltheta=thetal+arctan((db+dh)/(dr+dl))

则有:

x2=x1+d*cos(Veltheta)

y2=y1+d*sin(Veltheta)

至此,在平面运动中,知道了机体的初始位姿,并记录了机体的各轮的位移,则四轮全向底盘在任意时刻的位姿都可以得到;

在四轮全向底盘进行直线运动时,需要给定目标的坐标点和直线与场地坐标系x轴正方向的夹角;机器人根据这条目标直线和当前自身的坐标值和航向角,判断与目标直线的位置和角度偏差,同时控制四轮差速修正行进轨迹;

在四轮全向底盘轨迹的修正过程中,需要调节的两个偏移量为横向偏差和航向偏差,当同时对这两个变量进行调节时,则根据机体在不同的情况给调节参数赋予不同的符号控制电机差速调节;

引入一个前置探测点,即在机体行进方向的前方某一位置上,放置一个虚拟点,计算此点与目标直线的偏差,并根据这个偏差设置反馈增益来计算修正的四个轮的差速值,修正机体行进的直线轨迹;前置探测点长短的选择和反馈增益系数需要根据机器人实际行走的调试效果来整定;

位置型PID控制算法的基本算式为:

<mrow><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>K</mi><mi>p</mi></msub><mo>{</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>K</mi><mi>I</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><mi>e</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>K</mi><mi>D</mi></msub><mo>&lsqb;</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&rsqb;</mo><mo>}</mo></mrow>

增量型PID控制算法的基本算式为:

△u(k)=Kp{[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]}

其中,u(k)——第k次采样时计算机输出值;e(k)——第k次采样时的偏差值;

Δu(k)——第k次采样与第k-1次采样的计算机的差值;

当执行部件不带积分部件,其位置与计算机输出的数字量是一一对应,采用位置式PID控制算法;当执行部件带积分部件时,选用增量式PID控制算法;

底盘的行进过程共有三个阶段,分别为加速阶段、匀速阶段和减速阶段;在每个阶段中都要实时计算与目标点的距离,若达到目标点就停止;在加速段中,可采用匀加速的控制方式,但首先需设定好一个最大速度,当速度达到最大速度时,则进入匀速区,进入匀速区后,需检测是否到达减速区,当进入减速区时,减速区减速的方式采用的是离目标距离与减速区长度之比乘以当前速度,得到一个平滑的衰减过程,最终的速度会缓慢的到达零;实际过程中,考虑到时间的要求以及防止电机低速转动,当速度减到10%的最大速度即以此匀速速度行走,直到到达目标点停止或者直接在程序上进入下一段路径。

2.一种四轮驱动全向底盘的控制方法,其特征在于具体步骤如下:

设定四轮驱动全向底盘所要移动到的目标点的位置值,即X、Y坐标,以及机体自身所

要转动的角度θ,启动开始按钮,通过无线串口通信方式,四轮驱动全向底盘上安装的主控模块接收到指令后,按照预先设定的四轮驱动全向底盘运动的控制算法,通过直流电机控制模块,控制四个直流电机协调工作,采用的导航方式为四码盘导航方式,通过码盘计数模块实时计数,可以记录下各轮行走的距离,将此数据传给主控模块,主控模块再对四个直流电机进行实时的PID控制,实时计算当前运动轨迹与预设轨迹之间的偏差,不断的进行偏差纠正,使整个机体沿预设的轨迹进行运动,实现在自动方向沿直线行走并且实时改变自身姿态角;

无线串口通信模块与ARM相连,用来接收来自于计算机连接的无线串口通信模块的指令,指令信息包括四轮驱动全向底盘所要移动到的目标点的位置值以及姿态角值,将接收到的指令传给上位机ARM;FPGA与ARM相连,将计数电路和信息采集电路融合,由FPGA对码盘计数模块的数据进行采集与处理,然后通过通用I/0接口传输到ARM,同时FPGA也作为接口电路,将ARM的控制指令传输到直流电机控制模块,完成对直流电机的转速以及方向的控制;ARM是整个控制装置的核心控制模块,用以对接收到的数据进行融合,实现对四轮驱动全向底盘的位姿进行实时结算,并完成对四个直流电机的实时控制;码盘计数模块与FPGA相连,当码盘轮转动1圈时,码盘计数模块会记录1200个数,因此可通过码盘计数模块实现对码盘轮行走的距离进行记录,再通过码盘轮与驱动轮的半径之比,则可得到驱动轮的行走距离;电机控制模块与FPGA相连,其作用是对直流电机的电流环进行闭环控制;

按一定周期对车的轨迹微分,本周期初始时刻,车的位姿为已知的x1和y1和thetal,结束时车的位姿为未知的x2和y2和theta2;在这个周期内左轮的位移为dl,右轮的位移为dr,前轮的位移为dh,后轮的位移为db,由于四轮全向运动时各轮的侧滑严重,码盘记的位移只沿着各个轮的正方向,不会记录各轮侧滑而产生的位移,所以码盘记的各轮位移dl和dr和dh和db是表示轮子前进方向的各轮实际运动方向的分量,按以下公式解算车的质心的位移:

<mrow><mi>d</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>l</mi><mo>+</mo><mi>d</mi><mi>r</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>h</mi><mo>+</mo><mi>d</mi><mi>b</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow>

车转过的角度为:

<mrow><mi>&Delta;</mi><mi>&theta;</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><mi>d</mi><mi>r</mi><mo>-</mo><mi>d</mi><mi>l</mi></mrow><msub><mi>L</mi><mrow><mi>l</mi><mi>r</mi></mrow></msub></mfrac><mo>+</mo><mfrac><mrow><mi>d</mi><mi>h</mi><mo>-</mo><mi>d</mi><mi>b</mi></mrow><msub><mi>L</mi><mrow><mi>b</mi><mi>h</mi></mrow></msub></mfrac><mo>)</mo></mrow></mrow>

上式中,L1r为车左右轮的码盘间距,Lbh为车前后轮的码盘间距;

由Δθ可以求得本周期结束时车的角度为:

theta2=thetal+Δθ

当这一段位移足够小时,轨迹可以近似成一条与水平方向夹角为VelTheta的直线;其中:

Veltheta=thetal+arctan((db+dh)/(dr+dl))

则有:

x2=x1+d*cos(Veltheta)

y2=y1+d*sin(Veltheta)

至此,在平面运动中,知道了机体的初始位姿,并记录了机体的各轮的位移,则四轮全向底盘在任意时刻的位姿都可以得到;

在四轮全向底盘进行直线运动时,需要给定目标的坐标点和直线与场地坐标系x轴正方向的夹角;机器人根据这条目标直线和当前自身的坐标值和航向角,判断与目标直线的位置和角度偏差,同时控制四轮差速修正行进轨迹;

在四轮全向底盘轨迹的修正过程中,需要调节的两个偏移量为横向偏差和航向偏差,当同时对这两个变量进行调节,则根据机体在不同的情况给调节参数赋予不同的符号控制电机差速调节;

引入一个前置探测点,即在机体行进方向的前方某一位置上,放置一个虚拟点,计算此点与目标直线的偏差,并根据这个偏差设置反馈增益来计算修正的四个轮的差速值,修正机体行进的直线轨迹;前置探测点长短的选择和反馈增益系数需要根据机器人实际行走的调试效果来整定;

位置型PID控制算法的基本算式为:

<mrow><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>K</mi><mi>p</mi></msub><mo>{</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>K</mi><mi>I</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><mi>e</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>K</mi><mi>D</mi></msub><mo>&lsqb;</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&rsqb;</mo><mo>}</mo></mrow>

增量型PID控制算法的基本算式为:

△u(k)=Kp{[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]}

其中,u(k)——第k次采样时计算机输出值;e(k)——第k次采样时的偏差值;

Δu(k)——第k次采样与第k-1次采样的计算机的差值;

当执行部件不带积分部件,其位置与计算机输出的数字量是一一对应,采用位置式PID控制算法;当执行部件带积分部件时,选用增量式PID控制算法;

底盘的行进过程共有三个阶段,分别为加速阶段、匀速阶段和减速阶段;在每个阶段中都要实时计算与目标点的距离,若达到目标点就停止;在加速段中,可采用匀加速的控制方式,但首先需设定好一个最大速度,当速度达到最大速度时,则进入匀速区,进入匀速区后,需检测是否到达减速区,当进入减速区时,减速区减速的方式采用的是离目标距离与减速区长度之比乘以当前速度,得到一个平滑的衰减过程,最终的速度会缓慢的到达零;实际过程中,考虑到时间的要求以及防止电机低速转动,当速度减到10%的最大速度即以此匀速速度行走,直到到达目标点停止或者直接在程序上进入下一段路径。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油天然气集团公司;中国石油集团钻井工程技术研究院,未经中国石油天然气集团公司;中国石油集团钻井工程技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310219764.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top