1. 运动功能说明
本文实例将实现2自由度并联仿生腿模组运动起来,模拟实现狗腿行走的动作。

2. 结构说明
2自由度并联仿生腿模组是由两个舵机驱动的,它的所有动作都将在两个舵机的配合运动下实现。

3. 运动原理说明
2自由度并联仿生腿模组运动的点位如下图所示:


4. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
| 主控板 | Basra主控板(兼容Arduino Uno) | 
| 扩展板 | Bigfish2.1扩展板 | 
| 电池 | 7.4V锂电池 | 
电路连接:将2个舵机连接在Bigfish扩展板的D4、D7端口。

5. 运动功能实现
上位机:Controller 1.0
下位机编程环境:Arduino 1.8.19
实现思路:实现2自由度并联仿生腿模组运动起来。
5.1 舵机角度的确定
将2自由度并联仿生腿模组用工具调整至合适的点位后,用量角器测量出相应的舵机角度值。模拟狗腿行走的动作,对每个动作的角度进行测量并记录数据。

操作步骤:① 以固定舵机的两个螺丝为固定量角器位置。

② 拧紧螺丝,防止取下量角器时角度发生变化,导致测量的不够准确。

③ 对量角器进行读数并进行数据记录。

④ 利用Controller动作编辑软件,输入测量到的角度值进行尝试,如果动作和实际有偏差的话可改变角度参数进行调整,直至得到正确的舵机角度组合为止。关于Controller动作编辑软件的使用方法,可参考【U002】如何驱动模拟舵机-Controller 1.0b软件的使用

5.2 示例程序
下面提供一个2自由度并联仿生腿模组运动的参考例程(tuibuyundong.ino):
/*------------------------------------------------------------------------------------
  版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
           Distributed under MIT license.See file LICENSE for detail or copy at
           https://opensource.org/licenses/MIT
           by 机器谱 2023-06-02 https://www.robotway.com/
  ------------------------------*/
#include<Servo.h>
#define upper_servo_initialangle 90
#define lower_servo_initialangle 90
Servo upper_servo;   //大腿舵机
Servo lower_servo;   //小腿舵机
void setup()
{
  upper_servo.attach(4);
  lower_servo.attach(7);
  upper_servo.write(upper_servo_initialangle);
  lower_servo.write(lower_servo_initialangle);
  delay(1000);
}
void loop()
{
  //大腿动一下
  for(int i=0;i<30;i++)
  {
    upper_servo.write(upper_servo_initialangle+i);
    delay(100);
  }
  for(int j=30;j>0;j--)
  {
    upper_servo.write(upper_servo_initialangle+j);
    delay(100);
  }
 
  //小腿动一下
  for(int i=0;i<30;i++)
  {
    lower_servo.write(lower_servo_initialangle+i);
    delay(100);
  }
  for(int j=30;j>0;j--)
  {
    lower_servo.write(lower_servo_initialangle+j);
    delay(100);
  }
}程序源代码及模组3D文件资料详见 2自由度并联仿生腿-概述



















