你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
上上周,我们一行人来到了与RS Components进行合作的慕客信公司进行参观。慕客信是一家从事嵌入式智能系统开发设计教育培训的公司,参观的过程中我们看到了许多智能设备,其中也包括了我这次将要研究设计的创客侠战甲。
图1:创客侠战甲一代
一代战甲介绍
创客侠战甲一代作为一款外骨骼机器人,可以帮助用户轻松地控制人形机器人或虚拟人物,是一种新型穿戴 式人机交互解决方案。通过在盔甲上融合运动传感器和角度传感器,可实现高精度的动作捕捉。 所应用领域有格斗机器人控制、工业机器臂示教、VR游戏互动等。
在一代战甲中,我们所使用到的原件有Arduino Mega 2560主板*1,Mega扩展板*1,USB线*1,运动传感器*2,角度传感器*2, WiiChuck手持控制器*1,蓝牙模块*1,防护服*1,电线管若干,导线若干,3D打印件若干, 激光切割件若干,螺纹和扎带紧固件若干,移动电源*1 。
其中Arduino Mega 2560可以在RS Components进行购买,RS物料编号: (715-4084) 。
创客侠战甲通过2路运动传感器实现对左右手臂和 上身的姿态识别,同时通过2路电位器实现对左右 手肘的转角读取。所有数据经过Arduino处理,从而得到上肢8个自由度的动作信息。 右侧的WiiChuck控制器由2个按钮和1个摇杆组成, 用以控制机器人的下肢运动并辅助动作识别。蓝牙模块可以和机器人、手机或计算机通信,用以实时传送动作信息和控制命令。
二代战甲实现目标
一代战甲可以说是一个非常有创意多功能的智能设备,但是存在着以下几个问题:
- 一代战甲穿戴起来有点厚重,不适合大幅度的行动。
- 一代战甲原先只有两路运动传感器,但是这样的话会产生一个问题,身体旋转时候手臂和背部会有耦合,不能准确确定背部与手臂同时运动时的活动情况。
因此,总结一下,二代战甲需要达到的目标是:
1. 我们会将整体的一件穿戴的衣服简化为简单的两个可穿戴支架和一根带有处理器的腰带,整体感觉更简洁也更实用。因此需要设计和3D打印将传感器与手肘电位计固定在支架上的物件。
2. 收集到wii手柄与穿戴者的运动信息之后,将信息反馈到unity平台,进行计算之后将信息反馈到我们的哪吒机器人并对它可以进行控制。
图2:哪吒机器人的下半部分
3. 增加了一个wii手柄可以进行多功能控制。左右两个手柄的Y轴分别控制哪吒机器人的两条履带,右边的X轴可以对应控制爪子的张开与闭合,左边则对应了气锤。
4. 多引入一个运动传感器解决背部旋转耦合的问题。并且将原先的MPU9250运动传感器变为JY901传感器,好处是多出了测量地磁的功能,并且自己带有一个MCU可以进行滤波和校平衡。
图3:JY901运动传感器
第一周进度跟进
- 电路图 原理图完成
图4:二代创客侠战甲的电路图和原理图
首先是原理图,我们可以看到,模块从原来的六个模块变为了八个,多加了一个wiiChuck控制器和一个运动传感模块。电路图的方面,我们主要是绘制出了Mega2560的扩展板大致图示,并且将每一个模块与之接线的地方清楚地标明了出来更方便之后的接线。在整体设计完成之后,我将会把手绘的电路图和原理图用电脑进行更系统地绘制。
2. 电位计外壳设计初稿完成
图5:电位计外壳初设计
电位计外壳的要求是可以将电位计很好地固定在支架的手肘处。因此初步的想法是3D一个类似图上的外壳,可以罩在支架上并且承托电位计。同时,外壳的内径可以比较自由,尽量大于电位计的直径这样也方便贴补空缺。
3. wii手柄端口焊接完成
由于wii手柄的接头是适用于wii游戏机的,因为我们需要将接头减掉并焊接上母线以便于之后的接线。
图6:wii手柄接口
4.每个模块逐个测试完成
图7:两个电位计测试
图8:JY901运动传感器模块设置
图9:wii手柄测试
另外还将蓝牙模块进行了设置,在我们的战甲中,蓝牙设置为从机并是115200的波特率。
5.电位计外壳二稿建模完成并开始打印
图10:3D打印机在进行外壳打印
所遇到的问题
- 二代wii手柄与一代有所不同
在将这次要使用的wii手柄进行剪线时,我们发现线的颜色和一代的示例图有所不同
图11:二代wiiChuck线颜色对应图
但是在一开始在网上并没有找到端口的线对应图,于是想尝试一下先进行连接,再进行程序测试,但是连上Arduino Mega 2560之后,发现板子短路了,用万用表找短路的点,才发现是wii手柄的问题,
后来还是到网上寻找了一下信息,于是找到了适用于arduino的nunchuck转换器,对应就能看出端口四个角对应的vcc,gnd,scl,sda,用外用表测端口和不同颜色的接线,如果短路则是一根线。这个问题最后就完美地解决了。
图12:Arduino转nunchuck转换器
2. JY901运动传感器和一代的有所区别
由于运动传感模块和一代有区别,所以不能用相同的代码来进行测试。 要用USB-TTL模块和传感器相连后使用软件来进行测试,前面也提到了, JY901里面有自带的算法,可以使得测试方式更便捷。另外需要注意的是,在加速度校准的时候,Z轴一定要朝上水平。
3. 背后的运动传感器在测试时失效
当连接到测试软件之后,我们发现新使用的一款背部JY901运动传感器没有数据显示。后来发现因为是新的传感器,波特率没有设置过,初始为9600,所以要在设置里面改一下波特率和频率,把波特率改成11520和频率改成50Hz。
以上就是第一周战甲设计的基本情况,下周我们将进行整体测试和传感器外壳的设计,期待到时候和大家分享!
该系列第二篇 创客侠战甲二代——第二周
第三篇 创客侠战甲二代——第三周
第四篇 创客侠战甲二代——第四周
第五篇 创客侠战甲二代——第五周
第六篇 战甲仿真模拟视频及工作有感