【2017贸泽大赛】二等奖作品:VR视角远程牵引控制机械臂

【2017贸泽大赛】二等奖作品:VR视角远程牵引控制机械臂

VR第一视角远程牵引控制机械臂项目概述:
项目方案:VR+动捕+机械臂。
项目完成情况:
把CC3220开发板的TCP Server弄出来了,可以远程控制机械臂了,最终还是没有时间搭建HTTP Server,摄像头共享就只能作罢了。
不采用传统的输入设备(如:键盘、鼠标、手柄等)来做控制,也不是简单的让机械臂和操作者的手臂同步。具体实现步骤如下。
1. 制作一个机械臂
某宝上直接买了一个几十块现成的,虽然很糙,但是足够用了。
2. 安装机械臂的第一视角
配合两个舵机实现上下左右的转动。
这里本来应该是用JPEG摄像头连到CC3220开发板来做远程的, 开发板上搭建HTTP Server最终还是没搞定。
测试的时候用了一台手机代替开发板(手机上倒是做了完整的测试界面,包括控制、摄像头画面、信息窗口)。
3. 机械臂的远程控制及第一视角的远程共享
这里先说说之前的测试方案:
机械臂和控制第一视角的舵机都用Arduino驱动,把Arduino和手机用OTG线连接。手机上搭建一个HTTP服务器,负责接收远程指令和手机摄像头画面(作为机械臂的第一视角)的远程共享。机械臂的控制指令通过手机USB发送给Arduino。
结合CC3220的方案:
摄像头画面共享没实现,没有搞定开发板上的HTTP Server。在官方Demo里的“network_terminal”的基础上修改的TCP Server,从Socket里面获得控制指令,转换成PWM信号控制机械臂的舵机。这次只控制机械臂的舵机,没有远程摄像头舵机的控制。
4. 在3D开发环境下的开发
首先重构一个虚拟的机械臂,只要保证重要的机械结构一致就可以了,其它的细节不需要(参考下图)。
然后为用户构建一个虚拟的半透明屏幕,绑定在视角前方,用来显示机械臂第一视角的画面。(U

nity下面获取远程画面不是很方变,这里没有做视频流,而是通过刷新的方式一帧一帧获取摄像头画面,用base64Binary格式压缩到HTTP服务器的响应中)
导入一个单手臂的模型,并握有配套的手柄模型。

因为要用到VR,这里选择了Unity3D。远程通信要实现:

  • 让操作者用头部转动去控制机械臂第一视角的转动
  • 分析虚拟机械臂的运动从而计算出相应的控制指令来实现现实的机械臂和虚拟机械臂的同步。

结合CC3220的方案:
上面展示的是测试时候的方案,手机VR的SDK用的是Cardboard。结合CC3220开发板的时候,更换了Google Daydream的SDK,手柄也直接替换成了Daydream的手柄。没有搞定远程视频共享,所以删掉了虚拟的半透明屏幕,重新制作了虚拟工作环境:包括多视角观察窗口(左测和上方两个视角)、传感器监控(数据、模型)、舵机转角计算结果的监控、虚拟键盘(用于设置TCP Server的IP地址和端口)。Daydream下面不能像Cardboard一样设计屏幕输入界面,所以才设计了一个虚拟键盘。

5. 引入动捕设备
用三颗MPU6050实现手臂动捕,这样在虚拟环境下就有了完全同步的虚拟手臂了。测试的时候用了一个自制的手柄不带任何运动传感器。
结合CC3220开发板做测试的时候,采用Daydream,可以用Daydream的遥控器代替自己做的手柄。虽然Daydream的遥控器是九轴的,但校准方面还是纯主观性的,说白了跟六轴的效果是一样。在Daydream下面蓝牙插件做的有点问题,不够顺畅。如果不压缩数据,会出现明显的延时和卡顿,目前还是依靠牺牲传感器计算结果的精度来解决。感兴趣可以看看后面的一个演示视频,遥控器可以不用死死捏在手上,可以变换握姿。操作上也更加丰富了。另外,Daydream的遥控器有触摸板,配合触摸板下的按键,可以实现多种操作的组合。
6. 控制流程
测试方案:
(动捕设备) (运动分析得到控制指令)
操作者的手臂 ------> 同步的虚拟手臂 ------> 牵引虚拟的机械臂 ------> 远程让机械臂同步

(头部转动分析得到控制指令)
操作者的头部 ---------------------------------> 远程让机械臂同步

(远程图传)
虚拟环境下的虚拟屏幕<-------------机械臂第一视角
CC3220方案:
(敲击输入)
虚拟键盘 -----------------> 设置TCP Server的IP和端口
(动捕设备) (运动分析得到控制指令)
操作者的手臂 ------> 同步的虚拟手臂 ------> 牵引虚拟的机械臂 ------> 远程让机械臂同步
项目开发环境:
硬件清单:
测试方案:

  • 机械臂 x 1(四个舵机)
  • 舵机 x 2(用于转动手机)
  • Arduino x 1
  • 安卓手机 x 2
  • 动捕设备 x 1(IMU:MPU6050 x 3, MCU:MSP430F5259, BLE:CC2540)
  • 手柄 x 1

CC3220的方案:

  • 机械臂 x 1(四个舵机)
  • CC3220 x 1
  • 安卓手机 x 1(7.0以上系统,Daydream Ready)
  • 动捕设备 x 1(IMU:MPU6050 x 3, MCU:MSP430F5259, BLE:CC2540)
  • Daydream手柄 x 1

3D开发环境:
测试方案:

  • Unity3D 5.4.2 + Cardboard SDK

CC3220的方案:

  • Unity3D 5.6.3 + Google VR SDK

CC3220开发环境:

  • CCS7.4 + simplelink_cc32xx_sdk_1_60_00_04

项目图片:
测试方案:
机械臂

安装了手机

手机测试软件界面

动捕设备+控制手柄

动捕佩戴好后拍照

Unity3D开发环境界面截图
VR画面截图

CC3220的方案:
机械臂:

动捕设备+Daydream手柄

动捕佩戴好后拍照

Unity3D开发环境界面截图
VR界面截图:

项目视频:
用手机代替开发板测试的视频:

动捕加Daydream演示视频:

CC3220测试视频:

电路相关文件

电路图文件
分享到:
收藏 (8)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归雷凡所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 如何使用四个伺服器制作机械臂

    该项目将向您展示如何使用四个伺服器制作机械臂。硬件组件:跳线(通用)× 1 旋转电位器(通用)× 4 SG90微伺服电机× 4 Arduino UNO和Genuino UNO× 1 软件应用程序和在线服务:Arduino IDE这个机器人手臂由4个伺服器组成:第一个伺服进行水平扫描其他伺服系统控制机械臂的喷嘴他可以用四个电位器控制。您还可以在Arduino IDE的串行监视器上查看伺服器的角度位置。部分源码截图:
    来自:机器人时间:2019-06-24 机器人 机械臂 机器人手臂
  • 仿生机械手掌控制系统设计

    本系统控制部分的设计,主要包括智能手套和仿生机械手两个部分的设计。智能手套有传感器和无线发射模块以及微控制器模块组成。其中传感器由五个部分。分别检测手指的不同的力。检测倒立之后将数据发送到微控制器中,微控制器通过无线发送的方式。将数据发生出去。仿生机械手部分包括仿生机械手和机械手连接两个部分。也就是说我们通过一定的机械设计。将这些机械手器官接触用一定的连接方式连接起来同时将这些膝关节处的连接用电机的方式进行驱动。每一个指关节都要进行驱动,然后我们把机械手部分通过一定的连接方式组合在一块儿。同时在机械手的控制部分,我们也采用了微控制器以及无线接收模块。一个是智能手套的控制,另一个就是仿生机械手的设计。我们将智能手套戴在手上,通过弯曲手指来感受到力的变化,从而传感器会采集到这个力的变化。将其送入到微控制器当中,得到的是电压值,通过模数转换器转换成数字信号。就可以在无线模块发送出去,然后仿生机械手上面的无线接收模块会接收这个数据。同时控制对应的舵机进行转动,带动一定的机械结构,使得我们的仿生机械手完成同样的动作。本次设计的电路图采用Autium designer2010软件,源码可以采用软件keilv5
    来自:可穿戴设备时间:2019-03-05 stm32 机械臂 仿生系统
  • scara DARM 机械手臂

    scara DARM 两种资料包含打印件与固件,器件清单
    来自:机器人时间:2019-02-19 毕业设计 arduino 机械臂
  • delta并联臂机械手圆弧直线插补算法源码图纸

    delta并联臂机器源码算法开源人机械手搬运 蜘蛛手筛选 业余做的研究,分享全套图纸源码算法,提供技术支持。delta并联机械手可以实现(快/中/慢)走空间任意线段,可用来拓展研发码垛 分拣 搬运
    来自:工业控制时间:2019-01-21 diy制作 毕业设计 机械臂
  • DIY自动焊接PCB的机器臂

    手工焊接需要良好的手眼协调,以便精确定位和定向烙铁,同时以正确的速率和适当的时间将焊料供给接头。于是想到是不是可以利用机械臂实现PCB的焊接,于是有了这个使用DIY机械臂焊接PCB的设计。硬件组件:步进电机28BYJ-48带驱动模块ULN2003× 1 Arduino UNO和Genuino UNO× 1 伺服电机TowerPro MG955× 1 I2C串行LCD 1602模块× 1 降压模块× 1 OpenBuilds NEMA 17步进电机× 1 软件应用程序和在线服务:Arduino IDEMicrosoft Visual Studio 2015手动工具和制造机器:激光切割机(通用)用于Dremel的旋转刀具切削刀具套件
    来自:机器人时间:2018-12-27 arduino 机器人 机械臂
  • 【2017贸泽大赛】一等奖作品:小安智能锁项目分享

    智能锁简介:小安智能锁在确保安全的情况下,通过与网络,手机移动端的结合,根据需求分析,小安智能锁实现需求可分为视频监控、考勤管理、语音提醒三大模块来改善用户体验。智能锁项目概述: 因现代社会多人忘带钥匙,从而被锁在家门外的经历。也有换好运动服要出门,却发现钥匙没地儿装的困扰。更有时不时在上班时间接到电话,要跑回家给人开门的烦恼。随着互联网和智能家居的不断发展,再加上人们对于家庭安全意识的不断提高,如今智能锁行业已经逐渐发展了起来,密码开锁、指纹开锁也已经逐渐成为比用传统钥匙开锁更便捷也更为安全的开锁方式。但普通的智能锁遭到攻击时,用户仍然无从知晓,这也直接导致了盗窃案件数量的居高不下。另一方面,虽然电子智能锁的应用在智能家居中得到了迅速的发展,但在公司企业、酒店公寓、小区物业等特定场所,其应用依然有限。 小安智能锁正是为了在确保安全的情况下,通过与网络,手机移动端的结合,根据需求分析,小安智能锁实现需求可分为视频监控、考勤管理、语音提醒三大模块来改善用户体验。 作品实物图: 安装各模块后项目图片 上位机展示图片 微信端 web端管理平台 远程视频认证 演示视频: 附件资料截图:
    来自:安防与监控时间:2018-03-23 智能家居 智能锁 贸泽大赛
  • 手势识别控制的3D打印机械手-智能性最强的机械手臂

    拍前请先联系卖家:QQ1522794493 概述: 机械手能模仿人手和臂的某些动作功能,用以按固定程序抓取、搬运物件或操作工具的自动操作装置。机械手臂有多种用途,不仅可以安装在机器人身上,也可以给残疾人用来当假肢。这个版本的机械手臂可以采用PC机进行控制,也可以使用手势识别算法来控制。5个手指和手腕均可活动,而且手指关节可以精准定位,进行各种微小角度的开合。该机械手对3D打印机精度要求较高,需要0.1mm精度,达不到此精度的话传动机构会出问题。 手臂硬件用的STM32单片机,代码和PCB都是我自己设计的,速度非常给力,无延迟无卡顿。使用并联臂3D打印机,ABS、PLA塑料进行3D打印。5个手指,每根都可以进行开合,请看视频,每根手指都可以精确运动到任意一个角度,手腕可以进行旋转。可以抓取球,笔,杯子,遥控器等物品。 附件内容包括: 1:机械手臂控制板的电路图和PCB文件 2:机械手臂调试教程、详细组装文档,零件清单,及注意事项 3:机械手臂手势识别上位机以及STM32硬件代码。 4:机械手臂控制每个手指精确开合的机械结构三维图纸模型 这个价格不是很高,因为完成这些内容需要非常高的成本以及大量的时间精力。确实喜欢这款机械臂的小伙伴可以购买,有问题可以随时联系我。 下面给大家来几个自己录的演示视频吧: (!!!请点视频左下角的按钮播放!!!) 先来个霸气酷炫的视频: 抓取物体演示视频: 下面附上制作过程照片:
  • 多自由度三维旋转串联机械臂

    见惯了网上关于机械臂的操作手柄,但是大多都还停留在“手柄”的阶段,操作起来很不直观,也不方便。这次我想要做个与众不同的操作手柄。首先这个手柄可以控制机械臂完成它可以实现的(机械极限范围内的)所有动作,然后可以校准机械臂的误差,最后还可以对机械臂的动作和运动轨迹进行编程,使之能按照规划的路径完成某一任务。经过了一段时间思考,受《阿凡达》上面士兵操纵机器人的激发,准备制作一个能够仿真机械臂的手柄,就叫它“操控杆”,大致构思下它的物理、电子和机械结构。制作流程:首先要有个底座,可以完成所有关节的支撑。在实验室左翻右找,最后终于选中了我珍藏多年的老坛酸菜饭盒,把里面存放的元件拿出来,然后开始定位打孔。作为一个经常瞎搞胡搞的电子发烧友,五金电钻工具等还是要有的,因为要经常给自己做出来的电路板找个安置的盒子或台子什么的,屌丝是不可能单独专门定制外壳的,开一个模要好贵的,所以就要自己动手在已有的物资和素材的基础上改造喽。下面是四块钱买的大号金刚钻头,很给力!话不多说,开钻。。。钻头太大,不好把握下钻的力道,一个不留神,就把好料子打坏了,裂了四五条缝。。。不想再买一次老坛酸菜泡面(┬_┬),灵机一动,反过来用后面结着钻,嘿嘿虽然还是裂了两条缝隙不过还可以接受,误伤大雅,主要是钻出来的空比较正,非常圆。好,就它了,底座完成!刚好能塞下作为操控杆支架的大赤兔黑色签字笔芯。为什么选大赤兔的笔芯呢?因为它的内经刚好和我老师珍藏的进口电位器旋钮的外径差不多,稍微小一点,不过这正合我意!把老师珍藏的电位器拿出来,嘿嘿,。。。用胶枪固定上,作为机械臂水平360度的控制信号来源,把电位器引脚留出来,后面还要往上焊线。等待热熔胶晾干。。。用大赤兔笔芯改造关节间的连杆,小心翼翼的切下来长度和笔芯外径差不多的两节,然后用热熔胶把两小节垂直与笔芯固定到笔芯的头起两头。固定前要将笔芯内的笔油给弄出来,有点浪费,如果有用完的笔芯更好!把操控杆下臂的电位器固定好,作为机械臂中臂关节仰角的角度信息来源。用小风扇吹着会干的快一点,但是又没有合适的,灵机一动,电脑主机上有一个,果断把主机箱上的风扇拆了,我太机智了!这样冷却的速度快多了。。。呵呵冷却好的效果图,巧夺天工,浑然一体,不枉我大费苦心啊。。。再晒一张,操控杆中关节图操控杆的上、中、下臂都制作好了,装上感受一下。。。额恩,很给力,能达到空间内的任意位置,摆置着很有手感,满意,五分好评!由图中好基友恋恋不舍的摆弄着,就能看出,他也很喜欢,。。。剩下的就是控制机械臂的工作刀头了,本设计的刀头是夹具。把操控杆的上臂末端平行固定一个电位器(这个没图),然互用笔芯再做一个比较短的连接杆,插在电位器上,在短连接杆末端垂直固定一个电位器(如下图)。电位器的旋钮太细,玩着没有手感,烦了半天,终于,老师的土豪金功放旋钮被无私奉献了。。。机械臂硬件和机械的整机效果图如下。整个电路设计原理介绍:从左往右上,最左边开关电源12V5A,绝对够整个系统使用;然后是12V转5V的Buck斩波电路,为舵机和主控板供电;下面是一个渣渣电压表头,用来显示Buck斩波电路的输出电压;然后是舵机的集线器,把Buck电路的输出电压供给舵机;然后是调试角度和位移时用的大号电位器;然后一个电路板是主控班,用的是STM32F103RBT6作为主控。机械臂的机械结构是从淘宝上买的散件,回来后自己组装的,组装后臂身特写一张附件内容有完整的设计资料,购买成功后“机械臂操作手柄设计”有本人的电话联系方式和QQ。上传两个视频链接:https://v.youku.com/v_show/id_XNzQ4MzYxNTEy.htmlhttps://v.youku.com/v_show/id_XNzQ4MzYzMTU2.html
    来自:DIY创意产品时间:2014-10-10 stm32 机械臂
销量
102
查看
2852
参数名 参数值
发布于 2018 年 03 月 27日
Moore8直播课堂

tracer