[开源]中秋福利贴,蜘蛛满地爬,捏哈哈哈

2020-02-20 19:57发布


经过几个小时的奋战,小蜘蛛终于流畅的在地上爬了~
废话不说,上视频咯
   
- 2014-9-8 更新
    a. 更新cerebel,修正了几个错误,删除了ACTION_CFG宏,增加了DEF_ACTION宏
    b. 增加了视频
         Spider_Go_Front.part1.rar (10 MB, 下载次数: 3747) 2014-9-8 18:06 上传 点击文件名下载附件 Spider_Go_Front.part2.rar (10 MB, 下载次数: 4148) 2014-9-8 18:07 上传 点击文件名下载附件 Spider_Go_Front.part3.rar (9.37 MB, 下载次数: 3736) 2014-9-8 18:07 上传 点击文件名下载附件
    c. 增加了向前走的动作定义,其实向后走就是把里面几个Action的动作反过来
   

  1. #define DELTA_DEGREE_XY             23
  2. #define DELTA_DEGREE_XZ             45

  3. #define LEFT_FRONT_LEG_0_RST        (180 - DELTA_DEGREE_XY)
  4. #define LEFT_MIDDLE_LEG_0_RST       180
  5. #define LEFT_BACK_LEG_0_RST         (180 + DELTA_DEGREE_XY)
  6. #define RIGHT_FRONT_LEG_0_RST       (0 + DELTA_DEGREE_XY)
  7. #define RIGHT_MIDDLE_LEG_0_RST      0
  8. #define RIGHT_BACK_LEG_0_RST        (0 - DELTA_DEGREE_XY)

  9. #define LEFT_LEG_1_RST              180
  10. #define RIGHT_LEG_1_RST             0

  11. #define LEFT_LEG_2_RST              90
  12. #define RIGHT_LEG_2_RST             90

  13. #define LEFT_LEG_UP                 (LEFT_LEG_1_RST + DELTA_DEGREE_XZ)
  14. #define LEFT_LEG_DOWN               LEFT_LEG_1_RST

  15. #define RIGHT_LEG_UP                (RIGHT_LEG_1_RST - DELTA_DEGREE_XZ)
  16. #define RIGHT_LEG_DOWN              RIGHT_LEG_1_RST

  17. #define SPIDER_SPEED                2

  18. DEF_ACTION(Spider_Go_Front)                           

  19.     //! middle state A
  20.     ACTION(
  21.         ALL_LEGS_MSK ,
  22.         true,                                   //!< start automatically
  23.         SPIDER_SPEED,        //!< Use 1s
  24.         {
  25.             [LEFT_FRONT_LEG_0]      = LEFT_FRONT_LEG_0_RST,
  26.             [LEFT_MIDDLE_LEG_0]     = LEFT_MIDDLE_LEG_0_RST,
  27.             [LEFT_BACK_LEG_0]       = LEFT_BACK_LEG_0_RST,
  28.             [RIGHT_FRONT_LEG_0]     = RIGHT_FRONT_LEG_0_RST,
  29.             [RIGHT_MIDDLE_LEG_0]    = RIGHT_MIDDLE_LEG_0_RST,
  30.             [RIGHT_BACK_LEG_0]      = RIGHT_BACK_LEG_0_RST,

  31.             [LEFT_FRONT_LEG_1]      = LEFT_LEG_UP,
  32.             [LEFT_MIDDLE_LEG_1]     = LEFT_LEG_DOWN,
  33.             [LEFT_BACK_LEG_1]       = LEFT_LEG_UP,
  34.             [RIGHT_FRONT_LEG_1]     = RIGHT_LEG_DOWN,
  35.             [RIGHT_MIDDLE_LEG_1]    = RIGHT_LEG_UP,
  36.             [RIGHT_BACK_LEG_1]      = RIGHT_LEG_DOWN,

  37.             [LEFT_FRONT_LEG_2]      = LEFT_LEG_2_RST,
  38.             [LEFT_MIDDLE_LEG_2]     = LEFT_LEG_2_RST,
  39.             [LEFT_BACK_LEG_2]       = LEFT_LEG_2_RST,
  40.             [RIGHT_FRONT_LEG_2]     = RIGHT_LEG_2_RST,
  41.             [RIGHT_MIDDLE_LEG_2]    = RIGHT_LEG_2_RST,
  42.             [RIGHT_BACK_LEG_2]      = RIGHT_LEG_2_RST,
  43.         }
  44.     ),

  45.     ACTION(
  46.         ALL_LEGS_MSK ,
  47.         true,                                   //!< start automatically
  48.         SPIDER_SPEED,        //!< Use 1s
  49.         {

  50.             [LEFT_FRONT_LEG_0]      = LEFT_FRONT_LEG_0_RST      - DELTA_DEGREE_XY,
  51.             [LEFT_MIDDLE_LEG_0]     = LEFT_MIDDLE_LEG_0_RST     + DELTA_DEGREE_XY,
  52.             [LEFT_BACK_LEG_0]       = LEFT_BACK_LEG_0_RST       - DELTA_DEGREE_XY,
  53.             [RIGHT_FRONT_LEG_0]     = RIGHT_FRONT_LEG_0_RST     - DELTA_DEGREE_XY,
  54.             [RIGHT_MIDDLE_LEG_0]    = RIGHT_MIDDLE_LEG_0_RST    + DELTA_DEGREE_XY,
  55.             [RIGHT_BACK_LEG_0]      = RIGHT_BACK_LEG_0_RST      - DELTA_DEGREE_XY,


  56.             [LEFT_FRONT_LEG_1]      = LEFT_LEG_DOWN,
  57.             [LEFT_MIDDLE_LEG_1]     = LEFT_LEG_DOWN,
  58.             [LEFT_BACK_LEG_1]       = LEFT_LEG_DOWN,
  59.             [RIGHT_FRONT_LEG_1]     = RIGHT_LEG_DOWN,
  60.             [RIGHT_MIDDLE_LEG_1]    = RIGHT_LEG_DOWN,
  61.             [RIGHT_BACK_LEG_1]      = RIGHT_LEG_DOWN,

  62.             [LEFT_FRONT_LEG_2]      = LEFT_LEG_2_RST,
  63.             [LEFT_MIDDLE_LEG_2]     = LEFT_LEG_2_RST,
  64.             [LEFT_BACK_LEG_2]       = LEFT_LEG_2_RST,
  65.             [RIGHT_FRONT_LEG_2]     = RIGHT_LEG_2_RST,
  66.             [RIGHT_MIDDLE_LEG_2]    = RIGHT_LEG_2_RST,
  67.             [RIGHT_BACK_LEG_2]      = RIGHT_LEG_2_RST,
  68.         }
  69.     ),

  70.     //! middle state B:
  71.     ACTION(
  72.         ALL_LEGS_MSK ,
  73.         true,                                   //!< start automatically
  74.         SPIDER_SPEED,        //!< Use 1s
  75.         {
  76.             [LEFT_FRONT_LEG_0]      = LEFT_FRONT_LEG_0_RST,
  77.             [LEFT_MIDDLE_LEG_0]     = LEFT_MIDDLE_LEG_0_RST,
  78.             [LEFT_BACK_LEG_0]       = LEFT_BACK_LEG_0_RST,
  79.             [RIGHT_FRONT_LEG_0]     = RIGHT_FRONT_LEG_0_RST,
  80.             [RIGHT_MIDDLE_LEG_0]    = RIGHT_MIDDLE_LEG_0_RST,
  81.             [RIGHT_BACK_LEG_0]      = RIGHT_BACK_LEG_0_RST,

  82.             [LEFT_FRONT_LEG_1]      = LEFT_LEG_DOWN,
  83.             [LEFT_MIDDLE_LEG_1]     = LEFT_LEG_UP,
  84.             [LEFT_BACK_LEG_1]       = LEFT_LEG_DOWN,
  85.             [RIGHT_FRONT_LEG_1]     = RIGHT_LEG_UP,
  86.             [RIGHT_MIDDLE_LEG_1]    = RIGHT_LEG_DOWN,
  87.             [RIGHT_BACK_LEG_1]      = RIGHT_LEG_UP,

  88.             [LEFT_FRONT_LEG_2]      = LEFT_LEG_2_RST,
  89.             [LEFT_MIDDLE_LEG_2]     = LEFT_LEG_2_RST,
  90.             [LEFT_BACK_LEG_2]       = LEFT_LEG_2_RST,
  91.             [RIGHT_FRONT_LEG_2]     = RIGHT_LEG_2_RST,
  92.             [RIGHT_MIDDLE_LEG_2]    = RIGHT_LEG_2_RST,
  93.             [RIGHT_BACK_LEG_2]      = RIGHT_LEG_2_RST,
  94.         }
  95.     ),

  96.     ACTION(
  97.         ALL_LEGS_MSK ,
  98.         true,                                   //!< start automatically
  99.         SPIDER_SPEED,        //!< Use 1s
  100.         {
  101.             
  102.             [LEFT_FRONT_LEG_0]      = LEFT_FRONT_LEG_0_RST      + DELTA_DEGREE_XY,
  103.             [LEFT_MIDDLE_LEG_0]     = LEFT_MIDDLE_LEG_0_RST     - DELTA_DEGREE_XY,
  104.             [LEFT_BACK_LEG_0]       = LEFT_BACK_LEG_0_RST       + DELTA_DEGREE_XY,
  105.             [RIGHT_FRONT_LEG_0]     = RIGHT_FRONT_LEG_0_RST     + DELTA_DEGREE_XY,
  106.             [RIGHT_MIDDLE_LEG_0]    = RIGHT_MIDDLE_LEG_0_RST    - DELTA_DEGREE_XY,
  107.             [RIGHT_BACK_LEG_0]      = RIGHT_BACK_LEG_0_RST      + DELTA_DEGREE_XY,

  108.             [LEFT_FRONT_LEG_1]      = LEFT_LEG_DOWN,
  109.             [LEFT_MIDDLE_LEG_1]     = LEFT_LEG_DOWN,
  110.             [LEFT_BACK_LEG_1]       = LEFT_LEG_DOWN,
  111.             [RIGHT_FRONT_LEG_1]     = RIGHT_LEG_DOWN,
  112.             [RIGHT_MIDDLE_LEG_1]    = RIGHT_LEG_DOWN,
  113.             [RIGHT_BACK_LEG_1]      = RIGHT_LEG_DOWN,

  114.             [LEFT_FRONT_LEG_2]      = LEFT_LEG_2_RST,
  115.             [LEFT_MIDDLE_LEG_2]     = LEFT_LEG_2_RST,
  116.             [LEFT_BACK_LEG_2]       = LEFT_LEG_2_RST,
  117.             [RIGHT_FRONT_LEG_2]     = RIGHT_LEG_2_RST,
  118.             [RIGHT_MIDDLE_LEG_2]    = RIGHT_LEG_2_RST,
  119.             [RIGHT_BACK_LEG_2]      = RIGHT_LEG_2_RST,
  120.         }
  121.     ),

  122. END_DEF_ACTION(Spider_Go_Front)
  123.    
复制代码

    工程下载 SpiderRobot_Template(v1.0).rar (1.48 MB, 下载次数: 726) 2014-9-8 18:10 上传 点击文件名下载附件

    中秋节快乐,第三个TOWER是我的啦,捏哈哈哈哈哈哈~

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
Gorgon_Meducer
1楼-- · 2020-02-28 12:33
霸气侧漏 发表于 2014-9-8 21:55
算法我是对照仿生模型翻译的

这个是怎么弄得,高大上

百度……
霸气侧漏
2楼-- · 2020-02-28 14:30
Gorgon_Meducer 发表于 2014-9-8 21:57
百度……

哈哈,谢谢谢指点,百度搜索蜘蛛步行方式找到了一些资料。这个让我想起来马在跑的时候,总是3只脚落地。


观察自然的现象,然后通过程序去控制,就是算法了。嘿嘿
wangpengcheng
3楼-- · 2020-02-28 16:42
太佩服了   
步之道
4楼-- · 2020-02-28 21:37
为啥我看到有6个陀机不动呢?
gujiamao_love
5楼-- · 2020-02-29 02:07
 精彩回答 2  元偷偷看……
Jmhh247
6楼-- · 2020-02-29 04:00
看了视频,这个时速……太!牛!逼!了!恭喜傻孩子!

一周热门 更多>