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