开源一个四足机器人

本文分享了一位爱好者使用Arduino UNO R3和舵机控制板制作四足机器人的过程,包括遇到的挑战、步态设计和配件清单。机器人具备前进、后退、转弯等基本步态,并计划加入语音识别等功能。
摘要由CSDN通过智能技术生成

一、前言

玩过很长一段时间单片机,一直想接触Arduino系列板子,这次如愿以偿。用去年自己3D打印机打的机器人外壳,Arduino UNO R3+舵机控制板,做的一个四足机器人。

这里写图片描述

这里写图片描述

二、爬过的坑

不得不承认Arduino确是个好东西,开发速度极快,极易上手。从开始动手到完成,只持续了3天不到,测试。调代码。封装。
整个过程里一开始就感觉会头疼的就是机器人的步态,因为之前也没接触过。实际操作起来比想象中容易的多。现在的机器人支持前进、后退、左转、右转、起立、坐下。五种步态。通过摇杆控制。
废话不多说,贴一下代码。
代码经过粗略的封装,舵机控制板有个库文件需要下载调用,别的都是手打的代码
主要封装了单足控制函数action.参数说明:foot:第N只足,Up:足举起的高度,Dis:足向前转动的角度幅度,walk:取0或1,0代表原地运动,1代表走动。主要是为了区别出起立坐下这两个原地运动。
再把action函数封装进前进、后退、左转、右转四个函数中,参数仅有t,用于设定动作间的延时,以控制整体的运动速度。

void action(int foot,int Up,int Dis,int walk=0){
switch (foot){
case 0 : hor = 0 ; ver = 4 ; verBegin=340;
break ;
case 1 : hor = 1 ; ver = 5 ; Up=-Up;verBegin=400;
Dis=-Dis;
break ;
case 2 : hor = 2 ; ver = 6 ; verBegin=340;
Dis=-Dis;
break ;
case 3 : hor = 3 ; ver = 7 ; Up=-Up;verBegin=400;
break ;
}
pwm.setPWM(ver, 0, verBegin + Up);
pwm.setPWM(hor, 0, SERVOBEGIN_0 + Dis);
delay(150);
if(walk){
pwm.setPWM(ver, 0, verBegin);
}
}

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
// 使用默认I2C地址 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41);
#define SERVOMIN  150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX  600 // this is the 'maximum' 脉冲宽度 count (out of 4096)
//定义begin状态,即机器人准备爬行状态的舵机初始值,修改初始定义值调节四足平衡,消除机械误差
//注释后为无机械误差的理想值

#define SERVOBEGIN_0   375   //左前横臂 375
#define SERVOBEGIN_1   375   //右前横臂 375
#define SERVOBEGIN_2   375   //右后横臂 375
#define SERVOBEGIN_3   375   //左后横臂 375
#define SERVOBEGIN_4   340   //左前纵臂 340
#define SERVOBEGIN_5   400   //右前纵臂 400
#define SERVOBEGIN_6   340   //右后纵臂 340
#define SERVOBEGIN_7   400   //左后纵臂 400
#define SERVOBEGIN_8   375   //尾巴起点 375
#define UP 60 //纵向幅度
#define Distance 80 //前进幅度
int i =0;
boolean q;

void setup() {
  Serial.begin(9600);
  //Serial.println("16 channel Servo test!");
  pwm.begin();
  pwm.setPWMFreq(
一个“集成”,“生活机器人开源机器人项目。 什么是“整合”? 当我们在线搜索开源机器人时,我们发现它们是机器人代码和演示的一部分,我们无法找到一个完整的项目,直接将它下载到我们的覆盆子pi,开机,然后它可以移动,我们可以玩。Rtp做到了这一点; 实际上它已经能够移动和通话,一个基于ros的集成机器人代码。得到一个覆盆子pi,连接几个电机和一个扬声器/麦克风,好吧,它准备好了。您可以播放,更改代码,再试一次。虽然粗糙但基本上满足了玩它的需要(子功能也需要各种改进)。 什么是“活机器人”? 想象一下,如果你有一只兔子或一只蜥蜴作为宠物,它们绝不会卖给你可爱的,也不会回答你的任何机智或愚蠢的问题。但我们仍然保留这样的宠物; 为什么?因为它“活着”。Rtp负责创造“活着”的感觉,我们称之为“活着的机器人”:但一旦实现它将会非常好,它具有“魔力”的感觉并且会非常有趣:人为地创造一种机械的“生命” 。就像面对Cozmo一样,你会有类似的感觉。 ------------------------------------------------技术与去做 - - - - - - - - - - - - - - - - - - - - - - - - - ---------------- 软件: Python / C. ROS&linux(debian / raspbian / ubuntu) 使用语音识别和对话来使对话更有趣。 ai“心脏”充当真正的兴趣“生活”的东西。 相机和脸部检测/识别以及他所处的空间感。 添加更多传感器,使其与人体互补。 dnn改善用户体验。 硬件: Raspberry Pi 3B(pi 2B,或tk1也很好)+一些传感器模块。 使用Robi或其他类人机器人,如“Ubtech优必选”Alpha2或Abilix“Everest” 该项目是改进软件和硬件以改造/改进可爱的Robi机器人的原创。 2017.2.7 ----------------------------------------------- - - 背景 - - - - - - - - - - - - - - - - - - - - - - - ------------------------- Robi的设计非常好。我们喜欢它。但软件并不强大。这使得Robi不够兴趣。 看起来世界上的机器人只有Nao和Robi。Nao只是“设计”但你不能说它是“艺术”,但对于Robi我们可以感受到“艺术”。“辣椒”怎么样?耶稣,这绝对是丑陋的,用一个大触摸板吓到我了。它甚至比iphone 6背面的绷带更糟糕:-) 什么是Robi:http://www.robo-garage。 由'奇怪'教授兼首席执行官(ROBOGARAGE.Co。,Ltd)设计Tomotaka Takahashi 硬件和调试进展:http ://blog.csdn.net/zister 2015.12.12 -------------- - - - - - - - - - - - - - - - - - - - - 联系 - - - - - -------------------------------------------------- ----------
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值