机器人制作方案
本文示例将实现8自由度并联腿机器狗保持姿态平衡的功能,当机器狗在一个平台上原地站立,平台发生倾斜时,机器狗能够自动调整姿态,保证背部水平。2.机器狗的稳定性分析
稳定性是机器狗运动中很重要的一部分,对于足式机器人的稳定性判定,研究人员提出了很多不同的方法,如ZMP(零力矩点)、FASM(力角稳定裕度)、ESM(能量稳定裕度)等。
机器狗运动时,惯性力、腿部与地面的接触力是其主要扰动来源。机器狗的着地腿会受到地面对其的支持力和摩擦力,而其它外力可等效为机器狗重心处的惯性力,受力分析如下图所示:
机器狗的受力分析示意图
(F1、F2、F3是地面对机器狗的支持力;表示等效惯性力和等效重力的合力)
在四足机器人中,由于运动步态中支撑脚通常只有两条或更少,无法在地面上寻找到有效的支撑多边形,因此四足机器人只好将机器人的质心偏离初始位置的距离作为稳定性的参考量。一般来说,竖直方向的偏置距离对稳定性的影响不大。
3.电子硬件
本实验中采用了以下硬件:
电路连接说明:
①将8个舵机连接在SH-SR扩展板上,舵机连接顺序为:1、2、3、4、5、6、7、8;
②将六轴陀螺仪传感器连接在Bigfish扩展板的A0端口。
4.功能实现
上位机:Controller1.0
下位机编程环境:Arduino1.8.19
实现思路:当机器狗在一个平台上原地站立,平台发生倾斜时,机器狗能够自动调整姿态,保证背部水平。
4.1调试舵机角度
对于机器狗利用Controller软件进行调试舵机角度,可参考文章8自由度并联腿机器狗-行走【https://www.robotway.com/h-col-228.html】
4.2示例程序
下面提供一个8自由度并联腿机器狗保持姿态平衡的参考例程(Dog_Balance.ino),具体实验效果可参考演示视频。
/*------------------------------------------------------------------------------------版权说明:Copyright2023Robottime(Beijing)TechnologyCo.,Ltd.AllRightsReserved.DistributedunderMITlicense.SeefileLICENSEfordetailorcopyathttps://opensource.org/licenses/MITby机器谱2023-05-18https://www.robotway.com/------------------------------*/#include"leg.h"#include"gait.h"#include"sensor.h"enum{DOGBALANCE=1,DOGWALK,DogObstacleAvoidanceWalk};floatEular[3];/*欧拉角*/voidsetup(){//putyoursetupcodehere,torunonce:Serial.begin(115200);Serial.begin(115200);sensorSetup();delay(3000);}voidloop(){//putyourmaincodehere,torunrepeatedly:Dog_Balance();//狗保持平衡}voidDog_Balance(){staticlongt_control=millis();floatf=readFront();floatb=readBack();readPose();if((millis()-t_control)>40){if(f&&!b){leg0.back();leg1.back();leg2.back();leg3.back();}elseif(b&&!f){leg0.front();leg1.front();leg2.front();leg3.front();}if(Eular[0]>3){leg0.down();leg1.down();leg2.up();leg3.up();}if(Eular[0]0&&Eular[1]