基于人工智能视觉的机器人-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7959|回复: 6

[项目] 基于人工智能视觉的机器人

[复制链接]
发表于 2018-11-21 11:32 | 显示全部楼层 |阅读模式
参赛项目:
基于人工智能视觉的机器人宠物

参赛组员:
4人
马力  郭子赫   张森雨   曲梓锐
马力负责3D建模和打印,郭子赫负责程序,张森雨负责算法设计,曲梓锐负责电路调试和安装
项目简介:
机器人宠物会在未来成为新的主流,我们希望通过人工智能视觉的控制带给机器人宠物更好的玩法,它能够识别人脸和其他几何形状,根据算法做出相应的动作和语音交互,配合我们设计的可爱造型
一定会是一个非常好玩的创意项目。感谢社区给大家做出的贡献,我们会继续创造
432342.jpg
我们需要申请小MU视觉传感器模块2代,感谢MORPX的支持。




作为一个创客教师,能和学生一起完成项目真的是很开心的事情,接到这个比赛的信息就开始和学生一起讨论项目,让学生亲自设计零件并打印出来,也通过电路制作和编程最终让机器人动起来,这期间经历了两个月的设计和调试,项目终于可以拿出来给大家分享了。视觉控制的机器人我也是第一次挑战,中间花了很多时间来构思和研究摄像头的使用方法和程序设计,这里要特别感谢摩图技术团队的支持我们才能完成这个项目。



项目的主要功能:让摄像头作为上位机通过串口控制ARDUINO来让机器人做出相应的动作,我们本来是不准备让机器人走路的,最初只设计了人体识别控制脖子的转向和点头,但是随着队摄像头应用和编程的熟练,在学生的要求下我们把这个项目扩展到OTTO的结构中,实现了可以通过视觉识别来控制走路的机器人。


硬件上一定要注意输出模式开关
00是串口通讯
01是I2C通讯
程序要和通讯选择开关一致。

1.jpg

2.jpg

QQ图片20190318192317.jpg

接线方式很简单,按照标准串口连接,正负极对号,摄像头RX接到对端的TX,TX接RX就可以了。四个舵机分别接ARDUINO的3、4、5、6端口

5.jpg

代码主体:
[mw_shl_code=arduino,true]#include "MuVisionSensor.h"
#include <Servo.h>

MuVisionSensor Mu0(0x60);
Servo servo_3;
Servo servo_4;
Servo servo_5;
Servo servo_6;

void setup(){
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  Mu0.begin(&Serial, kSerialMode);
  while(Mu0.VisionBegin(VISION_BODY_DETECT) != MU_OK);
  servo_3.attach(3);
  servo_4.attach(4);
  servo_5.attach(5);
  servo_6.attach(6);
}

void loop(){
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);

  if (Mu0.GetValue(VISION_BODY_DETECT, kStatus)) {
    for (int i = 1; i <= 10; i = i + (1)) {
      servo_3.write(120);
      delay(1);
      servo_4.write(120);
      delay(1);
      servo_5.write(120);
      delay(1);
      servo_6.write(120);
      delay(1);
      delay(1000);
      servo_3.write(60);
      delay(1);
      servo_4.write(60);
      delay(1);
      servo_5.write(60);
      delay(1);
      servo_6.write(60);
      delay(1);
      delay(1000);
    }

  } else {
    servo_3.write(90);
    delay(1);
    servo_4.write(90);
    delay(1);
    servo_5.write(0);
    delay(1);
    servo_6.write(90);
    delay(1);

  }

}[/mw_shl_code]


QQ图片20190318184804.jpg

QQ图片20190318184824.jpg


IMG_20190314_112002.jpg
IMG_20190313_205233.jpg
IMG_20190313_205238.jpg
IMG_20190313_211011.jpg
IMG_20190313_211549.jpg
IMG_20190314_112228.jpg
IMG_20190314_112241.jpg
主体测试正常,目前这个程序功能是检测到人体就行走,未检测到就停止。



随后放出最终版外形和视频。
IMG_20190318_200847.jpg

2.jpg





IMG_20190313_211138.jpg
IMG_20190318_211842.jpg
发表于 2019-4-7 22:57 | 显示全部楼层
演示视频前加下海报哈,积分已发~
发表于 2018-11-21 17:55 来自手机 | 显示全部楼层
申请通过,硬件周末寄出~
 楼主| 发表于 2018-11-21 19:01 来自手机 | 显示全部楼层
syl312 发表于 2018-11-21 17:55
申请通过,硬件周末寄出~

谢谢
 楼主| 发表于 2019-3-19 23:39 | 显示全部楼层
测试完成,现在开始最后的总装,可爱的小兔子诞生了,目前程序的基本功能是:当摄像头检测到有人的时候就开始跳舞或者走路,检测不到的时候就停下来观望。

IMG_20190318_200847.jpg
2.jpg

IMG_20190318_211842.jpg



发表于 2020-1-2 12:39 | 显示全部楼层
能发视频到我的邮箱里吗?谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 22:56 , Processed in 0.111494 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表