【S181】智能小助手
作品说明 |
作者:史明月 赵如青 窦春燕 胡茜雯 赵乐炜
单位:山东农业工程学院
指导老师:姜明明 刘伟丽
1. 项目调研
2021年5月11日,第七次全国人口普查结果公布,全国人口达到1443497378人。
作品说明
《公报》显示,2022年全国医疗卫生机构显示总诊疗人次84.2亿,随着我国人均寿命的提高和人口老龄化的加深,老年人口的健康问题日益突出,对医疗服务的需求也在不断增加。随着社会的发展,人们对于健康的认识和关注程度也得到了提升,加上慢性病患者数量的增加,对长期治疗和康复的需求也大大增加了就诊人次。
医护资源紧缺、医疗服务需求的增加是多重因素共同作用的结果:
① 老龄化急速上升,老有所依似乎成了一种奢侈,老人和病患想要取拿东西都成为一个难题。
② 由于医生和护士正在繁忙的工作,而七旬老人及其他病患无法得到及时的帮助和引领,令群众心惊,令社会胆寒。
③ 快速发展的时代,医护托盘已经不是最优解,它更加耗费人力物力,而药物智能运输则会大大提高医护人员的工作效率。
2. 项目介绍
2.1 成品展示
智能小助手
① 巡迹
该机器能够引导病人去正确的科室,到达正确的房间,避免出现现场混乱的情况。
② 运输
该机器通过其运输箱能够运输药物或其他物品,具有可移动性,更加灵活,提高医护人员的工作效率。
③ 避障
利用超声波测距与实际生活相结合,该机器能够精确躲避障碍物,从而加快运输速度。
④ 识别
该机器能够识别到目标物品,从而能够准确地抓取到目标物品。
⑤ 取放
利用两只夹子夹取目标物品,使物品能够快速到达目标地点,从而提高工作效率。
2.3 创新部分
① 底座
采用四轮,既平稳又减少耗材,且运输箱可以放置物品,从而达到运输的目的。
② 爪部
采取左右夹式(如下图所示),避免了上下夹时的不便利,并且上面附有防滑薄膜,避免被夹取的物品掉落,更切合实际,减少了爪部材料的浪费。
③ 臂部
采用三个舵机相结合的模式(如下图所示),使机械臂更加灵活自由,底部的舵机能够使臂转动的幅度更大,可以带动爪部从不同角度抓取物品,更能满足生活需求。
④ 转向
采用了差速转向的方法,差速转向指的是车辆通过控制左右两个驱动的转速实现转向,当驱动轮转速不同时,即使无转向轮或者转向轮不动作,车身也会旋转,两边的轮子用不同的速度来弥补距离的差异。
⑤ 超声波测距
利用超声波测量目标与机器的间距,使机器能够顺利地行走、运输,并精准地躲避障碍。
2.4 制作困难及其解决方案
① 前期搭建组装时,原组装出的机械爪由于齿轮间的距离设置的不够合理,导致后期调试时机械爪无法正常运行,出现机械爪无法夹取物品。
经过重新搭建组装,调整齿轮间的距离,机械爪最终能够正常夹取物品。
② 后期调试时,由于机械爪是由两块铝板搭建组装而成,夹取物品时会发生掉落,无法完成夹取指令。
多种材料的尝试之后,我们决定采用外卖袋上面的泡沫薄膜,既能做到废物利用又能使机械爪防滑,从而使之后的夹取过程更加顺利。
③ 由于需要安装机械臂,导致车体前后重量不平衡,较容易出现车身往前栽的情况。
尽可能地把车框的重心压在后半部分,并且把电池放到车盘的底部,从此更好地平衡前后重量差,使车身更加平稳,从而更好地行驶它的功能。
3. 项目改进
3.1 功能改进
① 监测
可以通过传感器和摄像头来监测患者的生命体征和病情变化,根据大数据比对提供更符合个人情况的医疗方案,并及时记录病患的健康状况。
② 协助
可以在手术、输液或配药时,精准协助医生取递各种医护用品,提高医疗的效率和精准度,提供更好的医疗护理服务。
③ 提醒
可以确保病人按时服药和正确用药,可以自动分配药物剂量,并通过语音提醒病人服药,减少了药物错误使用和遗漏。
④ 陪护
可以利用语音的功能为患者唱歌、讲笑话,利用灵活的肢体跳舞等,帮助患者排解因患病带来的精神紧张和心理压力,可以在夜晚代替陪床的人,让陪护人员得到更好的休息。
3.2 外观改进
① 外壳
设计美观、坚固、防摔的外壳,给予保护和支撑,并带来一定的观赏价值。
② 材质
将其非必要的材质更换为性价比更高的塑料或其他材质,将电源更换为使用可替换且低消耗大功率的电池,提升其经济价值。
③ 骨架
将其骨架设计的更加精致小巧,便于运行各项功能,适当增加其机械臂的长度,更换为更加自由灵活的三指式机械爪。
④ 后期
加固并润滑各方位零件和枢纽部位,减少后期维护与维修的次数,延长其使用寿命。
4. 示例程序
| #include <Servo.h>
Servo servo_12; Servo servo_8; Servo servo_3;
void setup(){ servo_12.attach(12); servo_8.attach(8); servo_3.attach(3); pinMode(5, OUTPUT); pinMode(9, OUTPUT); pinMode(6, OUTPUT); pinMode(10, OUTPUT); servo_12.write(0); delay(0); servo_8.write(60); delay(0); servo_3.write(130); delay(0); digitalWrite(5,HIGH); digitalWrite(9,HIGH); delay(3000); servo_8.write(180); delay(1000); servo_12.write(110); delay(1000); digitalWrite(5,HIGH); digitalWrite(9,HIGH); delay(1000); digitalWrite(5,LOW); digitalWrite(9,LOW); servo_12.write(0); delay(1000); servo_8.write(130); delay(1500); servo_3.write(30); delay(1000); servo_12.write(90); delay(1000); servo_12.write(0); delay(0); digitalWrite(6,HIGH); digitalWrite(10,HIGH); delay(3000); digitalWrite(6,LOW); digitalWrite(10,LOW); while(true); }
void loop(){
} #include <Servo.h>
Servo servo_12; Servo servo_8; Servo servo_3;
void setup(){ servo_12.attach(12); servo_8.attach(8); servo_3.attach(3); pinMode(5, OUTPUT); pinMode(9, OUTPUT); pinMode(6, OUTPUT); pinMode(10, OUTPUT); servo_12.write(0); delay(0); servo_8.write(60); delay(0); servo_3.write(130); delay(0); digitalWrite(5,HIGH); digitalWrite(9,HIGH); delay(3000); servo_8.write(180); delay(1000); servo_12.write(110); delay(1000); digitalWrite(5,HIGH); digitalWrite(9,HIGH); delay(1000); digitalWrite(5,LOW); digitalWrite(9,LOW); servo_12.write(0); delay(1000); servo_8.write(130); delay(1500); servo_3.write(30); delay(1000); servo_12.write(90); delay(1000); servo_12.write(0); delay(0); digitalWrite(6,HIGH); digitalWrite(10,HIGH); delay(3000); digitalWrite(6,LOW); digitalWrite(10,LOW); while(true); }
void loop(){
} |
* 本项目未获得作者开源授权,无法提供资料下载。
|
|