制作一个机器螳螂
本帖最后由 机器谱 于 2022-12-20 16:09 编辑1. 运动功能说明 机器螳螂可以通过两侧仿生腿的差速运动来实现前进、后退、原地转向、大半径转向等基本行走功能。行走时在传动机构的作用下,两个前肢也会一起运动。颈部的关节模组可以驱动头部和前肢做上、下运动。
https://28846868.s21i.faiusr.com/3/ABUIABADGAAggtmEmQYo0LK9nQUwsAQ4wAM!400x400.gif.webphttps://28846868.s21i.faiusr.com/3/ABUIABADGAAgn9mEmQYo5Z_8sQMwsAQ4wAM!400x400.gif.webphttps://28846868.s21i.faiusr.com/3/ABUIABADGAAgvtmEmQYoo9m-8gMwsAQ4wAM!400x400.gif.webp
2.结构说明 该样机的行走机构由两组仿生腿构成,仿生腿由直流电机驱动,包含1个偏心轮滑块机构,和1个偏心轮摇杆机构,前肢也是1个偏心轮摇杆机构,通过偏心轮安装的相位差来确定中间腿、后腿、前肢的运动节奏。
中间腿的传动结构运动原理,如下图所示:
https://28846868.s21i.faiusr.com/3/ABUIABADGAAghuOEmQYovOqLlAcw-xM47A0!800x800.gif.webp
后腿和前肢的传动结构运动原理,如下图所示:https://28846868.s21i.faiusr.com/3/ABUIABADGAAgy_eEmQYonrOM7wYw-xM47A0!800x800.gif.webp
3. 运动功能实现
该机构的运动方式也是差速运动,小型双轮差速底盘【https://www.robotway.com/h-col-113.html】一样,请参考小型双轮差速底盘机构。关节模组【https://www.robotway.com/h-col-121.html】驱动的,可以参考关节模组的控制方法。
下面是“向前行走同时点头攻击”功能的实现方法。
3.1 电子硬件
在这个示例中,采用了以下硬件,请大家参考:
主控板Basra(兼容Arduino Uno)
扩展板Bigfish2.1
电池7.4V锂电池
3.2 编写程序编程环境:Arduino 1.8.19
代码如下(Mantis.ino):
/*------------------------------------------------------------------------------------
版权说明:Copyright 2022 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 机器谱 2022-9-8 https://www.robotway.com/
------------------------------
实验功能:
实现机器螳螂前进的同时点头攻击.
-----------------------------------------------------
实验接线:螳螂的左腿接D5,D6;右腿接D9,D10;颈部关节模组的舵机接D4。
------------------------------------------------------------------------------------*/
#include<Servo.h> //调用舵机库
#define Servo_Pin 4 //定义舵机引脚号
#define Angle_Zero 90 //设置舵机转动的角度为90度
#define Angle_One 45 //设置舵机转动的角度为45度
void Mantisup(); // 前进并抬头
void Mantisdown();// 前进并低头
Servo myservo; //声明舵机对象
//程序初始化部分:设置电机引脚为输出模式
void setup() {
Serial.begin(9600);//开启串口,并设置波特率为9600
myservo.attach(Servo_Pin);//设置舵机引脚
pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}
//主程序部分:螳螂前进的同时点头攻击
void loop() {
Mantisup();
delay(500); //保持0.5秒
Mantisdown();
delay(500); //保持0.5秒
}
//封装螳螂前进并抬头动作子程序
void Mantisup() {
myservo.write(Angle_Zero); //4号引脚舵机直接转到90度
digitalWrite( 5 , LOW ); //前进
digitalWrite( 6 , HIGH );
digitalWrite( 9 , LOW );
digitalWrite( 10 , HIGH );
}
//封装螳螂前进并低头动作子程序
void Mantisdown() {
myservo.write(Angle_One); //4号引脚舵机直接转到45度
digitalWrite( 5 , LOW ); //前进
digitalWrite( 6 , HIGH );
digitalWrite( 9 , LOW );
digitalWrite( 10 , HIGH );
}代码如下(Mantis.ino):
/*------------------------------------------------------------------------------------
版权说明:Copyright 2022 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 机器谱 2022-9-8 https://www.robotway.com/
------------------------------
实验功能:
实现机器螳螂前进的同时点头攻击.
-----------------------------------------------------
实验接线:螳螂的左腿接D5,D6;右腿接D9,D10;颈部关节模组的舵机接D4。
------------------------------------------------------------------------------------*/
#include<Servo.h> //调用舵机库
#define Servo_Pin 4 //定义舵机引脚号
#define Angle_Zero 90 //设置舵机转动的角度为90度
#define Angle_One 45 //设置舵机转动的角度为45度
void Mantisup(); // 前进并抬头
void Mantisdown();// 前进并低头
Servo myservo; //声明舵机对象
//程序初始化部分:设置电机引脚为输出模式
void setup() {
Serial.begin(9600);//开启串口,并设置波特率为9600
myservo.attach(Servo_Pin);//设置舵机引脚
pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}
//主程序部分:螳螂前进的同时点头攻击
void loop() {
Mantisup();
delay(500); //保持0.5秒
Mantisdown();
delay(500); //保持0.5秒
}
//封装螳螂前进并抬头动作子程序
void Mantisup() {
myservo.write(Angle_Zero); //4号引脚舵机直接转到90度
digitalWrite( 5 , LOW ); //前进
digitalWrite( 6 , HIGH );
digitalWrite( 9 , LOW );
digitalWrite( 10 , HIGH );
}
//封装螳螂前进并低头动作子程序
void Mantisdown() {
myservo.write(Angle_One); //4号引脚舵机直接转到45度
digitalWrite( 5 , LOW ); //前进
digitalWrite( 6 , HIGH );
digitalWrite( 9 , LOW );
digitalWrite( 10 , HIGH );
}
4.扩展样机本样机有按照:① 2个直流电机 VS 1个直流电机;② 颈部有关节 VS 颈部无关节;③ 有翅膀 VS 无翅膀等要素,可以排列组合出多种方案。
另外,也可以用各种手工材料给螳螂制作丰富多彩的外观。
https://28846868.s21i.faiusr.com/3/ABUIABADGAAgyYaPmQYoisWRtgUwsAQ4wAM!450x450.gif.webp
5. 资料下载资料内容:①样机3D文件②样机例程源代码资料下载链接 https://www.robotway.com/h-col-147.html
页:
[1]