CN104986241A - 四足机器人及其步态规划方法 - Google Patents
四足机器人及其步态规划方法 Download PDFInfo
- Publication number
- CN104986241A CN104986241A CN201510368506.2A CN201510368506A CN104986241A CN 104986241 A CN104986241 A CN 104986241A CN 201510368506 A CN201510368506 A CN 201510368506A CN 104986241 A CN104986241 A CN 104986241A
- Authority
- CN
- China
- Prior art keywords
- robot
- mrow
- msub
- steering engine
- gait
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005021 gait Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 22
- 210000002414 leg Anatomy 0.000 claims abstract description 63
- 210000000689 upper leg Anatomy 0.000 claims abstract description 32
- 210000004394 hip joint Anatomy 0.000 claims description 44
- 210000000629 knee joint Anatomy 0.000 claims description 26
- 230000033001 locomotion Effects 0.000 claims description 25
- 239000004973 liquid crystal related substance Substances 0.000 claims description 12
- 241000124008 Mammalia Species 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 8
- 230000000087 stabilizing effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000005484 gravity Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 210000001364 upper extremity Anatomy 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本发明公开了四足机器人及其步态规划方法;它包括:机器人的躯干,所述机器人的躯干前端的上方通过机器人颈部连接机器人头部,所述机器人躯干的下方连接四条腿:第一、第二、第三和第四条腿;其中第一、第二条腿安装在机器人躯干的前端,第三、第四条腿安装在机器人躯干的后端;每条腿均包括从下而上依次连接的小腿、大腿、垂直杆和水平杆四个部分;所述躯干上设有控制装置,控制装置用于控制机器人的行走。本发明的机器人具有平稳行走、自动避障等功能。
Description
技术领域
本发明涉及一种四足机器人及其步态规划方法。
背景技术
现有四足机器人还有很多的缺陷,比如均存在行走不稳定,功能较为单一的特点,大部分都只能在平坦地面行走,没有应对外界干扰的和躲避障碍物的能力,具有视觉的四足机器人更少。并且具有负载能力的四足机器人体型一般都较大、能耗高,在设计和调试中会有很多麻烦,不利于算法验证和参数调整,所以设计一个小型四足机器人,方便在实验室里进行算法验证,这对四足机器人的研究提供了一种高效的方式。
发明内容
本发明的目的就是为了解决上述问题,提供一种四足机器人及其步态规划方法,它具有通过建立D-H坐标系、设计运动学方程和求解逆运动学方程,利用ARM单片机作为主控制器,实现机器人步态规划,并通过多传感器实现了机器人的稳定性、自动避障和视觉传输能力,在Android平台上设计的上位机可以有地控制机器人的优点。
为了实现上述目的,本发明采用如下技术方案:
一种四足机器人,包括:机器人的躯干,所述机器人的躯干前端的上方通过机器人颈部连接机器人头部,所述机器人躯干的下方连接四条腿:第一、第二、第三和第四条腿;其中第一、第二条腿安装在机器人躯干的前端,第三、第四条腿安装在机器人躯干的后端;每条腿均包括从下而上依次连接的小腿、大腿、垂直杆和水平杆四个部分;所述小腿与大腿、大腿与垂直杆、垂直杆与水平杆之间均设有舵机;所述躯干上设有控制装置,控制装置通过控制舵机来控制机器人的平稳行走。
第一条腿中,小腿与大腿之间通过第一舵机连接,大腿和垂直杆之间通过第二舵机连接,垂直杆与水平杆之间通过第三舵机连接;
第二条腿中,小腿与大腿之间通过第四舵机连接,大腿和垂直杆之间通过第五舵机连接,垂直杆与水平杆之间通过第六舵机连接;
第三条腿中,小腿与大腿之间通过第七舵机连接,大腿和垂直杆之间通过第八舵机连接,垂直杆与水平杆之间通过第九舵机连接;
第四条腿中,小腿与大腿之间通过第十舵机连接,大腿和垂直杆之间通过第十一舵机连接,垂直杆与水平杆之间通过第十二舵机连接;
所述机器人颈部设有第十三舵机;所述机器人头部设有第十四舵机。
所述第三舵机,也称水平髋关节,仿照哺乳动物髋部关节的外摆内收功能,负责机器人平行于身体方向的垂直方向运动,是机器人的转向运动时的驱动源,其旋转量用θ0表示。
所述第二舵机,也称垂直髋关节,仿照哺乳动物的髋关节的前后收腿功能,负责机器人的平行于身体方向的运动,是整个机器人的承重关节,其旋转量用θ1表示。
所述第一舵机,也称膝关节,所述膝关节仿照哺乳动物的膝关节的前后运动关节,负责驱动机器人腿部与地面接触,是机器人的步态轨迹的最终呈现关节,其旋转量用θ2表示。
所述控制装置包括:单片机STM32,所述单片机STM32分别与上述十四个舵机、加速度计传感器和超声波传感器连接,所述单片机STM32还通过蓝牙模块与上位机连接,所述单片机STM32还通过单片机MT7620与网络摄像头连接,所述单片机STM32还通过稳压电路与电源连接,所述单片机STM32还通过单片机MEGA644与OLED液晶显示屏连接。
所述单片机STM32作为主控芯片是机器人控制的核心,通过定时器模块产生20ms定时中断作为机器人的运动周期,通过输出PWM波控制舵机转角完成机器人的步态,同时stm32通过采集加速度计反馈的值得到机器人的姿态,控制机器人的平衡,控制超声波模块的定时工作来采集机器人周围的障碍物情况,同时通过串口和蓝牙、mt7620连接来进行通信;
所述电源,用于给单片机供电;
所述稳压电路,用于提供5v、3.3v、6v不同的电压分别给传感器、arm芯片和舵机供电;
所述舵机,用于驱动机器人进行步态行走和头部摇动;
所述网络摄像头,用于远程监控,传送机器人周围的环境信息;
所述单片机MT7620,用于挂载OpenWRT系统以此将摄像头的图像通过wifi发送出;
所述加速度计传感器,安装在机器人的机体中心位置用于采集机器人实时的姿态;
所述超声波传感器,安装在机器人头部正上方用于检测机器人周围是否有障碍物;
所述单片机MEGA644,用于和stm32通信得到控制信息并解码后通过液晶显示;
所述OLED液晶显示屏,用于显示机器人当前信息;
所述蓝牙模块,用于和andorid上位机间通信,传输指令和数据;
所述上位机,用于发送指令和接收机器人反馈的数据;
一种四足机器人的步态规划方法,包括如下步骤:
步骤(1):机器人初始化;
步骤(2):机器人接收上位机指令;将指令解码,通过OLED液晶显示屏显示;
步骤(3):机器人对上位机指令进行判断并执行指令,判断是舵机调试指令、步态变换指令、方向改变指令还是其他功能指令,所述其他功能指令包括自适应稳定性、拍照指令和自动避障指令。
所述步骤(3)中,
如果是舵机调试指令,则开始单个舵机调试,判断是否收到调试值,如果收到就开始步态实现,步态实现后返回步骤(2);如果没收到就结束;
如果是步态变换指令,则开始步态实现,步态实现后返回步骤(2);
如果是方向改变指令,则调整运动学方程,开始步态实现,步态实现后返回步骤(2);
如果是其他功能指令,则根据指令完成稳定性调整、拍照和自动避障功能,返回步骤(2)。
所述步骤(3)中,
如果收到其他功能指令,首先判断是自适应稳定性指令、拍照指令还是自动避障指令;
如果是自适应稳定性指令,则加速度计传感器采集当前机器人躯体的倾角并和稳态时比较;计算偏差;步态实现;
如果是拍照指令,则网络摄像头拍照,将照片通过单片机MT7620内嵌的OpenWRT,上传给单片机STM32,最终通过蓝牙模块上传给上位机;
如果是自动避障指令,则进入如下步骤:
步骤(3-1):超声波传感器启动,判断是否在设定安全距离内,如果是就开始步态实现,返回步骤(3-1);如果否则机器人头部的第十四舵机通过转动再次检测;判断是否找到无障碍方向,如果是就改变方向,开始步态实现,返回步骤(3-1),如果否就结束。
所述步态实现的具体步骤如下:
步骤(4-1):建立DH坐标系,设定初始坐标点;
步骤(4-2):建立运动学方程;求解逆运动学方程;
步骤(4-3):设计运动轨迹;
步骤(4-4):舵机关节映射;
步骤(4-5):PWM输出控制舵机实现步态。
所述步骤(4-1)的步骤为:
首先,利用D-H(Dnavit-Harbenberg)方法对机器人建立坐标系,以此来表示各关节变量;第一关节的坐标系为(X1,Y1,Z1),第二关节的坐标系为(X2,Y2,Z2),第三关节的坐标系为(X3,Y3,Z3),机器人躯干的中心位置的坐标系为(X0,Y0,Z0)
根据建立的D-H坐标系建立机器人D-H坐标参数表。
表1机器人D-H坐标参数表
а:表示每条公垂线的长度(连杆长度);α:两个相邻两坐标系z轴间的角度;
θ:绕当前关节坐标系z轴旋转的角度;d:在当前关节坐标系z轴上两条相邻的公垂线之间的距离(称关节偏移);关节1表示横向髋关节;关节2表示纵向髋关节;关节3表示膝关节;а0表示横向髋关节和纵向髋关节之间的连杆长度;a1表示纵向髋关节和膝关节之间的连杆长度;a2表示膝关节关节和腿末端节之间的连杆长度;k的取值范围是0~2;dik的参数含义是k和k-1坐标系中z轴上两条相邻的公垂线之间的距离;θik的参数含义是z轴从k-1坐标系旋转到k坐标系的角度;θi0的参数含义是需要求解的横向髋关节转动角度;θi1的参数含义是需要求解的纵向髋关节转动角度;θi2的参数含义是需要求解的膝关节转动角度
所述步骤(4-2)的步骤为:
建立运动学方程
xi=-a1s1-a2s12+δl (1)
yi=a0s0+a1s0c1+a2s0c12+λw (2)
zi=-a0c0-a1c0c1-a2c0c12-h (3)
其中:
其中s0表示sinθ0,c0表示cosθ0,s1表示sinθ1,c1表示cosθ1,s12表示sin(θ1+θ2),c12表示cos(θ1+θ2)。xi表示第i坐标系中的x坐标a1表示纵向髋关节和膝关节之间的连杆长度a2表示膝关节关节和腿末端节之间的连杆长度,δ表示对应不同腿添加的标志位,为-1或1,l表示机器人机体的长度的一半;yi表示第i坐标系中的y坐标;a0表示横向髋关节和纵向髋关节之间的连杆长度。a1表示纵向髋关节和膝关节之间的连杆长度;a2表示膝关节关节和腿末端节之间的连杆长度;λ表示对应不同腿添加的标志位,为-1或1;w表示机器人的宽度的一半;zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系(X1,Y1,Z1)之间的高度。
求解得到逆运动学方程:
其中:
其中,
θi0表示第i个坐标系中横向髋关节转动的角度,yi表示第i坐标系中的y坐标,λ表示对应不同腿添加的标志位,为-1或1,zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系(X1,Y1,Z1)之间的高度;θi1表示第i个坐标系中纵向髋关节转动的角度,表示一个综合的公式。δ表示对应不同腿添加的标志位,为-1或1,xi表示第i坐标系中的x坐标,l表示机器人机体的长度的一半;a0表示横向髋关节和纵向髋关节之间的连杆长度,zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系1之间的高度。cosθi0表示第i个坐标系中横向髋关节转动角度的余弦值。θi2表示第i个坐标系中纵向膝关节转动的角度,ξ表示一个综合的公式,xi表示第i坐标系中的x坐标;
(2)变形为:yi-λw=s0(a0+a1c1+a2c12) (7)
(3)变形为:zi+h=-c0(a0+a1c1+a2c12) (8)
联立以上两式得:
由(8)得:
(1)整理为:xi-δl=-a1s1-a2s12 (10)
(9)(10)两式两边分别平方,并和得:
化简后得:
由三角函数公式化简得:
则:
令:
则:
求出θi0和θi2后求解θi1有多中方法,此处通过代入(1)求解整理后得:
令:
则:
如果是自适应稳定性指令,通过加速度计传感器测得机器人重力加速度可以得到角度信息,与之稳定态的加速度差值通过PID算法得到机器人的偏移量,单片机驱动舵机通过调节髋关节实现重心向原来方向的反作用力,使腿部的反作用力抵消外力的干扰,机器人身体的基准是不变的,根据当前偏移基准值应用增量或者位置PID算法都可以实现自动调整,考虑到位置式PID的算法需要不断累加每次的偏移值,运算量较大,所以使用增量式PID算法。
通过超声波传感器得到当前机器人与前方物体的距离,当距离大于安全距离时机器人前行。当小于安全距离时,机器人头部舵机向左或者右摇动,检测该方向的障碍情况,当距离符合安全距离时记录该方向标识位,并以此向该方向移动。
本发明的有益效果:
1、搭建了四足机器人硬件平台。通过运动方程建模和逆运动学方程求解得到足端轨迹并通过编程在本发明中实现了步态和转向方法。
2、通过加速度姿态传感器和超声波距离传感器感知当前状态,实现机器人行为协调与自主导航。
3、通过OpenWRT挂载网络摄像头方式实现远程图像传输处理,在上位机成功得到图像信息。上位机通过蓝牙传输指令完成了对机器人控制。
4、虽然没有大型四足机器人的负载能力,但其结构和功能都与之相似,能够在该小型四足机器人平台上验证步态算法,调试参数,设计动作,并且通过上位机可以回传机器人状态信息。
附图说明
图1为本发明的实体结构和坐标系示意图;
图2为本发明的机器人腿部示意图;
图3为本发明的控制装置结构示意图;
图4为本发明的整体方法流程图;
图5为本发明的其他功能实现流程图;
图6为本发明的步态实现流程图;
图7.1为x-z足端轨迹空间图;
图7.2为x-y足端轨迹空间;
图7.3为足端轨迹图;
图7.4(a)和图7.4(b)为足端分解图;
图7.5为x轴轨迹设置图;
图7.6为z轴轨迹设置图;
图7.7为机器人足端轨迹图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
本发明中使用蓝牙通信的两端设定为:手机端为服务端,机器人蓝牙作为客户端。
服务端,手机端保持BluetoothServiceSocket打开,作为server。ServerSocket将监听,一旦连接成功就会创建产生一个BluetoothSocket。调用listenUsingRfcommWithServiceRecord(string,UUID)获得BluetoothServiceSocket,然后调用accept()开始监听连接请求,如果接受成功将返回一个已经连接的BluetoothSocket。
客户端,首先获得一个代表远程设备的BlutoohDevice对象,然后使用它获得BluetoothSocket发起连接。使用BluetoothDevice方法,调用creaatRfcommSocketTo-Service-Record(UUID)将得到BluetoothSocket,然后调用connect()建立连接。
建立以上连接后就可以在两端相互发送和接收协议指令,完成控制机器人和反馈信息的功能。
上位机控制机器人通过一定的指令协议发送,下位机端识别指令,这就需要设计一套指令协议。Andorid发送数据只有字节流和字符流,为简化令本设计采用发用一个字节数据按照其不同位的0、1方式来编码,部分控制指令编码如表2所示:
表2部分控制协议指令
指令 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Hex |
Trot | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0x01 |
Bound | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0x02 |
Walk | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0x04 |
Pace | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0x08 |
Left | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0x03 |
Right | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0x05 |
Back | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0x06 |
Left_slide | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0x07 |
Left_parall | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0x09 |
Right_slide | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0x0d |
Right_parall | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0x0e |
Shakehead_left | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0x10 |
Shakehead_right | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0x12 |
如图1所示,一种四足机器人,包括:机器人的躯干,所述机器人的躯干前端的上方通过机器人颈部连接机器人头部,所述机器人躯干的下方连接四条腿:第一、第二、第三和第四条腿;其中第一、第二条腿安装在机器人躯干的前端,第三、第四条腿安装在机器人躯干的后端;每条腿均包括从下而上依次连接的小腿、大腿、垂直杆和水平杆四个部分;所述躯干上设有控制装置,控制装置用于控制机器人的行走。
第一条腿中,小腿与大腿之间通过第一舵机连接,大腿和垂直杆之间通过第二舵机连接,垂直杆与水平杆之间通过第三舵机连接;
第二条腿中,小腿与大腿之间通过第四舵机连接,大腿和垂直杆之间通过第五舵机连接,垂直杆与水平杆之间通过第六舵机连接;
第三条腿中,小腿与大腿之间通过第七舵机连接,大腿和垂直杆之间通过第八舵机连接,垂直杆与水平杆之间通过第九舵机连接;
第四条腿中,小腿与大腿之间通过第十舵机连接,大腿和垂直杆之间通过第十一舵机连接,垂直杆与水平杆之间通过第十二舵机连接;
所述机器人颈部设有第十三舵机;所述机器人头部设有第十四舵机。
所述第三舵机,也称水平髋关节,仿照哺乳动物髋部关节的外摆内收功能,负责机器人平行于身体方向的垂直方向运动,是机器人的转向运动时的驱动源,其旋转量用θ0表示。
所述第二舵机,也称垂直髋关节,仿照哺乳动物的髋关节的前后收腿功能,负责机器人的平行于身体方向的运动,是整个机器人的承重关节,其旋转量用θ1表示。
所述第一舵机,也称膝关节,所述膝关节仿照哺乳动物的膝关节的前后运动关节,负责驱动机器人腿部与地面接触,是机器人的步态轨迹的最终呈现关节,其旋转量用θ2表示。
如图3所示,所述控制装置包括:单片机STM32,所述单片机STM32分别与上述十四个舵机、加速度计传感器和超声波传感器连接,所述单片机STM32还通过蓝牙模块与上位机连接,所述单片机STM32还通过单片机MT7620与网络摄像头连接,所述单片机STM32还通过稳压电路与电源连接,所述单片机STM32还通过单片机MEGA644与OLED液晶显示屏连接。
所述单片机STM32作为主控芯片是机器人控制的核心,通过定时器模块产生20ms定时中断作为机器人的运动周期,通过输出PWM波控制舵机转角完成机器人的步态,同时stm32通过采集加速度计反馈的值得到机器人的姿态,通过算法来控制机器人的平衡,控制超声波模块的定时工作来采集机器人周围的障碍物情况,同时通过串口和蓝牙、mt7620连接来进行通信;所述电源,用于给单片机供电;
所述稳压电路,用于提供5v、3.3v、6v不同的电压分别给传感器、arm芯片和舵机供电;
所述舵机,用于驱动机器人进行步态行走和头部摇动;
所述网络摄像头,用于远程监控,传送机器人周围的环境信息;
所述单片机MT7620,用于挂载OpenWRT系统以此将摄像头的图像通过wifi发送出;
所述加速度计传感器,安装在机器人的机体中心位置用于采集机器人实时的姿态;
所述超声波传感器,安装在机器人头部正上方用于检测机器人周围是否有障碍物;
所述单片机MEGA644,用于和stm32通信得到控制信息并解码后通过液晶显示;
所述OLED液晶显示屏,用于显示机器人当前信息;
所述蓝牙模块,用于和andorid上位机间通信,传输指令和数据;
所述上位机,用于发送指令和接收机器人反馈的数据;
如图4所示,一种四足机器人的步态规划方法,包括如下步骤:
步骤(1):机器人初始化;
步骤(2):机器人接收上位机指令;将指令解码,通过OLED液晶显示屏显示;
步骤(3):机器人对上位机指令进行判断,判断是舵机调试指令、步态变换指令、方向改变指令还是其他功能指令,所述其他功能指令包括自适应稳定性、拍照指令和自动避障指令。
所述步骤(3)中,
如果是舵机调试指令,则开始单个舵机调试,判断是否收到调试值,如果收到就开始步态实现,步态实现后返回步骤(2);如果没收到就结束;
如果是步态变换指令,则开始步态实现,步态实现后返回步骤(2);
如果是方向改变指令,则调整运动学方程,开始步态实现,步态实现后返回步骤(2);
如果是其他功能指令,则根据指令完成稳定性调整、拍照和自动避障功能,返回步骤(2)。
如图5所示,所述步骤(3)中,
如果收到其他功能指令,首先判断是自适应稳定性指令、拍照指令还是自动避障指令;
如果是自适应稳定性指令,则加速度计传感器采集当前机器人躯体的倾角并和稳态时比较;计算偏差;步态实现;
如果是拍照指令,则网络摄像头拍照,将照片通过单片机MT7620内嵌的OpenWRT,上传给单片机STM32,最终通过蓝牙模块上传给上位机;
如果是自动避障指令,则进入如下步骤:
步骤(3-1):超声波传感器启动,判断是否在设定安全距离内,如果是就开始步态实现,返回步骤(3-1);如果否则机器人头部的第十四舵机通过转动再次检测;判断是否找到无障碍方向,如果是就改变方向,开始步态实现,返回步骤(3-1),如果否就结束。
如图6所示,所述步态实现的具体步骤如下:
步骤(4-1):建立DH坐标系,设定初始坐标点;
步骤(4-2):建立运动学方程;求解逆运动学方程;
步骤(4-3):设计运动轨迹;
步骤(4-4):舵机关节映射;
步骤(4-5):PWM输出控制舵机实现步态。
所述步骤(4-1)的步骤为:
如图1所示,首先,利用D-H(Dnavit-Harbenberg)方法对机器人建立坐标系,以此来表示各关节变量;第一关节的坐标系为(X1,Y1,Z1),第二关节的坐标系为(X2,Y2,Z2),第三关节的坐标系为(X3,Y3,Z3),机器人躯干的中心位置的坐标系为(X0,Y0,Z0)
根据建立的D-H坐标系建立机器人D-H坐标参数表。
表1机器人D-H坐标参数表
а:表示每条公垂线的长度(连杆长度);α:两个相邻两坐标系z轴间的角度;
θ:绕当前关节坐标系z轴旋转的角度;d:在当前关节坐标系z轴上两条相邻的公垂线之间的距离(称关节偏移);关节1表示横向髋关节;关节2表示纵向髋关节;关节3表示膝关节;а0表示横向髋关节和纵向髋关节之间的连杆长度;a1表示纵向髋关节和膝关节之间的连杆长度;a2表示膝关节关节和腿末端节之间的连杆长度;k的取值范围是0~2;dik的参数含义是k和k-1坐标系中z轴上两条相邻的公垂线之间的距离;θik的参数含义是z轴从k-1坐标系旋转到k坐标系的角度;如图2所示,θi0的参数含义是需要求解的横向髋关节转动角度;θi1的参数含义是需要求解的纵向髋关节转动角度;θi2的参数含义是需要求解的膝关节转动角度;
所述步骤(4-2)的步骤为:
建立运动学方程
xi=-a1s1-a2s12+δl (1)
yi=a0s0+a1s0c1+a2s0c12+λw (2)
zi=-a0c0-a1c0c1-a2c0c12-h (3)
其中:
其中s0表示sinθ0,c0表示cosθ0,s1表示sinθ1,c1表示cosθ1,s12表示sin(θ1+θ2),c12表示cos(θ1+θ2)。xi表示第i坐标系中的x坐标a1表示纵向髋关节和膝关节之间的连杆长度a2表示膝关节关节和腿末端节之间的连杆长度,δ表示对应不同腿添加的标志位,为-1或1,l表示机器人机体的长度的一半;yi表示第i坐标系中的y坐标;a0表示横向髋关节和纵向髋关节之间的连杆长度。a1表示纵向髋关节和膝关节之间的连杆长度;a2表示膝关节关节和腿末端节之间的连杆长度;λ表示对应不同腿添加的标志位,为-1或1;w表示机器人的宽度的一半;zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系(X1,Y1,Z1)之间的高度。
求解得到逆运动学方程:
其中:
其中,
θi0表示第i个坐标系中横向髋关节转动的角度,yi表示第i坐标系中的y坐标,λ表示对应不同腿添加的标志位,为-1或1,zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系(X1,Y1,Z1)之间的高度。θi1表示第i个坐标系中纵向髋关节转动的角度,表示一个综合的公式。δ表示对应不同腿添加的标位,为-1或1,xi表示第i坐标系中的x坐标,l表示机器人机体的长度的一半;a0表示横向髋关节和纵向髋关节之间的连杆长度,zi表示第i坐标系中的z坐标,h表示机器人的基坐标和坐标系1之间的高度。cosθi0表示第i个坐标系中横向髋关节转动角度的余弦值。θi2表示第i个坐标系中纵向膝关节转动的角度,ξ表示一个综合的公式,xi表示第i坐标系中的x坐标;
(2)变形为:yi-λw=s0(a0+a1c1+a2c12) (7)
(3)变形为:zi+h=-c0(a0+a1c1+a2c12) (8)
联立以上两式得:
由(8)得:
(1)整理为:xi-δl=-a1s1-a2s12 (10)
(9)(10)两式两边分别平方,并和得:
化简后得:
则:
令:
则:
求出θi0和θi2后求解θi1有多中方法,此处通过代入(1)求解整理后得:
令:
则:
如果是自适应稳定性指令,通过加速度计传感器测得机器人重力加速度可以得到角度信息,与之稳定态的加速度差值通过PID算法得到机器人的偏移量,单片机驱动舵机通过调节髋关节实现重心向原来方向的反作用力,使腿部的反作用力抵消外力的干扰,机器人身体的基准是不变的,根据当前偏移基准值应用增量或者位置PID算法都可以实现自动调整,考虑到位置式PID的算法需要不断累加每次的偏移值,运算量较大,所以使用增量式PID算法。
通过超声波传感器得到当前机器人与前方物体的距离,当距离大于安全距离时机器人前行。当小于安全距离时,机器人头部舵机向左或者右摇动,检测该方向的障碍情况,当距离符合安全距离时记录该方向标识位,并以此向该方向移动。
足端运动空间
以右前腿为例,在第三关节的坐标系(X3,Y3,Z3)中足端坐标为(L3,0,0)在第二关节的坐标系(X2,Y2,Z2)中第三关节的坐标系(X3,Y3,Z3)的坐标原点是沿着x轴方向平移L2然后绕z轴旋转θ3得到,即变换矩阵为:
同理得到
其中,表示由第3坐标系(X3,Y3,Z3)移动到第2坐标系(X2,Y2,Z2)的平移坐标变换,Trans表示平移变换,Rot(z,θ3)表示绕z轴旋转θ3角度,z表示z轴方向,θ3表示旋转的角度值,L2表示关节膝关节到足端的连杆长度
其中,表示由第2坐标系(X2,Y2,Z2)移动到第1坐标系(X1,Y1,Z1)的平移坐标变换,表示绕x轴顺时针旋转90°;Trans(L1,0,0)表示沿x轴方向平移L1长度,Rot(z,θ2)表示绕z轴方向旋转θ2角度。
其中,表示由第1坐标系(X1,Y1,Z1)移动到基坐标系(X0,Y0,Z0)的平移坐标变换,表示沿x轴方向移动L/2距离,沿y轴方向移动W/2距离,沿z轴方向移动-H距离,表示绕y轴方向旋转90°,Rot(z,-θ1)表示绕z轴方向旋转-θ1角度。
L:机器人身体长度;W:机器人身体宽度;H:机器人身体厚度
由此得到足端轨迹坐标点在基坐标位置为:
限定θ2范围是-45°~45°,θ3范围是0°~90°得到足端轨迹空间图,如图7.1和图7.2。
图7.2中显示了足端的轨迹空间,选取框中的(68.5,77.5,-135.5)作为右前腿的初始坐标点,以该点作为初始点留出了做够的裕量,机器人足端有较大的灵活性。
7.4足端轨迹设计
通过研究发现哺乳动物足端的轨迹基本都是圆滑的弧,如图7.3,将其分解为x轴方向和z轴方向的运动轨迹如图7.4(a)和图7.4(b)。
设定每个运动周期分成1000份,以基坐标(X0,Y0,Z0)的X,Z轴构成的面做基准确定足端轨迹,使用matlab中cftool工具采用描点拟合的方法初步拟合我们需求的轨迹曲线(仅分析前半个周期)。
X轴轨迹及参数如图7.5。Z轴轨迹及参数如图7.6。
修正后得到的设计足端轨迹方程为:
其中,x(t)表示x轴方向随时间变化的坐标点xinit表示初始时刻的x坐标点L表示步态的长度,T表示时间周期t表示时间。
y(t)=yinit (26)
其中,z(t)表示x轴方向随时间变化的坐标点zinit表示初始时刻z轴的坐标点,H表示步态的高度。L为步态的长度,最终足端轨迹如图7.7。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种四足机器人,其特征是,包括:机器人的躯干,所述机器人的躯干前端的上方通过机器人颈部连接机器人头部,所述机器人躯干的下方连接四条腿:第一、第二、第三和第四条腿;其中第一、第二条腿安装在机器人躯干的前端,第三、第四条腿安装在机器人躯干的后端;每条腿均包括从下而上依次连接的小腿、大腿、垂直杆和水平杆四个部分;所述小腿与大腿、大腿与垂直杆、垂直杆与水平杆之间均设有舵机;所述躯干上设有控制装置,控制装置通过控制舵机来控制机器人的平稳行走。
2.如权利要求1所述的一种四足机器人,其特征是,
第一条腿中,小腿与大腿之间通过第一舵机连接,大腿和垂直杆之间通过第二舵机连接,垂直杆与水平杆之间通过第三舵机连接;第二条腿中,小腿与大腿之间通过第四舵机连接,大腿和垂直杆之间通过第五舵机连接,垂直杆与水平杆之间通过第六舵机连接;
第三条腿中,小腿与大腿之间通过第七舵机连接,大腿和垂直杆之间通过第八舵机连接,垂直杆与水平杆之间通过第九舵机连接;
第四条腿中,小腿与大腿之间通过第十舵机连接,大腿和垂直杆之间通过第十一舵机连接,垂直杆与水平杆之间通过第十二舵机连接;
所述机器人颈部设有第十三舵机;所述机器人头部设有第十四舵机。
3.如权利要求2所述的一种四足机器人,其特征是,
所述第三舵机,也称水平髋关节,仿照哺乳动物髋部关节的外摆内收功能,负责机器人平行于身体方向的垂直方向运动,是机器人的转向运动时的驱动源,其旋转量用θ0表示;
所述第二舵机,也称垂直髋关节,仿照哺乳动物的髋关节的前后收腿功能,负责机器人的平行于身体方向的运动,是整个机器人的承重关节,其旋转量用θ1表示;
所述第一舵机,也称膝关节,所述膝关节仿照哺乳动物的膝关节的前后运动关节,负责驱动机器人腿部与地面接触,是机器人的步态轨迹的最终呈现关节,其旋转量用θ2表示。
4.如权利要求1所述的一种四足机器人,其特征是,
所述控制装置包括:单片机STM32,所述单片机STM32分别与上述十四个舵机、加速度计传感器和超声波传感器连接,所述单片机STM32还通过蓝牙模块与上位机连接,所述单片机STM32还通过单片机MT7620与网络摄像头连接,所述单片机STM32还通过稳压电路与电源连接,所述单片机STM32还通过单片机MEGA644与OLED液晶显示屏连接。
5.如权利要求4所述的一种四足机器人,其特征是,
所述单片机STM32作为主控芯片是机器人控制的核心,通过定时器模块产生20ms定时中断作为机器人的运动周期,通过输出PWM波控制舵机转角完成机器人的步态,同时stm32通过采集加速度计反馈的值得到机器人的姿态,控制机器人的平衡,控制超声波模块的定时工作来采集机器人周围的障碍物情况,同时通过串口和蓝牙、mt7620连接来进行通信;所述电源,用于给单片机供电;所述稳压电路用于提供5v、3.3v、6v不同的电压分别给加速度计传感器、超声波传感器、arm芯片和舵机供电;所述舵机用于驱动机器人进行步态行走和头部摇动;所述网络摄像头,用于远程监控,传送机器人周围的环境信息;所述单片机MT7620,用于挂载OpenWRT系统,将摄像头的图像通过wifi发送出;所述加速度计传感器安装在机器人的机体中心位置用于采集机器人实时的姿态;所述超声波传感器,安装在机器人头部正上方用于检测机器人周围是否有障碍物;所述单片机MEGA644,用于和stm32通信得到控制信息并解码后通过液晶显示;所述OLED液晶显示屏,用于显示机器人当前信息;所述蓝牙模块用于和andorid上位机间通信,传输指令和数据;所述上位机用于发送指令和接收机器人反馈的数据。
6.一种四足机器人的步态规划方法,其特征是,包括如下步骤:
步骤(1):机器人初始化;
步骤(2):机器人接收上位机指令;将指令解码,通过OLED液晶显示屏显示;
步骤(3):机器人对上位机指令进行判断并执行指令,判断是舵机调试指令、步态变换指令、方向改变指令还是其他功能指令,所述其他功能指令包括自适应稳定性、拍照指令和自动避障指令。
7.如权利要求6所述的方法,其特征是,所述步骤(3)中,
如果是舵机调试指令,则开始单个舵机调试,判断是否收到调试值,如果收到就开始步态实现,步态实现后返回步骤(2);如果没收到就结束;
如果是步态变换指令,则开始步态实现,步态实现后返回步骤(2);
如果是方向改变指令,则调整运动学方程,开始步态实现,步态实现后返回步骤(2);
如果是其他功能指令,则根据指令完成稳定性调整、拍照和自动避障功能,返回步骤(2)。
8.如权利要求6所述的方法,其特征是,所述步骤(3)中,
如果收到其他功能指令,首先判断是自适应稳定性指令、拍照指令还是自动避障指令;
如果是自适应稳定性指令,则加速度计传感器采集当前机器人躯体的倾角并和稳态时比较;计算偏差;步态实现;
如果是拍照指令,则网络摄像头拍照,将照片通过单片机MT7620内嵌的OpenWRT,上传给单片机STM32,最终通过蓝牙模块上传给上位机。
9.如权利要求8所述的方法,其特征是,
如果是自动避障指令,则进入如下步骤:
步骤(3-1):超声波传感器启动,判断是否在设定安全距离内,如果是就开始步态实现,返回步骤(3-1);如果否则机器人头部的第十四舵机通过转动再次检测;判断是否找到无障碍方向,如果是就改变方向,开始步态实现,返回步骤(3-1),如果否就结束。
10.如权利要求7所述的方法,其特征是,所述步态实现的具体步骤如下:
步骤(4-1):建立DH坐标系,设定初始坐标点;
步骤(4-2):建立运动学方程;求解逆运动学方程;
步骤(4-3):设计运动轨迹;
步骤(4-4):舵机关节映射;
步骤(4-5):PWM输出控制舵机实现步态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368506.2A CN104986241B (zh) | 2015-06-29 | 2015-06-29 | 四足机器人的步态规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368506.2A CN104986241B (zh) | 2015-06-29 | 2015-06-29 | 四足机器人的步态规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104986241A true CN104986241A (zh) | 2015-10-21 |
CN104986241B CN104986241B (zh) | 2018-04-24 |
Family
ID=54298177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510368506.2A Active CN104986241B (zh) | 2015-06-29 | 2015-06-29 | 四足机器人的步态规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104986241B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383518A (zh) * | 2016-09-29 | 2017-02-08 | 国网重庆市电力公司电力科学研究院 | 一种多传感器隧道机器人避障控制系统及方法 |
CN106394724A (zh) * | 2016-11-09 | 2017-02-15 | 江苏信息职业技术学院 | 自适应运动多关节行走机器人 |
CN106695791A (zh) * | 2017-01-11 | 2017-05-24 | 山东科技大学 | 四足仿生机器人连续自由步态生成方法 |
CN109343523A (zh) * | 2018-09-30 | 2019-02-15 | 大连海事大学 | 可绘制3d地图并实时传输图像的洞穴探测爬行机器人 |
CN109709967A (zh) * | 2019-01-22 | 2019-05-03 | 深圳市幻尔科技有限公司 | 机器人低运算要求的动态步态的实现方法 |
CN110361026A (zh) * | 2019-06-05 | 2019-10-22 | 华南理工大学 | 一种基于3d点云的仿人机器人路径规划方法 |
CN112193345A (zh) * | 2020-09-30 | 2021-01-08 | 江苏集萃智能制造技术研究所有限公司 | 一种分段式五次多项式曲线越障步态规划方法 |
CN112656402A (zh) * | 2020-11-30 | 2021-04-16 | 重庆优乃特医疗器械有限责任公司 | 应用于3d体态检测分析的采集机器人联动控制系统 |
CN113911223A (zh) * | 2021-10-20 | 2022-01-11 | 上海应用技术大学 | 软体机器人及软体机器人的控制方法 |
CN114543723A (zh) * | 2022-02-28 | 2022-05-27 | 苏州康多机器人有限公司 | 一种dh模型参数测算方法、装置及系统 |
CN114793668A (zh) * | 2022-04-15 | 2022-07-29 | 成都理工大学 | 一种树枝修剪智能机器人 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5402050A (en) * | 1992-08-18 | 1995-03-28 | Honda Giken Kogyo Kabushiki Kaisha | Locomotion control system for mobile robot |
CN202657138U (zh) * | 2012-07-16 | 2013-01-09 | 山东大学 | 小型仿生四足机器人 |
CN202771260U (zh) * | 2012-09-05 | 2013-03-06 | 浙江大学 | 一种基于DaNI移动机器人平台的智能安全巡逻系统 |
CN103085070A (zh) * | 2013-01-15 | 2013-05-08 | 上海交通大学 | 面向复杂地形的四足机器人运动规划方法 |
CN104709374A (zh) * | 2015-02-13 | 2015-06-17 | 中国北方车辆研究所 | 一种防止足式机器人左右倾斜的方法 |
-
2015
- 2015-06-29 CN CN201510368506.2A patent/CN104986241B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5402050A (en) * | 1992-08-18 | 1995-03-28 | Honda Giken Kogyo Kabushiki Kaisha | Locomotion control system for mobile robot |
CN202657138U (zh) * | 2012-07-16 | 2013-01-09 | 山东大学 | 小型仿生四足机器人 |
CN202771260U (zh) * | 2012-09-05 | 2013-03-06 | 浙江大学 | 一种基于DaNI移动机器人平台的智能安全巡逻系统 |
CN103085070A (zh) * | 2013-01-15 | 2013-05-08 | 上海交通大学 | 面向复杂地形的四足机器人运动规划方法 |
CN104709374A (zh) * | 2015-02-13 | 2015-06-17 | 中国北方车辆研究所 | 一种防止足式机器人左右倾斜的方法 |
Non-Patent Citations (1)
Title |
---|
荣学文: "SCalf液压驱动四足机器人的机构设计与运动分析", 《中国博士学位论文全文数据库》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383518A (zh) * | 2016-09-29 | 2017-02-08 | 国网重庆市电力公司电力科学研究院 | 一种多传感器隧道机器人避障控制系统及方法 |
CN106394724A (zh) * | 2016-11-09 | 2017-02-15 | 江苏信息职业技术学院 | 自适应运动多关节行走机器人 |
CN106695791A (zh) * | 2017-01-11 | 2017-05-24 | 山东科技大学 | 四足仿生机器人连续自由步态生成方法 |
CN109343523A (zh) * | 2018-09-30 | 2019-02-15 | 大连海事大学 | 可绘制3d地图并实时传输图像的洞穴探测爬行机器人 |
CN109709967A (zh) * | 2019-01-22 | 2019-05-03 | 深圳市幻尔科技有限公司 | 机器人低运算要求的动态步态的实现方法 |
CN110361026A (zh) * | 2019-06-05 | 2019-10-22 | 华南理工大学 | 一种基于3d点云的仿人机器人路径规划方法 |
CN112193345A (zh) * | 2020-09-30 | 2021-01-08 | 江苏集萃智能制造技术研究所有限公司 | 一种分段式五次多项式曲线越障步态规划方法 |
CN112656402A (zh) * | 2020-11-30 | 2021-04-16 | 重庆优乃特医疗器械有限责任公司 | 应用于3d体态检测分析的采集机器人联动控制系统 |
CN113911223A (zh) * | 2021-10-20 | 2022-01-11 | 上海应用技术大学 | 软体机器人及软体机器人的控制方法 |
CN114543723A (zh) * | 2022-02-28 | 2022-05-27 | 苏州康多机器人有限公司 | 一种dh模型参数测算方法、装置及系统 |
CN114543723B (zh) * | 2022-02-28 | 2023-02-03 | 苏州康多机器人有限公司 | 一种dh模型参数测算方法、装置及系统 |
CN114793668A (zh) * | 2022-04-15 | 2022-07-29 | 成都理工大学 | 一种树枝修剪智能机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN104986241B (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104986241B (zh) | 四足机器人的步态规划方法 | |
Fu et al. | Deep whole-body control: learning a unified policy for manipulation and locomotion | |
CN109093626B (zh) | 四足机器人的机身姿态控制方法及装置 | |
CN111377004B (zh) | 一种双足机器人步态控制方法以及双足机器人 | |
Nishiwaki et al. | Design and development of research platform for perception-action integration in humanoid robot: H6 | |
WO2020133288A1 (zh) | 一种双足机器人步态控制方法以及双足机器人 | |
AU2016404622B2 (en) | A mobile robot with enhanced balanced motion and behavior capabilities | |
WO2003078110A1 (fr) | Robot, controleur de robot a jambes et procede correspondant, systeme de capteurs pour robot a jambes, et appareil locomoteur | |
Gong et al. | Bionic quadruped robot dynamic gait control strategy based on twenty degrees of freedom | |
CN103901889A (zh) | 一种基于蓝牙通信的多机器人编队控制路径跟踪方法 | |
CN106607910A (zh) | 一种机器人实时模仿方法 | |
CN103112517B (zh) | 一种调节四足机器人身体姿态的方法和装置 | |
US20240157555A1 (en) | Method, apparatus, and electronic device for controlling legged robot, computer-readable storage medium, computer program product, and legged robot | |
US8761926B2 (en) | Apparatus and method for robot control | |
Ding et al. | Online center of mass detection for quadruped robots in trot gait motion | |
CN109693235A (zh) | 一种仿人眼视觉跟踪装置及其控制方法 | |
Kim et al. | Assessing whole-body operational space control in a point-foot series elastic biped: Balance on split terrain and undirected walking | |
CN110053054A (zh) | 基于Android手机IMU的机械臂示教方法 | |
Kryczka et al. | A robotic implementation of a bio-inspired head motion stabilization model on a humanoid platform | |
JP2002210681A (ja) | 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置 | |
JP2018058177A (ja) | ロボット、姿勢制御装置、姿勢制御方法、および制御プログラム | |
CN202507280U (zh) | 仿人机器人 | |
JP6218641B2 (ja) | ロボットの保持システム | |
CN206788571U (zh) | 运动模拟控制设备 | |
CN112256047A (zh) | 一种基于四元数的四足姿态控制策略 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230524 Address after: 250101 room 2105, building 3, Aosheng building, No. 1166 Xinluo street, Jinan area, China (Shandong) pilot Free Trade Zone, Jinan City, Shandong Province Patentee after: SHANDONG YOUBAOTE INTELLIGENT ROBOT CO.,LTD. Address before: 264209 No. 180, Wenhua West Road, Shandong, Weihai Patentee before: SHANDONG University WEIHAI |
|
TR01 | Transfer of patent right |