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

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是我的啦,捏哈哈哈哈哈哈~

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
100条回答
Gorgon_Meducer
2020-02-27 03:26
fengyunyu 发表于 2014-9-8 20:52
变量命名全大写、也挺长的,看起来稍费劲

变量用名词性短语构成,单词首字母大写,单词之间不用下划线隔开,使用简化后的匈牙利命名法
函数一般用动词短语构成,单词一般用小写,单词用下划线隔开
宏或者枚举一般大写,由短语构成,单词之间用下划线隔开

我命名的选择是一眼看就知道是变量,函数还是宏

一周热门 更多>