主权项 |
一种基于视觉的机器人导航过门方法,其特征在于,包括以下步骤:S101、根据里程计或全局定位传感器得到机器人当前时刻在全局坐标系中的位置和姿态参数(x,y,θ),x为机器人相对于原点的横坐标,y为机器人相对于原点的纵坐标,θ为机器人朝向相对于x轴的夹角,逆时针旋转为正值角度夹角,顺时针旋转为负值角度夹角;S102、根据用户指令确定机器人所要通过的门;S103、确定机器人过门之前开启摄像头的区域,每个开启摄像头区域为:Area<sub>i</sub>=(x<sub>j</sub>,y<sub>k</sub>)(1≤j≤N,1≤k≤M),其中i代表门的编号,N和M表示某个门前区域的范围;S104、计算此次导航终点;S105、起点和终点确定后,由A*算法计算机器人行走路径,控制机器人运动到导航终点;S106、根据里程计返回的航位推测信息(x<sub>r</sub>,y<sub>r</sub>,θ<sub>r</sub>),计算机器人相对门的位置和姿态,求出机器人朝向和机器人与门中点连线的夹角Δθ,控制机器人转动Δθ使机器人朝向门;S107、机器人静止,同时下位机向上位机发送请求开启摄像头命令,上位机打开位于机器人胸前的双目摄像头,并开始采集图像,进行门识别;S108、根据图像处理返回的门左右两边框的坐标x<sub>l</sub>,y<sub>l</sub>,x<sub>r</sub>,y<sub>r</sub>(x<sub>l</sub><x<sub>r</sub>,y<sub>l</sub><y<sub>r</sub>)计算门中心坐标(x<sub>0</sub>,y<sub>0</sub>),其中,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>x</mi><mi>l</mi></msub><mo>+</mo><msub><mi>x</mi><mi>r</mi></msub></mrow><mn>2</mn></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000974766060000011.GIF" wi="342" he="127" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>y</mi><mi>l</mi></msub><mo>+</mo><msub><mi>y</mi><mi>r</mi></msub></mrow><mn>2</mn></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000974766060000012.GIF" wi="342" he="126" /></maths>S109、以x<sub>o</sub>,y<sub>o</sub>为原点,机器人当前朝向为基准,以从门左边框指向右边框为x轴正向建立笛卡尔坐标系XOY;S110、求出机器人在XOY坐标系下的坐标(x′<sub>r1</sub>,y′<sub>r1</sub>,θ′<sub>r1</sub>),并求出机器人相对过门过程中第一个矫正点(x<sub>l1</sub>,y<sub>l1</sub>)的距离Δd<sub>1</sub>和角度Δθ<sub>1</sub>,其中,‑200mm<x<sub>l1</sub><200mm,‑1400mm<y<sub>l1</sub><‑1000mm;S111、控制机器人直行Δd<sub>1</sub>,然后转弯Δθ<sub>1</sub>,根据航位推测信息求出机器人当前朝向与门中垂线夹角Δθ′<sub>1</sub>,控制机器人转过Δθ′<sub>1</sub>角度对正门;S112、求出机器人在XOY坐标系下的坐标(x′<sub>r2</sub>,y′<sub>r2</sub>,θ′<sub>r2</sub>),求出机器人相对过门过程中第二个矫正点(x<sub>l2</sub>,y<sub>l2</sub>)的距离Δd<sub>2</sub>和角度Δθ<sub>2</sub>,其中,‑200mm<x<sub>l2</sub><200mm,‑1000mm<y<sub>l2</sub><‑600mm;S113、控制机器人直行Δd<sub>2</sub>,然后转弯Δθ<sub>2</sub>,根据航位推测信息计算出机器人当前朝向与门中垂线夹角Δθ′<sub>2</sub>,使机器人转过Δθ′<sub>2</sub>对正门;S114、求出机器人在XOY坐标系下的坐标(x′<sub>r3</sub>,y′<sub>r3</sub>,θ′<sub>r3</sub>),求出机器人相对过门过程中第三个矫正点(x<sub>l3</sub>,y<sub>l3</sub>)的距离Δd<sub>3</sub>和角度Δθ<sub>3</sub>,其中,‑200mm<x<sub>l3</sub><200mm,‑600mm<y<sub>l3</sub><‑300mm;S115、控制机器人直行Δd<sub>3</sub>,然后转弯Δθ<sub>3</sub>,根据航位推测信息求出机器人当前朝向与门中垂线夹角Δθ′<sub>3</sub>,使机器人转过Δθ′<sub>3</sub>对正门;S116、控制机器人前进Δd,其中800mm<Δd<1200mm,使机器人完成进门操作。 |