发明名称 轮腿式机器人的控制方法
摘要 本发明公开了一种轮腿式机器人的控制方法,属于航天技术领域,本发明由底层控制部分和控制芯片组成,底层控制部分包括底层控制器、三轴加速度传感器、压力传感器、关节电机驱动控制器、车轮电机驱动控制器和关节角度传感器。底层控制部分进行各关节与车轮的底层控制、传感器信号采集,为控制芯片提供控制接口与反馈信号。本发明通过安装在车身上的三轴加速度传感器检测车身倾角,输出车身倾角反馈信号,中心控制芯片通过控制腿部运动,使车身恢复水平,能够让车轮所受压力趋于平均,使各轮负载转矩均匀分布,能够确保在崎岖路面上所有车轮都能与地面接触,大幅度提升车辆行驶稳定性。<pb pnum="1" />
申请公布号 CN103223673B 申请公布日期 2015.10.28
申请号 CN201310189812.0 申请日期 2013.05.21
申请人 重庆电子工程职业学院 发明人 王勇;王敬;李奇敏;温皓宇;罗洋;端赣来
分类号 B25J9/18(2006.01)I 主分类号 B25J9/18(2006.01)I
代理机构 重庆为信知识产权代理事务所(普通合伙) 50216 代理人 龙玉洪
主权项 一种轮腿式机器人的控制方法,轮腿式机器人控制系统包括中央控制芯片(1)、底层控制器(2)、安装在机器人车身上的三轴加速度传感器(3)、安装在车轮端部的压力传感器(4)、关节电机驱动控制器(5)、车轮电机驱动控制器(6)、关节角度传感器(7)和上位机(8),所述压力传感器(4)用于对车轮进行轮端压力检测,所述三轴加速度传感器(3)用于检测车身倾角并输出车身倾角反馈信号,所述关节角度传感器(7)用于检测各关节的倾角、各关节的相对角度值及机器人的车体重心;所述中央控制芯片(1)通过CAN总线与底层控制器(2)双向连接;所述底层控制器(2)的第一输出端连接所述关节电机驱动控制器(5)的输入端,所述底层控制器(2)的第二输出端连接所述车轮电机驱动控制器(6)的输入端,所述底层控制器(2)的第一输入端连接所述压力传感器(4)的输出端,所述底层控制器(2)的第二输入端连接所述关节角度传感器(7)的输出端,所述中央控制芯片(1)的输入端与所述三轴加速度传感器(3)的输出端连接;所述上位机(8)双向连接有第一无线收发模块(9),所述中央控制芯片(1)双向连接有第二无线收发模块(10),所述第一无线收发模块(9)与所述第二无线收发模块(10)之间通过无线信号进行数据交互;其特征在于包括以下步骤:步骤一、中央控制芯片(1)初始化,设定车身倾角阈值θ<sub>0</sub>、轮端压力阈值F<sub>0</sub>和车体重心阈值H<sub>0</sub>;步骤二、模式选择;当选择纯滚动模式时进入纯滚动控制程序,当选择可重构滚动模式时执行步骤三;<pb pnum="1" />步骤三、中央控制芯片(1)采集车身倾角值θ和轮端压力值F;步骤四、判断车身倾角值θ是否大于车身倾角阈值θ<sub>0</sub>,当θ&gt;θ<sub>0</sub>时,执行下一个步骤,否则执行步骤三;步骤五、计算当前车体重心值H并判断车体倾斜方向;设定车身横向倾角值为θ<sub>y</sub>,车身纵向倾角值为θ<sub>x</sub>,当θ<sub>x</sub>‑θ<sub>y</sub>&lt;0时,车体为横向倾斜,执行步骤六;当θ<sub>x</sub>‑θ<sub>y</sub>&gt;0时,车体为纵向倾斜,执行步骤七;步骤六、当θ<sub>y</sub>&lt;0时,车体为左倾,设定机器人右前轮端压力值为F<sub>rf</sub>,右后轮端压力值为F<sub>rh</sub>,右侧轮端压力差为|F<sub>1</sub>|,|F<sub>1</sub>|=F<sub>rf</sub>‑F<sub>rh</sub>,当|F<sub>1</sub>|&lt;F<sub>0</sub>时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右侧车轮降低;当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左侧车轮抬高;当|F<sub>1</sub>|&gt;F<sub>0</sub>时,判断F<sub>1</sub>的正负,当F<sub>1</sub>&gt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右前轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右后轮降低;当F<sub>1</sub>&lt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右后轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右前轮降低;当θ<sub>y</sub>&gt;0时,车体为右倾,设定机器人左前轮端压力值为F<sub>lf</sub>,左后轮端压力值为F<sub>lh</sub>,左侧轮端压力差为|F<sub>2</sub>|,|F<sub>2</sub>|=F<sub>lf</sub>‑F<sub>lh</sub>,当|F<sub>2</sub>|&lt;F<sub>0</sub>时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左侧车轮降低;当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给<pb pnum="2" />底层控制器(2),底层控制器(2)控制右侧车轮抬高;当|F<sub>2</sub>|&gt;F<sub>0</sub>时,判断F<sub>2</sub>的正负,当F<sub>2</sub>&gt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左前轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左后轮降低;当F<sub>2</sub>&lt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左后轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左前轮降低;步骤七、当θ<sub>x</sub>&lt;0时,车体为前倾,设定机器人右后轮端压力值为F<sub>rh</sub>,左后轮端压力值为F<sub>lh</sub>,后侧轮端压力差为|F<sub>3</sub>|,|F<sub>3</sub>|=F<sub>rh</sub>‑F<sub>lh</sub>,当|F<sub>3</sub>|&lt;F<sub>0</sub>时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制后侧车轮抬高;当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制前侧车轮降低;当|F<sub>3</sub>|&gt;F<sub>0</sub>时,判断F<sub>3</sub>的正负,当F<sub>3</sub>&gt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右后轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右前轮降低;当F<sub>3</sub>&lt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左后轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左前轮降低;当θ<sub>x</sub>&gt;0时,车体为后倾,设定机器人右前轮端压力值为F<sub>rf</sub>,左前轮端压力值为F<sub>lf</sub>,前侧轮端压力差为|F<sub>4</sub>|,当|F<sub>4</sub>|&lt;F<sub>0</sub>时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0<pb pnum="3" />时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制前侧车轮抬高;当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制后侧车轮降低;当|F<sub>4</sub>|&gt;F<sub>0</sub>时,判断F<sub>4</sub>的正负,当F<sub>4</sub>&gt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右前轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制右后轮降低;当F<sub>4</sub>&lt;0时,判断H‑H<sub>0</sub>是否大于0,当H‑H<sub>0</sub>&gt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左前轮抬高,当H‑H<sub>0</sub>&lt;0时,中央控制芯片(1)发送指令给底层控制器(2),底层控制器(2)控制左后轮降低。
地址 401331 重庆市沙坪坝区重庆市