设为首页收藏本站

一定要看的科技——四足机器人步态

free 发表于 2015-12-16 09:55:41 | 显示全部楼层 [复制链接]
29 11845
本帖最后由 free 于 2015-12-23 16:42 编辑

Unnamed QQ Screenshot20151211120338.png
      美国军方已决定向阿富汗派遣一种名为“大狗”的新型机器人,作为增兵计划的一部分。与以往各种机器人不同的是,“大狗”并不依靠轮子行进,而是通过其身下的四条“铁腿”。美军将阿富汗作为测试这种具有高机动能力的四足仿生机器人的试验场,开始试验这款机器人与士兵协同作战的性能。
       多足步行机器人是上世纪中叶提出的一种新型的机器人,凭借其在军事侦察、科学探索、灾难营救、生活娱乐等方面广泛的应用前景,使得这种机器人在几十年的发展中,成为国内外诸多科研团队的研究对象。四足步行机器人在复杂、未知的自然环境中的适应能力明显大于轮式和履带式移动机器人,它仅需要有限的支撑点就可以进行作业,而且在近年来的研究中四足步行机器人向着小型化、智能化、仿生等发面发展。  
    本文提出了一种四足仿生步行机器人及其控制策略方法。通过运动学、动力学、步态及稳定性分析不断优化步态分析,在结构上机器人腿部采用3D打印件,其中驱动是利用舵机控制。
6W4A9175.JPG
      圣诞的钟声即将敲响——送给朋友的圣诞节礼物
  
    当圣洁的花飘落

当铃儿叮当轻响

当鹿儿脚步欢畅

我轻声对你哼唱

朋友圣诞快乐

新的一年即将来临

愿你幸福安康

当圣诞的钟声敲响

当灿烂的礼花绽放

当白胡子的老人来到窗下

我把对你的祝福委托于他

当你明天醒来

袜子放在枕畔

里面装满我真祝的心愿

朋友,圣诞快乐


6W4A9216.JPG



二、视频介绍
      脚类动物运动其本质是移动重心,一般四肢动物的行是有一定的规律的。以马为例,开始起步时如果是右前足先向前开步,对角线的左足就会跟着向前走,接着是左前足向前走,再就是右足跟着向前走,这样就完成一个循环。此四足机器人是有10个自由度的,其中1个是头部自由度、另一个是腰部自由度,还有8个是腿部自由度。每条腿是两个自由度,这样就可以比较轻松的抬起来和放下去,是靠静摩擦不是靠动摩擦前进,这样就比较好的模拟动物行走的步态。在每条腿行走的过程中,利用身体的平衡把重心向前移动。   

      

三、步态分析
真实马1.jpg
步态分析是一种对动物肢体运动的系统研究即是指人或动物通过肢体运动并前进的一种周期性的形式和样子。(如行走奔跑,脚步移动等)。步态就是描述人走路特点的一种周期性现象,并且每个周期可以被分为多个部分进行分析。

(一)、踢类四肢动物


3fca6e4517f96d816ebfebf4061008d0.gif



1. 踢类动物较掌类动物稳定性较差,所以一般行走的话是三只脚着地。因为需要三条腿进行支持,也就是需要三角形进行平衡。先抬起右后脚→右前脚→左后脚→左前脚→右后脚。

马步态1.png
file:///C:/Users/free/AppData/Local/Temp/ksohtml/wps4E77.tmp.jpg

下面是行走的三角图形其中三角形的三个角表示三只脚,圆圈表示抬起的脚。在运动的过程中把重心整体向前移动。
马步态2.png
2.关节的运动:
    腿抬起的时候大腿关节先抬起,同时小腿关节弯曲,这样是为了能够很好的抬起。然后再向前迈进,再放下,在这过程中同时每条大腿把重心向前移动。
    马步态3.jpg
3.腰部动作
     走步时由于腿关节的屈伸运动,身体稍有高低起伏。从俯视角度看,肩部线和臀部线成交替向前的状态,身体也随之扭动。从下图可以比较清楚的看出,当迈左脚时腰部向右转,同样的迈右脚的时候腰向左转。
马步态4.jpg
4.头部
     头部会上下略有点动,一般是在跨出的前脚即将落地时,头开始朝下点动,前脚伸直时头朝上。
马步态5.jpg
(二)掌类动物



6aa2f5343b574d7c8a9ecb214d3b9595.gif

        掌类动物,因为有脚掌可以作为平衡支点,所以可以两条腿一起动。在行走较快的话,两条腿可以保持平衡,就是可以两条腿进行交替进行运动

狗步态1.jpg
狗步态2.png
           下面是掌类动物四条脚掌运动图,四条线的四个端点表示动物的四个脚 ,其中实线表示对角线着地的脚,虚线表示抬起的对角线脚。这样交替运动就会比较快的向前运动。
狗步态4.png
(三)、此次四足狗的步态对应的舵机角度——前进步态程序角度分析
是先按照1→2→3→4→1大的步骤行走,其中每个步态中又包括(1)→(2)→(3)小步态进行行走。在行走的同时其它脚也在动,是为了把重心向前移动。file:///C:/Users/free/AppData/Local/Temp/ksohtml/wps4EAF.tmp.jpg
下面是步态对应的是舵机的角度值

Unnamed QQ Screenshot20151203183624.png
四、机械结构分析
      此四足机器人共有10个自由度,,其中1个是头部自由度、另一个是腰部自由度,还有8个是腿部自由度。每条腿是两个自由度,这样就可以比较轻松的抬起来和放下去,是靠静摩擦不是靠动摩擦前进,这样就比较好的模拟动物行走的步态。在每条腿行走的过程中,利用身体的平衡把重心向前移动。所以要使得
下面是身体的3D打印件,要注意腰部有一个关节,腰部关节很重要。在设计的时候要注意,结构的牢固性,腰部的承受力比较大。
1.身体
Unnamed QQ Screenshot20151203175348.png
6W4A9253.JPG
2.大腿——四足机器人的大腿比较重要,需要承受较大的力量,所以设计的时候牢固性一定要注意。中空的地方是舵机的,其它小孔是固定螺丝。
Unnamed QQ Screenshot20151203180205.png
6W4A9244.JPG

6W4A9250.JPG

3.小腿——设计的时候,脚掌要设计比较大一点,这样稳定性好一点。在3D打印的时候,要注意镜像问题。

狗3D4.png
6W4A9249.JPG
4.组合——小腿和大腿结合起来然后再安装身体上。

6W4A9257.JPG


五、其它动物运动过程
    (一)、 动物奔跑的基本特征为:
     动物奔跑与走步时四条腿的交替分合相似。但是,跑的愈快,四条腿的交替分合就愈不明显。有时会变成前后各两条腿同时屈伸,着地的顺序:前面两腿先着地。即前左、前右、后左、后右。脚离地时只差一到两格。

兔子.png

(二)、家禽类
1、鸡的走路特点为:
  (1)双脚前后交替,身体左右摇摆
  (2)为了平衡身体,头和脚协调的关系为:当一只脚抬起到
     中间,头向后收,当一只脚刚抬起时,头向前伸。
   (头和脚动作前后时间差一格或二格)
(3)脚爪离地抬起向前伸展时,趾关节呈弧线运动。
鸡.png

(三)、飞禽类——转化流动的气体为升力

鸟类在空中的飞行动作是流线型的,在空中消耗最小的能量,它凭借着气流的方向,帮助飞翔动作,飞翔时腿部蜷缩着紧贴身体或朝后拖曳着。
鸟.png
小鸟飞行中常常是夹翅飞窜,然后急速扇动双翅.
鸟2.png
小鸟快速飞翔时,翅膀扇动频率高,常用流线表现。飞行时形体变化小在大鸟飞行中,还要注意身体和尾部的运动。飞翔中身体不是固定不变的,而是上下的移动。当翅膀向上时身体向下,当翅膀向下时身体上升。尾部起平衡作用,翅膀向上,尾部也向上
鸟3.png

昆虫的种类繁多,按其动作特点来看,可分为以飞为主、以爬为主和以跳为主三种类型。
1、以飞为主的昆虫
(1)蝴蝶,画蝴蝶飞舞的动作时,应先设计好飞行路径,其路径呈现不规则的线。注意避免过于机械。一般翅膀一张向上,一张向下。两张之间的距离大约为一个身体的幅度。中间可以不加动画或只加一张动画。
鸟4.png
(2)蜜蜂和苍蝇,蜜蜂和苍蝇只有一对翅膀。飞行动作比较急促,双翅扇动频率较快。翅膀扇动在同一张画面上,可以同时画出上下两对翅膀,前一张翅膀向上画实向上画虚,后一张与之相反,向上画虚,向下画实。上下翅膀间还可以画几根流线,表示翅膀的快速扇动。飞行一段时间后,还可以让身体在空中停顿,只要画出翅膀不停上下扇动即可。
蜜蜂1.png
(3)蜻蜓,蜻蜓的特点是头大身子细翅膀长。在飞行时一般不能灵活转变方向,动作姿势也变化不大。蜻蜓的飞行速度很快,画它飞行时,在同一张画面的蜻蜓身上,同时画出几个翅膀的虚影。
蜻蜓1.png


(四)、鱼类

鱼类因生活在水中,其身体也呈现流线型,主要靠鱼鳍的推动使身体在水中向前游动。鱼身摆动时的各种变化成曲线运动状态。按照鱼类运动特点,可分为大鱼和小鱼。
1、大鱼
大鱼的身体又大又长,鱼鳍相对较小。在游动中身体摆动的曲线弧度较大,动作缓慢稳定。大鱼在水中,身体常常不动或少动,在受到惊吓时会突然加速窜逃。
2、小鱼
小鱼的身体短小或狭长,动作灵活、变化较多、节奏短促,常有停顿或突然逃窜。曲线弧度不大,特别是在快游时很难看清鱼鳍变化。
鱼1.png
(五)、爬行类和两栖类
   爬行类分有足和无足两种。有足的爬行动物例如乌龟、鳄鱼、蜥蜴等。其特征为四足短小,身体靠近地面,爬行时,四肢前后交替运动、动作缓慢,头部左右摆动较大,尾巴呈现波形曲线运动。
乌龟1.png
      无足的爬行动物如蛇,其身体圆而细长。他的行动靠轮流收缩脊骨两边肌肉进行。它的运动特点是身体向两旁作S形曲线运动,头部微微离地抬起,左右摆动幅度较小,尾巴越向后面,其摆动幅度就越大。
蛇.png





四、代码
  1. <font face="微软雅黑"><b><font size="3">/*
  2. * This example is aimed to control DOGrobot
  3. * Created 2015-12-29
  4. * By free
  5. *website :
  6. */
  7. #include <DOGrobot.h>
  8. #include<Servo.h>
  9. #include <SoftwareSerial.h>
  10. #include <DFPlayer_Mini_Mp3.h>
  11. DOGrobot DOGrobot;
  12. unsigned long  mp3time = 0;
  13. unsigned long  stoptime = 0;
  14. #define    mp3delay  3000
  15. unsigned long    Barkingtime = 0;
  16. unsigned long    Barkingdelay = 2000;
  17. unsigned long     Ultrasonictime = 0;
  18. unsigned long     Ultrasonicdelay = 1000;
  19. unsigned long     directiontime = 0;
  20. unsigned long     directiondelay = 3000;
  21. int  distance = 0;
  22. int AngHand = 90;
  23. int  left = 0;
  24. int  middle = 0;
  25. int  right = 0;
  26. void setup() {
  27.   Serial.begin(9600);
  28.   DOGrobot.DOGsetup();
  29.   delay(1000);
  30.   //DOGrobot.Init();
  31.   //delay(1000);
  32.   DOGrobot.UltrasonicInit();
  33.   mp3_set_serial (Serial);        //set Serial for DFPlayer-mini mp3 module
  34.   mp3_set_volume (20);
  35. }
  36. void loop() {
  37.   if (left == 0 && middle == 0 && right == 0)
  38.   {
  39.     DOGrobot.Forward();
  40.     AngHand = DOGrobot.Hand();
  41.   }
  42.   else if (left == 0)
  43.   {
  44.     DOGrobot.Turnleft();
  45.     AngHand = DOGrobot.Hand();
  46.   }
  47.   else if (right == 0)
  48.   {
  49.     DOGrobot.Turnright();
  50.     AngHand = DOGrobot.Hand();
  51.   }
  52.   else   DOGrobot.Barking();
  53.   if (millis() - directiontime > directiondelay)
  54.   {
  55.     directiontime = millis();
  56.     left = 0;
  57.     middle = 0;
  58.     right = 0;
  59.   }
  60.   distance = analogRead(5);
  61.   Serial.println(distance);
  62.   if (distance > 250)
  63.   {
  64.     if (millis() - mp3time > mp3delay)
  65.     {
  66.       mp3time = millis();
  67.       mp3_play (1);
  68.     }
  69.     if (AngHand < 70)  left = 1;
  70.     else if (AngHand > 110)  right = 1;
  71.     else  middle = 1;
  72.   }
  73. }</font></b></font>
复制代码

库文件链接

六、心愿单
     硬件采购
   


6W4A9252.JPG



七、文件链接
       四足机器人代码.zip (899.86 KB, 下载次数: 195)
发表于 2015-12-16 10:17:28 | 显示全部楼层
粘土+3D打印吗?
回复 支持 反对

使用道具 举报

发表于 2015-12-16 10:17:44 | 显示全部楼层
能不能走快点?
回复 支持 反对

使用道具 举报

发表于 2015-12-16 10:38:37 | 显示全部楼层
hnyzcj 发表于 2015-12-16 10:17
能不能走快点?

可以走快的,只要调节一下步调就可以了
回复 支持 反对

使用道具 举报

发表于 2015-12-16 10:39:03 | 显示全部楼层
hnyzcj 发表于 2015-12-16 10:17
粘土+3D打印吗?

外形是的
回复 支持 反对

使用道具 举报

发表于 2015-12-16 10:54:08 | 显示全部楼层
鹿头机身好搞笑~感觉可以做个龟兔赛跑系类~啊哈哈~~给兔子正名~
回复 支持 反对

使用道具 举报

发表于 2015-12-16 11:04:57 | 显示全部楼层
牛牛哒,尤其那个分析,精确到位
回复 支持 反对

使用道具 举报

发表于 2015-12-16 11:36:36 | 显示全部楼层
外形能好点一点就完美啦呃
回复 支持 反对

使用道具 举报

发表于 2015-12-16 14:33:50 | 显示全部楼层
LUNA  DRAW  d ma
回复 支持 反对

使用道具 举报

发表于 2015-12-16 18:48:04 | 显示全部楼层
介绍超详细啊,期待其他动物的  哈哈
回复 支持 反对

使用道具 举报

发表于 2015-12-17 00:42:57 来自手机 | 显示全部楼层
造型挺挺不错的。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-17 11:22:19 | 显示全部楼层
dsweiliang 发表于 2015-12-16 11:36
外形能好点一点就完美啦呃

对的。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-17 11:23:14 | 显示全部楼层

没看懂。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-17 13:04:07 | 显示全部楼层

LUNA 画的吗
回复 支持 反对

使用道具 举报

发表于 2015-12-17 23:22:03 | 显示全部楼层
那个鹿 = = 好像狗啊哈哈哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

发表于 2015-12-17 23:37:49 来自手机 | 显示全部楼层
求步态源代码
回复 支持 反对

使用道具 举报

发表于 2015-12-18 10:05:41 | 显示全部楼层

源代码我稍整理一下,贴上去
回复 支持 反对

使用道具 举报

发表于 2015-12-18 10:18:52 | 显示全部楼层
什么时候出蜘蛛机器人
回复 支持 反对

使用道具 举报

发表于 2015-12-21 10:16:51 | 显示全部楼层
Geemi 发表于 2015-12-18 10:18
什么时候出蜘蛛机器人

还不清楚
回复 支持 反对

使用道具 举报

发表于 2015-12-21 10:31:51 | 显示全部楼层
Jane 发表于 2015-12-16 18:48
介绍超详细啊,期待其他动物的  哈哈

可以有个乐园 呵呵
回复 支持 反对

使用道具 举报

发表于 2015-12-23 15:20:08 | 显示全部楼层
这位同学的这么多插图是哪里找来的,介绍的很详细啊
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 允许回帖同步到新浪微博  

推荐阅读

精华导读




公司简介| 联系我们| 小黑屋| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网| OneNET|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表