久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 四自由度并聯四足機器狗 [打印本頁]

作者: wurenakihi    時間: 2018-6-25 00:38
標題: 四自由度并聯四足機器狗
(分享資料)內含機械自搭的機器小狗的3D模型樣本,還附帶了arduino的驅動程。這個機器小狗只含四個舵機,通過修改舵機的參數來實現機器狗的前進和后退。

  1. #include <Servo.h>

  2. #define servo_speed 20   //servo_speed
  3. #define servo_speed2 45
  4. #define action_delay 350 //action_delay
  5. Servo myServo[4];
  6. int num = 10;
  7. int servo_port[4]={4,11,3,12};   //servo_pin
  8. int servo_num = sizeof(servo_port)/sizeof(servo_port[0]);  //servo_pin length
  9. float value_init[4]={90, 90, 90, 90}; //各個舵機的初始位置  



  10. void setup() {
  11.   // put your setup code here, to run once:
  12.   Serial.begin(9600);
  13.   for(int i=0; i<servo_num; i++)
  14.   {
  15.     ServoGo(i, value_init[i]);
  16.   }
  17. }

  18. void loop() {
  19.   // put your main code here, to run repeatedly:
  20. for(int i=0;i<1;i++)
  21. {
  22.   left_right_bias();
  23.   delay(100);
  24.   forward_back_lie_down();
  25.   delay(100);
  26. }
  27. //while(1)
  28. //{
  29. // walk();
  30. //}
  31. while(1)
  32. {
  33. test();
  34. }
  35. }


  36. void test()
  37. {
  38.   servo_move(90,60,90,90);
  39.   servo_move(120,60,120,90);
  40.   servo_move(120,60,120,120);
  41.   servo_move(90,90,90,120);
  42. }


  43. void walk()
  44. {
  45.   servo_move(90,60,90,90);
  46.   servo_move(110,60,114,90);
  47.   servo_move(110,60,114,130);
  48.   servo_move(60,90,90,130);   
  49. }

  50. void forward_back_lie_down()
  51. {
  52.   servo_move2(90, 90, 90, 90);
  53.   servo_move2(103,29,75,165);
  54.   servo_move2(90, 90, 90, 90);
  55.   servo_move2(90,156,90,20);
  56.   servo_move2(90, 90, 90, 90);  
  57. }

  58. void left_right_bias()
  59. {
  60.   servo_move2(90, 90, 90, 90);
  61.   servo_move2(47,136,57,119);
  62.   servo_move2(90, 90, 90, 90);
  63.   servo_move2(116,54,147,74);
  64.   servo_move2(90, 90, 90, 90);
  65. }

  66. void ServoStart(int which)
  67. {
  68.   if(!myServo[which].attached())myServo[which].attach(servo_port[which]);
  69.   pinMode(servo_port[which], OUTPUT);
  70. }


  71. void ServoStop(int which)
  72. {
  73.   myServo[which].detach();
  74.   digitalWrite(servo_port[which],LOW);
  75. }

  76. void ServoGo(int which , int where)
  77. {
  78.   if(where!=200)
  79.   {
  80.     if(where==201) ServoStop(which);
  81.     else
  82.     {
  83.       ServoStart(which);
  84.       myServo[which].write(where);
  85.     }
  86.   }
  87. }

  88. void servo_move(float value0, float value1, float value2, float value3)
  89. {
  90.   
  91.   float value_arguments[] = {value0, value1, value2, value3};
  92.   float value_delta[servo_num];
  93.   
  94.   for(int i=0;i<servo_num;i++)
  95.   {
  96.     value_delta[i] = (value_arguments[i] - value_init[i]) / num;
  97.   }
  98.   
  99.   for(int i=0;i<num;i++)
  100.   {
  101.     for(int k=0;k<servo_num;k++)
  102.     {
  103.       value_init[k] = value_delta[k] == 0 ? value_arguments[k] : value_init[k] + value_delta[k];
  104.     }
  105.    
  106.     for(int j=0;j<servo_num;j++)
  107.     {
  108.       ServoGo(j,value_init[j]);
  109.     }
  110.     delay(servo_speed);
  111.   }
  112. }

  113. void servo_move2(float value0, float value1, float value2, float value3)
  114. {
  115.   
  116.   float value_arguments[] = {value0, value1, value2, value3};
  117.   float value_delta[servo_num];
  118.   
  119.   for(int i=0;i<servo_num;i++)
  120.   {
  121.     value_delta[i] = (value_arguments[i] - value_init[i]) / num;
  122.   }
  123.   
  124.   for(int i=0;i<num;i++)
  125.   {
  126.     for(int k=0;k<servo_num;k++)
  127.     {
  128.       value_init[k] = value_delta[k] == 0 ? value_arguments[k] : value_init[k] + value_delta[k];
  129.     }
  130.    
  131.     for(int j=0;j<servo_num;j++)
  132.     {
  133.       ServoGo(j,value_init[j]);
  134.     }
  135.     delay(servo_speed2);
  136.   }
  137. }
復制代碼


四自由度并聯四足.rar

581.56 KB, 下載次數: 18, 下載積分: 黑幣 -5


作者: akkamk07    時間: 2019-5-7 09:37
收藏了好東西




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91一区二区三区在线观看 | av手机免费在线观看 | 欧美一区二区三区在线 | 精品国产91亚洲一区二区三区www | 亚洲一二三视频 | 欧美一区永久视频免费观看 | 亚洲成人中文字幕 | 亚洲精品久久久一区二区三区 | 日本精品999 | 成人在线免费av | 天天操操 | 欧美久久一区二区 | 二区中文字幕 | 亚洲免费在线视频 | 五月婷婷丁香婷婷 | av影音资源 | 成人水多啪啪片 | 美女天天干 | 亚洲三级在线观看 | 国产成人精品一区二区三区在线 | 韩日一区二区三区 | 国产露脸对白88av | 精品一区电影 | 午夜爽爽爽男女免费观看影院 | 亚洲第一天堂 | 亚洲精品乱码久久久久久蜜桃 | 欧美视频在线播放 | 手机三级电影 | 日韩色图视频 | 成人在线视频免费观看 | 一区二区三区四区国产 | 99re视频在线免费观看 | 欧美999 | 国产视频中文字幕 | 免费视频一区二区 | 日本免费在线 | 久久国产精品视频 | 成人美女免费网站视频 | 日韩中文字幕高清 | 91高清视频在线观看 | 一区二区福利视频 |