机器人制作开源方案 | 晾衣收纳一体机器人

2023-11-10 08:30

本文主要是介绍机器人制作开源方案 | 晾衣收纳一体机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、作品简介

作者:仓天赐 黄云超 吴正乐 高骏 代思旭
单位:泰州学院
指导老师:宋向前 李杨作者:仓天赐 黄云超 吴正乐 高骏 代思旭
单位:泰州学院
指导老师:宋向前 李杨

       与智能家居系统含义近似的有家庭自动化、电子家庭、数字家园、家庭网络、网络家居、智能家庭/建筑,在我国香港和台湾等地区,还有数码家庭、数码家居等称法。而我们所研发的晾衣收纳一体机器人正是智能家居的一种,家居生活中,衣服的晾晒存放是每天脱不开的话题。而我们基于Arduino的智能晾晒收纳控制系统设计的目在于设计一套全新的衣物晾晒收纳控制系统,帮助人们晾晒衣服的同时,免除人们收纳存放衣服的繁琐劳动,可以自行将衣物收纳叠放存储起来,从而在生活中解决人们不必要的劳动。该系统主要由机械支架,电机传 动及控制等部分组成。整个控制系统简单便利,便于人们日常的使用维护,同时满足人们的日常需求。
 

1.设计背景

随着人们生活水平的不断提高,对生活质量的要求也逐渐攀升。而与人们日息相关的生活住处 ,家庭居所更是人们日益关注的热点 。人们的日常生活中家用的电器逐步的实现自动化,再由自动化转向智能化,近些年来智能家居的概念也逐渐的成为人们口中普遍流传的热词!智能家居系统是利用先进的计算机技术、网络通讯技术、智能云端控制、综合布线技术、医疗电子技术依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防、灯光控制、窗帘控制、煤气阀控制、信息家电、场景联动 、地板采暖、健康保健、卫生防疫、安防保安等有机地结合在一起,通过网络化综合智能控制和管理,实现“以人为本”的全新家居生活体验。
 

2.工作流程

第一步:调整晾衣角度 衣物夹具夹放好衣物后,通过手机 app 控制衣物传送装置的启停,带动传送 带的转动进而控制晾衣服的位置。如图为衣物传送装置工作过程。

衣物传送装置工作过程

衣物传送装置工作过程

       第二步:折叠衣物 通过手机 app 软件启动折叠衣物功能,此时,霍尔传感器在其连接的舵机带 动下,旋转到指定位置,如下图为衣物折叠装置工作过程。

       第三步:收纳衣物 折叠好后的衣服,经过传送带的作用下,被带到指定位置,再由活动支架翻 转到收纳箱中。如下图为衣服存放过程。

3.作品创新点

       ① 晾衣收纳一体机器人集晾晒衣服和收纳衣服于一体,可以即时的将晾晒 好的衣服收纳到衣柜中。随时取出,极大的方便了使用者给用户带来极 佳的使用体验。 
       ②晾衣收纳一体机器人几乎实现了全自动化的作业方式,减少了用户的日 常工作量! 
       ③ 晾衣收纳一体机器人配备了 APP 的远程操作的功能,使用者可以在一定 的距离内使用 APP 远程操控机器人收取和存放衣物。
 

4. 作品难点及改进方向

4.1难点及解决办法
       ①晾衣收纳一体机器人的机体构建材料引用探索者的零部件难以组装完成。 
       解决办法:采购了一些铝合金材料进行机体框架的搭建。 
       ②机器人运作时,没有达到预期的效果或者突然停止,我们检查完不是传 感器和软件调试的问题,也没有外界影响 。
       解决办法:多次调试查不出原因后,我们发现电源长时间工作后电池的 电压不足会导致机器人出现很多原本不存在的问题。 
       ③机器人在相同环境下开始时线路出现混乱
       解决办法:安装时,适当对杜邦线进行分类和标注减少舵机与接线板接 错的现象,从而避免机器人运作时舵机混乱所导致的线路偏移。
       ④ 裁剪的布料用来作为折叠的衣服的材质过于柔软,难以实现美观的折叠 效果。 
       解决办法:通过程序加快动作的完成,减少动作偏差的概率。 
       ⑤机器人模型的构建时零件数目复杂而又繁琐,且经常出现干涉的现象! 
       解决办法:在不改变整体形状的前提下,适当改变模型零件的局部结构 以正确顺利的完成模型的搭建。
4.2.改进方向
       ① 能让机器人在大部分环境下正常工作,减少外界环境的干扰。 
       ②将外形设计的更加现代化、更加富有创新思想。 
       ③ 继续研究传感器,将影响传感器的因素都考虑进去。 
       ④ 电源两极漏出来的地方需要用绝缘胶布粘起来,防止两极短路,从而保 证安全。
 

二、机械结构设计

1.机械机械结构材料选取

 晾衣收纳一体机器人的机体的构建主要采用铝合金材料和探索者的相关零 部件,如下图。

铝合金型材料

2. 衣物夹具机械结构设计

夹具安装在衣服传送装置的履带上,夹具内侧附吸铁石用来夹紧衣物。当到 达衣物折叠装置上方时,柱 2 与柱 1 接触,传送带继续向前运行,夹具打开。图1为衣物夹具结构,图 2为夹具上的吸铁石,图 3为夹具结构动作杆。

图1衣物夹具结构
图2吸铁石

图3夹具结构动作杆

3.衣服传送机械结构设计

        由两个直流电机与履带组成和四个履带轮组成,负责调整晾衣位置角度和传 送衣服的功能。如图下图为衣物传送装置。

衣物传送装置

4. 衣服折叠机械结构设计

衣物折叠装置,主要是由前后左右四块可活动板件,及其所对应的四个舵机组成。功能上实现对衣物折叠功能。动作流程为,左右前后四块板件在舵机的驱动下依次翻转运动,实现对衣物的左右前后方向的折叠动作。如图下图为衣物折叠装置。

衣物折叠装置

5.衣物存放机械结构设计

衣物存放装置主要是由传送带、活动支架、收纳箱及其对应的舵机电机部分组成功能上实现对折叠好后的衣物的传送存放功能。动作流程为电机驱动传送带把折叠后衣服传送到活动支架上,到达指定位置后,舵机驱动活动支架工作,把传送来的衣物翻转存放到收纳箱中,实现对衣物的最后的存储收纳功能。下图为为衣物存放装置。

衣物存放装置

三、硬件及蓝牙功能

1. 硬件设计

1.1Basra主控板简介
       Basra 是一款基于 Arduino 开源方案设计的一款开发板,通过各种各样的传感器来感 知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以在 Arduino、eclipse、Visual Studio 等 IDE 中通过 c/c++语言来编写程序,编译成二进制文 件,烧录进微控制器。下图为实物图片与接口。

实物图片与接口

1.2霍尔传感器模块
       霍尔传感器主要利用霍尔效应。磁场中有一个霍尔半导体片,恒定电流 I从 A 到 B 通过该片。在洛仑兹力的作用下,I 的电子流在通过霍尔半导体时向一侧偏移,使该片在 CD 方向上产生电位差,这就是所谓的霍尔电压。下图为霍尔传感器霍尔

霍尔传感器

       电压随磁场强度的变化而变化,磁场越强,电压越高,磁场越弱,电压越低,霍尔电压值很小,通常只有几个毫伏,但经集成电路中的放大器放大,就能使该电压放大到足以输出较强的信号。若使霍尔集成电路起传感作用,需要用机械的方法来改变磁感应强度。其方法是用一个转动的叶轮作为控制磁通量的开关,当叶轮叶片处于磁铁和霍尔集成电路之间的气隙中时,磁场偏离集成片,霍尔电压消失。这样,霍尔集成电路的输出电压的变化,就能表示出叶轮驱动轴的某一位置,利用这一工作原理,可将霍尔集成电路片用于点火正时传感器。霍尔效应传感器属于被动型传感器,它要有外加电源才能工作,这一特点 使它能检测转速低的运转情况。霍尔效应传感器的组成有 1-霍尔半导体元件 2- 永久磁铁 3-挡隔磁力线的叶片,晾衣收纳一体机器人中主要利用霍尔传感器来检测衣物是否到达指定位置。
       ① 使用 PH2.54 插座,配 PH2.54 转杜邦头连接线
       ② 响应频率:10HZ       
       ③ 供电电压:3.3V 或 5V
       ④ 工作电流:15mA

1.3舵机模块
       伺服电机通常被称为舵机,下图为舵机。它是一种带有输出轴的小装置。当我们向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只要控制信号持续不变,伺服机构就会保持轴的角度位置不改变。如果控制信号发生变化,输出轴的位置也会相应发生变化。
       ① 大扭力金属标准齿舵机 MG996R 标准伺服器
       ② 重量: 55g
       ③ 速度: 4.8V@0.2Osec/60°
       ④ 6.0V@0.19sec/60°
       ⑤ 扭力: 4.8V@13kg-cm
       ⑥ 6.0V@15kg-cm
       ⑦ 电压: 4.8V-7.2V
       ⑧ 空载工作电流: 120mA
       ⑨ 堵转工作电流: 1450mA
       ⑩ 响应脉宽时间: s 5usec
       ⑪ 角度偏差:回中误差 0 度,左右各 45°误差 s 3°齿轮: 5 金属齿轮组
       ⑫ 连接线长度; 300mm

舵机

1.4蓝牙串口模块
       HC-05 蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有 AT 命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。如图 (a)为蓝牙串口模块,图 (b)为蓝牙串口模块原理图。

参数
       ① 蓝牙 2.0 带 EDR, 2Mbps-3Mbps 调制度
       ② 内置 2.4GHz 天线, 用户无需调试天线
       ③ 灵敏度(误码率)达到 -80dBm
       ④  -4 -> 6dBm 功率可调输出
       ⑤ 外置 8Mbit FLASH
       ⑥ 低电压 3.3V 工作
       ⑦ 可选 PIO 控制
       ⑧ 标准 HCI 端口(UART or USB)
       ⑨ USB 协议: Full Speed USB1.1, Compliant With 2.0
       ⑩ 数字 2.4GHz 无线收发射
       ⑪ CSR BC04 蓝牙芯片技术
       ⑫ 自适应跳频技术
       ⑬ 蓝牙 Class 2 功率级别

图(a) 蓝牙串口模块

图b蓝牙串口模块原理图

2. 蓝牙功能设计

APP INVENTOR 的界面制作
       蓝牙功能的设定大致可以分为共两项,启动和关闭晾衣功能,开启和关闭叠衣功能,如图  为蓝牙选择界面菜单。

蓝牙选择界面菜单

逻辑设计
       进入逻辑设计状态后,按如下思路编程,下图为逻辑设计界面
       (1)利用“列表选择框”让用户选择已与手机配对的外部蓝牙设备;
       (2)当“列表选择框”完成后,让用户知道外部蓝牙设备与手机蓝牙可以通信;
       (3)根据“按钮”的功能(如“开”“关”等)让手机蓝牙向外部蓝牙设备发送指令。

逻辑设计界面

四、程序源码

1. 示例程序

主程序代码

#include <Servo.h>int a,b,c,d,e,f;Servo left_fold;//定义舵机名 left_fold、right_fold、up_fold、store_fold、complete_foldServo right_fold;Servo up_fold;Servo store_fold;Servo complete_fold;boolean flag1=0; void setup(){left_fold.attach(3);//舵机 left_fold 在 3 引脚right_fold.attach(4);//舵机 right_fold 在 4 引脚up_fold.attach(7);//舵机 up_fold 在 7 引脚store_fold.attach(8);//舵机 store_fold 在 8 引脚complete_fold.attach(12);//舵机 complete_fold 在 12 引脚left_fold.write( 1 );//舵机 left_fold 初始角为 1right_fold.write( 165 );//舵机 right_fold 初始角为 165up_fold.write( 5 );//舵机 up_fold 初始角为 5store_fold.write( 25 );//舵机 store_fold 初始角为 25complete_fold.write( 111 );//舵机 complete_fold 初始角为 111pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(9,OUTPUT);pinMode(10,OUTPUT);}void loop(){if(digitalRead(3)==1){digitalWrite(9,HIGH);digitalWrite(10,LOW);}else{ digitalWrite(9,LOW);digitalWrite(10,LOW);flag1=1;}if(flag1==1){delay( 1500 );flag1=0;for (b= 1;b<=148; b++ )//舵机控制右侧板件翻转{right_fold.write(165-b);delay( 3 );}delay(200 );for (b= 1;b<=152; b++ ){right_fold.write(17+b);delay( 3 );}delay(200 );delay( 1500);for (a= 1; a<=150; a++ )//舵机控制左侧板件翻转{left_fold.write(1+a);delay( 3 );}delay( 200 );for (a= 1; a<=150; a++ ){left_fold.write(151-a);delay( 3 );}delay( 200 );delay( 1500 );for (c= 1; c<=100; c++ )//舵机控制前侧板件翻转{ up_fold.write(5 + c);delay( 3);}for (c= 1; c<=100; c++ ){ up_fold.write(105 - c);delay( 3 );}delay( 200);delay( 1500 );for (d= 1; d<=102; d++ )//舵机控制后侧板件翻转{store_fold.write(25 + d)delay( 3 );}delay( 200 );for (d= 1; d<=102; d++ ){store_fold.write(127 - d);delay( 3 );}delay( 2000 );digitalWrite(9,HIGH);//直流电机控制传送带运动digitalWrite(10,LOW);delay( 700 );digitalWrite(9,LOW);digitalWrite(10,LOW);delay( 300 );for (f= 1; f<=28; f++ )//舵机控制活动支架翻转{complete_fold.write(111 - f);delay( 5);}delay( 500 );for (f= 1; f<=38; f++ ){complete_fold.write(83 + f);delay( 3);}delay( 2000flag1=0;digitalWrite(5,HIGH);digitalWrite(6,LOW);delay(1000);}}

蓝牙控制程序

#include <Servo.h>Servo servo1,servo2; //定义舵机名 1 和 2char buttonState;boolean flag1=0; void setup(){servo1.attach(4); // 舵机 1 信号在 4 引脚servo2.attach(7);//舵机 2 信号在 7 引脚Serial.begin(9600);//波特率 9600servo1.write(0); servo2.write(0);//舵机 1、2 初始角度 0 度pinMode(9,OUTPUT);pinMode(10,OUTPUT);}void loop(){if(digitalRead(3)==1){digitalWrite(10,HIGH);digitalWrite(9,LOW);}else{ digitalWrite(9,LOW);digitalWrite(10,LOW);flag1=1;}if(flag1==1){delay( 12700);flag1=0;digitalWrite(10,HIGH);digitalWrite(9,LOW);delay(1000);}if(Serial.available()>0)//串口接受到的数据个数{buttonState = Serial.read();}if (buttonState == '1')//控制 1 舵机{servo2.write(90);delay(20);}if (buttonState == '2'){servo2.write(0);delay(20);} if (buttonState == '3'){digitalWrite(9,0);digitalWrite(10,1);delay(15);}if (buttonState == '4'){digitalWrite(9,0);digitalWrite(10,0);delay(15);}}{digitalWrite(9,0);digitalWrite(10,0);delay(15);}}

五、参考文献

[1] 吴晨晨.一种智能移动机器人通用控制系统研究与实现[D].南京:南京航空航天大学,2012.
[2] 范印越.机器人技术[M].北京:电子工业出版社,1988.
[3] 杜样瑛.工业机器人及应用[M].北京:机械工业出版杜,1986.
[4] 马香峰.机器人机构学[M].北京:机械工业出版社,1991.
[5] 濮良贵,纪名刚.机械设计(第八版)[M].北京:高等教育出版杜,2006.

详细内容可参考 【S020】晾衣收纳一体机器人

这篇关于机器人制作开源方案 | 晾衣收纳一体机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381505

相关文章

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影