主办单位: 共青团中央   中国科协   教育部   中国社会科学院   全国学联  

承办单位: 贵州大学     

基本信息

项目名称:
基于外骨骼控制的机械手臂
小类:
机械与控制
简介:
自行设计和制作人体关节活动传感器附在人的手臂上,从而达到控制龙人机械臂,完成各个关节的基本活动,完成抓取目标的任务。
详细介绍:
基于外骨骼控制的机械手臂 ------外骨骼机械臂的制作与控制 中文摘要: 自行设计和制作人体关节活动传感器附在人的手臂上,人体关节传感器主要是针对手臂的5个重要关节,分别是手指、腕部、肘部、肩部、背部。同时也与机械臂的各个部位一一对应。从而达到控制机械臂,完成各个关节的基本活动,进一步就是提高控制的机械臂精度,完成抓取和移动质量较轻的目标物体的任务。在现实生活中的意义,比如移动一些对身体有害的物质。像炸弹,放射性元素等对人体有害的物体。实验方法是直接带在人的身体手臂上测试数据和采集数据。 【摘要】和【关键词】: 机械臂;人体关节传感器;龙丘MC9S12XS128;多圈可调电阻 【前言】: 在与自然界的长期斗争中,人类个体由于受自身条件的限制显然处于极为不利的地位,人类迫切的希望能够通过某种方式提高人类个体的能力。古代士兵所穿着的盔甲可以认为是人类历史上最早的外骨骼,尽管粗糙,却能有效的提升个人的防御能力。进入二十世纪,随着工业技术的快速发展,结合了机械电子、控制、生物、传感、信息融合、材料等技术的柔性外骨骼理论及应用技术已经成为人机一体化思想理论中的重要组成部分,已越来越受到学术界和工业界的关注。总的来说,人机智能柔性外骨骼系统的发展大致可以分为如下三个阶段:在早期,柔性外骨骼系统主要用于机械手遥操作、人体上肢及手指姿态测量以及残疾病人的简单康复训练。进入90年代后,力反馈和触觉反馈逐步引入机械手的遥操作中,给了操作者一种临场操作的感觉,增加了操作的直观性,这也标志着柔性外骨骼技术的发展进入了一个新的阶段。在这个阶段中,柔性外骨骼得到了前所未有地快速发展,开始广泛地应用于肌体增强、虚拟现实、运动康复等方面。目前人机智能柔性外骨骼系统有两大应用领域,即增力型柔性外骨骼和遥操作柔性外骨骼。前者的最新代表有日本京都Activelink公司的双臂“力量强化”机器人,和美国加州大学的BLEEX(BerkeleyLowerExtremityExoskeleton)外骨骼系统| “力量强化”机器人 此次申请的项目为遥操作型外骨骼,下文将简述国际遥操作柔性外骨骼技术进展。 正文: 一、各个人体部位的制作步骤: 由于各个部位的传感器的制作原理大致,所以就没必要没个关节去介绍,重点介绍一下各个中要零件,然后直接说明传感器的效果图。 下面介绍各个重要零件的设计: 1、 背板: 背板主要是用来连接肩部和背部的传感器,因为人体的肩部运动会牵连或带动到背部运动,所以有必要设计一个连接的背板来起到稳定的两件作用 2、 背架 背架是放在身体背部,起到支持整个装置的左右,在背架上打孔,装上魔术贴,以便帮紧在人的身体上 3、 可调电阻: 作为传感器的主要零件,采用的多圈可调电阻的型号是WX110(4K7±5%) 4、L型板带筋板 一方面固定电阻,另一方面在筋板打孔安装魔术贴,把传感器固定在手臂上。 4、 铆接堵头 用来固定可调电阻的零件,自行设计并在外面加工的堵头 二、 取得的主要成果: (1)自行设计和制作出人体关节的传感器 人体关节传感器主要是针对手臂的5个重要关节,分别是手指、腕部、肘部、肩部、背部。同时也与机械臂的各个部位一一对应。所有的关节转动的控制都是通过多圈可调电阻(两边引脚是电源输入和输出,中间是信号线)的阻值变化以电压的为信号形式传递给主芯片龙丘MC9S12XS128处理,有标准的SolidWorks工程设计图。各个部位的设计的原理分别是: 1、 手指 由于机械臂的手指是利用平行四边形机构设计的机械抓,考虑到控制的简便性,所以手指的传感器就没必要把5根手指都算进去考虑,故选择只控制大拇指和食指的咬合来控制机械抓的抓取动作,整个设计呈“V”字形,考虑到一般人的手指长度,故使用5cm和7cm的铁片加上魔术贴套在大拇指和食指上,铁片的两端分别焊接住可调电阻,这样就可以通过手指的咬合来控制机械抓的抓取动作。具体说明图片如下: 2、 腕部 根据机械臂的设计,从上到下,用第三个舵机来控制腕部是最适合的,可以实现机械臂的上下移动功能,传感器依然选用多圈可调电阻,辅助机械固定设计必须要根据人体腕部形状来设计,这样让人带起来觉得更舒适,故传感器选择依附在腕部左边,形状接近“方波信号”的形状,即是接近倒“U”字型,铁片延伸至前后8cm,用魔术贴绑紧固定,是手腕可以上下摆动,转动角度设置为90度,具体说明图片如下: 3、 肘部 根据机械臂的设计,从上到下,用第四个舵机来控制腕部是最适合的,可以实现机械臂的上下探伸移动功能,传感器依然选用多圈可调电阻,辅助机械固定设计必须要根据人体肘部形状来设计,故传感器辅助机械设计,手臂伸直时呈一字直线,弯曲起来呈“V“字型,用魔术贴粘紧肘部前后位置。具体说明图片如下: 4、 肩部 根据机械臂的设计,从上到下,用第五个舵机来控制腕部是最适合的,可以实现机械臂的前后探伸移动功能,扩大机械臂的移动范围,传感器依然选用多圈可调电阻,辅助机械固定设计必须要根据人体肩部形状来设计,另外肩部和背部必须要连在一起,因为人体的上臂运动是和背部有牵连的,这样把可调电阻装在臂部, 直角筋板,然后固定,再和背部连紧,具体说明图片如下: 5、 背部 根据机械臂的设计,从上到下,用第六个舵机来控制腕部是最适合的,可以实现机械臂的旋转探伸移动功能。传感器跟其他部位一样,但是加了铁片背板,主要是起到稳定的功能,防止背部传感器走位。具体说明图片如下: 6、电路板 本项目控制处理的芯片主要是用到了龙丘MC9S12XS128,即是飞思卡尔智能车比赛的专用芯片,经过多次实验,电路设计方面最为重要的部分是电源,要同时提供6个舵机的稳定的7.5V电压,最大能产生1A左右的电流,所以实验室的直流稳压器不起到作用,最后决定直接用蓄电池供给舵机工作,另外驱动龙丘MC9S12XS128芯片需要稳压5V,所以选择用芯片7805搭起5V稳压输出,另外从龙丘MC9S12XS128多个引脚作为机械臂的信号输入,具体说明图片如下: 一、 达到的目标、水平及创新之处: 通过人的手臂传感器能顺利地控制机械臂,能顺利完成抓取任务,同时需要带上传感器的人能熟练操作,但是精确度不高。主要的创新之处就是利用电阻传感器,通过改变电阻阻值产生电压信号,从而利用MC9S12XS128来处理信号。要想提高精度,首先要提高可调电阻的精度。,另外机械臂本身的舵机控制和机械结构设置也要改善。 总体效果图: 二、 工作的进一步设想 按照现定的计划,进一步可以改善的地方是 1、 传感器对人体的适应性,下一阶段可以做到完全适应人体的手臂,消除传感器对人手臂的不舒适性,使其完全模拟出人手臂的形状。 2、 提高精度,主要是改善可调电阻,增加电阻的精度。另外改善机械臂的机构,使其更加稳定 3、 改善程序,使程序更加精确,简便,降低出错率。 4、 把运用到其他方面,比如移动一些对身体有害的物质。像炸弹,放射性元素。 参考文献: 1、基于外骨骼技术的机器人远程控制——李晓明 2、基于柔性外骨骼人机智能系统基础理论及应用技术研究——张佳帆 3、手臂助力系统设计及实验研究——李向军 4、#c 附录: 程序代码: 1、 #include"includes.h" word A[7]; void get_AD(void); void main(void) { DisableInterrupts; Init(); EnableInterrupts; for(;;) //循环语句大概每秒钟3072次 { get_AD(); PWMDTY0=A[5]/104-6; // 4号舵机 腕部 9'+90 DIR 20'~23 28'-90 PWMDTY1=45-A[0]/100; //1号舵机 PWMDTY23=2*A[1]-300; //0号舵机 PWMDTY45=A[3]*3.5-5000; //三号舵机00 90' 3681~2140 PWMDTY67=A[6]; //2600/min~1300/max } ; } void get_AD(void) { byte i,j; word AD[7][10] ; word reslt; for(i=0;i<10;i++) { while(!ATD0STAT2_CCF0) {} ; AD[0][i]=ATD0DR0; while(!ATD0STAT2_CCF1) {} ; AD[1][i]=ATD0DR1; while(!ATD0STAT2_CCF2) {} ; AD[2][i]=ATD0DR2; while(!ATD0STAT2_CCF3) {} ; AD[3][i]=ATD0DR3; while(!ATD0STAT2_CCF4) {} ; AD[4][i]=ATD0DR4; while(!ATD0STAT2_CCF5) {} ; AD[5][i]=ATD0DR5; while(!ATD0STAT2_CCF6) {} ; AD[6][i]=ATD0DR6; }; for(i=0;i<7;i++) { reslt=0; for(j=0;j<10;j++) { reslt=reslt+AD[i][j]; }; A[i]=reslt/10; }; } 2、 #include"includes.h" word A[7]; void get_AD(void); void main(void) { DisableInterrupts; Init(); EnableInterrupts; for(;;) //循环语句大概每秒钟3072次 { get_AD(); PWMDTY0=A[5]/107-12; //9'+90 DIR 20'~23 28'-90 PWMDTY1=39-A[0]/160; PWMDTY23=2*A[1]+600; PWMDTY45=A[3]+100; //3800 DIR~2300 90' 3681~2140 PWMDTY67=A[6]*0.61; //2600/min~1300/max } ; } void get_AD(void) { byte i,j; word AD[7][10] ; word reslt; for(i=0;i<10;i++) { while(!ATD0STAT2_CCF0) {} ; AD[0][i]=ATD0DR0; while(!ATD0STAT2_CCF1) {} ; AD[1][i]=ATD0DR1; while(!ATD0STAT2_CCF2) {} ; AD[2][i]=ATD0DR2; while(!ATD0STAT2_CCF3) {} ; AD[3][i]=ATD0DR3; while(!ATD0STAT2_CCF4) {} ; AD[4][i]=ATD0DR4; while(!ATD0STAT2_CCF5) {} ; AD[5][i]=ATD0DR5; while(!ATD0STAT2_CCF6) {} ; AD[6][i]=ATD0DR6; }; for(i=0;i<7;i++) { reslt=0; for(j=0;j<10;j++) { reslt=reslt+AD[i][j]; }; A[i]=reslt/10; }; } void Init(void) { ATD_Init(); Start_PLL(); //锁相环初始化 asm{ nop nop } PWM_Init(); //PWM初始化 } #include "includes.h" /* derivative information */ void PWM_Init(void) { PWME=0x00; //输出禁止 PWMCTL=0XE0; //01不级联 PWMPRCLK=0X44;//clockb=bus/16=2M ,clocka=bus/4=2M PWMCLK=0X03; //PTP1clock from SB,ptp0 clock from SA PWMSCLA=0X4E; //CLOCKSA=clocka/(2*pwmcla)=12KHZ PWMSCLB=0X4E; //CLOCKSB=clockb/(2*pwmcla)=12KHZ PWMPOL=0XFF; PWMCAE=0X00; PWMPER0=0xff;//PHZptp01=CLOCKSA/(pwmper01+1)=50HZ PWMPER1=0xff;//PHPptp23=CLOCKSB/(pwmper23+1)=50HZ PWMPER23=39999; PWMPER45=39999; PWMPER67=39999; PWMDTY0=15; PWMDTY1=15; PWME=0X0FF; }; #include "includes.h" /* derivative information */ void ATD_Init( void ) { ATD0CTL1 = 0x40; //12位精度,不放电 ATD0CTL2 = 0x40; //快速清除标志位,禁止外部触发,不使能中断 ATD0CTL3 = 0xBA; //右对齐,每序列7次转换,不用FIFO,进入FreezeMode完成当前转换 #if BusClock==32 ATD0CTL4 = 0x61; //采样用10个ATD周期,采样频率=BUSCLK/(2*(ATDCTL4_low5+1))=8M,每个通道采样频率介于200(KHZ) #else if BusClock==64 ATD0CTL4 = 0x63; //采样用10个ATD周期,采样频率=BUSCLK/(2*(ATDCTL4_low5+1))=8M,每个通道采样频率介于200(KHZ) #endif ATD0CTL5 = 0x30; //scan模式,多通道,通道0起始 ATD0DIEN = 0x00; //禁止数字输入 } #include <hidef.h> /* common defines and macros */ #include <MC9S12XS128.h> /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12xs128" #include"PWM_Init.h" //PWM初始化 #include"Start_PLL.h" //锁相环初始化 #include"ATD_Init.h" #include"Init.h" //初始化 #include"PID.h" #include"DELAY_3S.h" //#include"get_speed.h" //#include"Debug_Pc.h"

作品图片

  • 基于外骨骼控制的机械手臂

作品专业信息

设计、发明的目的和基本思路、创新点、技术关键和主要技术指标

自行设计和制作人体关节活动传感器附在人的手臂上,从而达到控制龙人机械臂,完成各个关节的基本活动,进一步就是提高控制的机械臂精度,完成抓取目标的任务。 技术的关键在于是人体手臂信号的采集,我们在这方面使用了可调电阻作为传感器,技术指标是控制机械臂的精度。

科学性、先进性

人体关节传感器主要是针对手臂的5个重要关节,分别是手指、腕部、肘部、肩部、背部。同时也与机械臂的各个部位一一对应。所有的关节转动的控制都是通过可调电阻的阻值变化以电压的信号形式传递给主芯片处理。 现有技术里面多数是使用应垫片依附在手臂上的数据手套,又或者是很笨重的外骨骼机械手臂,成本都很高,而我们使用的是舵机制作的机械臂模拟出人体手臂的5个关节运动,同时使用可调电阻作为传感器的主体,自行设计传感器外部结构,使传感器更适合地依附在人的手臂上,同时也使传感器尽可能的体现出它本身的特点。精度也很高,能轻松完成抓取的目标,同时也可以改装成闭环的无线控制系统,大大减少了繁琐的机械机构,使控制达到最简单化和最有效化。

获奖情况及鉴定结果

深圳大学2009年度实验室开放基金项目“龙人机械臂实验”(编号:2009163,负责人:梁卓立、樊玉龙、曾高权,指导老师:王鑫)

作品所处阶段

中试阶段

技术转让方式

作品可展示的形式

实物、产品 图纸 现场演示 图片 录像 样品

使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测

使用说明:主要是把5个关节的传感器依次戴在人的手臂上,对应的信号输入和输出的电路接好即可,详细可参考演示视频里面的操作。 制作设计简便实用,成本较低,便于穿戴和控制,精度可以通过可调电阻和控制程序来进行优化,亦可拓展制作出闭环的控制系统,能轻松完成抓取物品的任务,详细可参考演示视频,亦可运用到其他方面,比如转移对身体有危害的物品,像炸弹、含放射性元素或腐蚀性物体等。由于制作成本远远低于市场上能实现同一类型的其他产品,所以有很高的经济效益和很低的经济生产风险以及应用于教育事业的实质性意义,同时也很有应用于社会生产发展潜力。

同类课题研究水平概述

遥操作柔性外骨骼进展: 人机智能柔性外骨骼系统高度集成了传感、信息融合、数据传输以及力反馈控制等技术,因此能够很好地给操作者提供一种临场操作的感觉。系统的这种透性很大程度上增强了遥操作的直观性和控制的效率。因此,带有力反馈的柔性外骨骼系统被认为是最理想的遥操作控制器之一。最早在1948年,Goertz开发了第一套主从机械手系统,用于核电站核废料的回收(图1.3).1970年,美国通用电气公司(GeneralElecti-ie,GE)开发了用于机械手遥操作的外骨骼系统。随后,在80年代,GE公司又在原来系统的基础上,在柔性外骨骼机械手上增加了力反馈系统,很好地实现了主从机械手的柔性控制,进入上世纪90年代后期,柔性外骨骼技术进入其发展的繁荣期,无论是柔性外骨髂的结构设计还是力反馈驱动元件都有了新的麦破。韩国科技学院(KoreaInstitute of Science and Technology,KIST)的Park等人,将并联机构引入了外骨骼系统中,采用3RPS结构很好地解决了人体上肢肩关节和手腕关节多自由度的要求”.随后Kam和Lee等人又开发了采用电子刹车片作为力反馈驱动元件的力反馈外骨髂主机械手”,图l一5。 英国Salford大学的Caldwell等人利用气动肉作为关节驱动器,在原有气动肌肉机械手的基础上对气动肌内外骨骼开展研究(如图1-6所示),但受到气动肌肉频响比较低的影响,该研究还有待进一步地深入探索.此外,美国华盛顿大学俄亥俄州立大学和斯坦福大学等也开展了相关的研究。 除了上臂柔性外骨骼以外,数据手套外骨骼也是遥操作外骨骼中重要的一种。其中,Rugters MasterII外骨髂数据手套和cyberGr外骨骼数据手套系统无疑是最著名的两种研究成果。RugtersMasterII系统集成了霍尔传感器、微力驱动器和控制电路,主要用于虚拟现实的力反馈控制,可在拇指、食指、中指等上产生16N左右的力反馈信号。
建议反馈 返回顶部