2自由度并联仿生腿的制作
本帖最后由 机器谱 于 2023-6-29 09:50 编辑1. 运动功能说明
本文实例将实现2自由度并联仿生腿模组运动起来,模拟实现狗腿行走的动作。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg4dX-owYokq-AZzDMEjjGFw!400x400.png.webp
2. 结构说明
2自由度并联仿生腿模组是由两个舵机驱动的,它的所有动作都将在两个舵机的配合运动下实现。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgptj-owYo4L_9rAcw6AY4tgg!400x400.png.webp
3. 运动原理说明
2自由度并联仿生腿模组运动的点位如下图所示:
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAghdn-owYotqLszQIw_wg4jAM!700x700.png.webphttps://28846868.s21i.faiusr.com/4/ABUIABAEGAAgt9n-owYo4pmo0AIwxg44wQQ!700x700.png.webp
4. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
主控板Basra主控板(兼容Arduino Uno)
扩展板Bigfish2.1扩展板
电池7.4V锂电池
电路连接:将2个舵机连接在Bigfish扩展板的D4、D7端口。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgh97-owYowPf9kgIwgAk44AY!600x600.png.webp
5. 运动功能实现
上位机:Controller 1.0
下位机编程环境:Arduino 1.8.19
实现思路:实现2自由度并联仿生腿模组运动起来。
5.1 舵机角度的确定
将2自由度并联仿生腿模组用工具调整至合适的点位后,用量角器测量出相应的舵机角度值。模拟狗腿行走的动作,对每个动作的角度进行测量并记录数据。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgi_H-owYohKGrhAQwxg84hwY!700x700.png.webp
操作步骤:① 以固定舵机的两个螺丝为固定量角器位置。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgv_H-owYonIShtAcwwA04gBI!450x450.png.webp
② 拧紧螺丝,防止取下量角器时角度发生变化,导致测量的不够准确。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgmeL-owYo8LSprAMwwA04gBI!450x450.png.webp
③ 对量角器进行读数并进行数据记录。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg5uL-owYo0IfdajCMBDinAw.png.webp
④ 利用Controller动作编辑软件,输入测量到的角度值进行尝试,如果动作和实际有偏差的话可改变角度参数进行调整,直至得到正确的舵机角度组合为止。关于Controller动作编辑软件的使用方法,可参考【U002】如何驱动模拟舵机-Controller 1.0b软件的使用【https://www.robotway.com/h-col-129.html】
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgweP-owYogPC41QIwqgg40wU!600x600.png.webp
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);
}
}
6. 资料下载
资料内容:
①程序源代码
②模组3D文件
资料下载地址:2自由度并联仿生腿-概述 https://www.robotway.com/h-col-239.html
页:
[1]