5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 124671|回复: 818

■开帖介绍开源头追项目■只要一百元,人人都能用上最好的头追

  [复制链接]
发表于 2013-6-13 13:39 | 显示全部楼层 |阅读模式
本帖最后由 sonireolxxx 于 2013-6-16 08:33 编辑

简介
大家都在疑惑的事情……
-------------------------------------------------------------------------------
什么是头追?
     
头追是头部追踪传感器的简称,简单来说,这个东西放在你的头上,它会捕获你的头部的运动动作,并驱动飞机上的小云台带动摄像头模拟你头部的动作。
如果你佩戴着视频眼镜,那你眼前的景物会像你正常看东西一样随着你头部移动而移动。

我为什么要头追?
视频眼镜+头部跟踪是我觉得FPV最爽的玩法,那种感觉就像坐在飞机驾驶舱内,饱览蓝天白云,可谓人机合一!
这种玩法和盯着地面上简陋的小显示器感受是不一样的。

很多人说视频眼镜感觉一般,那你一定要尝试一下加上头追,一款好用的头追会极大的增强代入感。
当然,视频眼镜的选择也很重要,我用过很多款积攒下不少经验,这个我们稍后再聊。

是否应该买市售品?
现在成品头追都比较贵(沾模型的东西好像都暴利)其实是没有必要的。就开源项目来说rcgroups上就有一个非常好的http://www.rcgroups.com/forums/showthread.php?t=1677559 (英语好的朋友请尽量也支持一下原作者DennisFire)
做下来成本也只有100不到。更重要的是,我用过AIO的头追,也看了大量Fatshark的头追视频,他们都有一个问题:漂移
理论上来说陀螺+地磁+加速度传感的9自由度套片,随便用四元数或者卡尔曼做都不会漂移,但上述的视频眼镜自带的头追代码是外包别的公司或个人搞出来的(之前看Fatshark官方的回帖好像是这样),全都漂
为了说明这个现象,刚从youtube搬了个视频:

视频后半程可以看出,这套头追非常不好用,我当时用AIO的时候也是这个现象,按归中按钮按得都麻木了。。。。
市场上的成品目前就是这个水平,也就是说,你花大价钱也搞不到好东西。
再看个视频

效果不错吧?
这个开源头追主控采用Arduino nano,即便您不懂电子也不要紧,淘宝上买几个模块 随便接几根线 就是一个性能绝对超越市售品的头追。

听说只有Futaba的控能用头追?
误传。之所以说只有Futaba能用,很主要的原因在于Futaba的教练接口是可以供电的,这很大程度上方便了头传这类扩展配件设计,所以大部分厂商就针对Futaba来做了。
但并不是说别的控就不能用。画个草图说明。

|--------|
|   头追   |    数据
|           |-------------【控】     ((   无线传输     ))   【遥控接收】------------【云台】
|--------|    供电


这个图是一般的接法,头追实际上是作为教练模式的从机工作的,并从控偷电。
我们只希望它控制云台通道,别的通道还是控来控制,这就需要控支持按通道教练的功能
所以说就算不是Futaba的控,只要支持按通道教练的功能,就可以用头传(高级一点的控基本都有吧?)唯一麻烦点的就是供电问题,但也只麻烦到需要外接个小电池的程度。

如果你的控不支持按通道教练,那就比较悲剧,你只能用转发的方法实现头追功能了。下面是草图。

|--------|
|   头追   |   
|           |-------------【外置发射机】     ((   无线传输     ))   【接收机】------------【云台】
|--------|                         |
                                       |
                                       |
   【控】      无线传输    【遥控接收】

可以看到,这个过程里控还是控制自己的接收机,外置的发射机把头追通道融合进来再次转发出去,飞机上装的是对应外置发射机的接收,所以任何控都可以用
我现在用的就是这个方案,而且全部无线化了。外出的时候,只需要一个控,一个视频眼镜,还有一个带跟踪天线的地面站三脚架,一根线都没有。
做到全无线的效果需要其他模块,开发起来很简单反响大的话我会一起开源。
说到这个外置的发射机,我十分不情愿的推荐最近比较火的切糕433,为什么不情愿http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=802929
如果你懂电这个东西完全可以自己做,因为老板道歉了成本和方案包括宣传上的问题我不再公开。有想DIY的可以私聊(需要你有一定基础,请理解我不负责上课)
如果你暂时不能DIY,切糕是个不错的选择。
-------------------------------------------------------------------------------



基本步骤
“我只想做出来,不关心技术”  请看这一章节。

----------------------------------------------------------
第一步:买原料

去网购一块GY-85姿态传感器小板,大概60元。         还有一块Arduino nano。这个30多就能买到。

QQ截图20130614080832.jpg           QQ截图20130614080955.jpg

别忘了让老板送点杜邦线,后面接线用得上。

第二步:搭积木
巧合的是,传感器小板和nano基本上关键针脚都对应,所以将两块板这样插在一起,仔细看下面的图,不要插错位了。
如果有可能的话,应该考虑将两块板焊在一起,这样会比较稳妥。

Billede0501.jpg

但由于两块板子地线不能对应,我们需要额外接一根线,具体请看下图。
同理,为了稳妥起见尽量焊接好,另外这根线不需要像图里面那么长,否则成品会不太好看。

headtracker 1.jpg

第三步:获取代码和工具
下面我们需要下载Arduino开发环境猛戳这里: http://arduino.googlecode.com/files/arduino-1.0.5-windows.zip
(如果上面链接失效了请在 http://arduino***/en/Main/Software 寻找最新版)
下载完毕后打开压缩包,你应该会看到这些东西。这个就是为Arduino编程用的工具,记得解压后再进行后面的步骤。
QQ截图20130614082756.jpg
我们双击蓝色图标的arduino.exe,就是上图第三行第三个。
banner消失后,你应该会看到下图这样一个空白的界面,我这里多了一个提示说官网有升级,Yes or No as you will都不影响使用。

QQ截图20130614082939.jpg

然后我们去下载头追的程序包猛戳:http://code.google.com/p/open-headtracker/downloads/list,在列表里有很多版本,我用0.08版本改的。各位会用codegoogle的可以自己看看changelog。
下好以后解开压缩包,我们会看到下面这些东西,双击第一行第三个就好

QQ截图20130616052537.jpg
一切正常的话会打开Arduino IDE开发环境。像下面这个图这样,而且里面会有一些代码。

QQ截图20130616052659.jpg

第四步:烧录程序
到这一步我们离胜利已经很近了,只需要将刚才的程序烧录到我们的硬件里就可以使用了。
首先将 Arduino nano 小板子通过配送的USB线接到PC上~“叮咚”
第一次连接会提示你安装驱动,这个流程就不详说了百度自己搜,驱动文件就在arduino开发环境那个文件夹下的drivers文件夹里。
驱动安装完毕后,我们对 我的电脑右击----->管理----->设备管理器---->端口 确认一下端口号。
如下图所示,我们知道nano的串口号是12,在我的PC上除了Arduino的COM12以外还有几个蓝牙串口。这个COMXX端口号在你的PC上应该会和我的不一样。没关系记住就好。
QQ截图20130616050646.jpg

然后回到Arduino IDE中设置两个地方,第一个是Serial Port,具体位置看下图。这里选择我们刚才查到的串口号。

未命名.JPG

另一个地方是选择开发板类型,选择Arduino nano ATMEGA328 如下图。
新建 BMP 图像.JPG

然后看下图,看到菜单栏下面有5个浅蓝色的按钮了么,我们点击钩钩右边那个按钮,稍等一会程序就会被下载到我们的硬件里了。

QQ截图20130616071248.jpg
这个过程中,nano小板应该会闪烁红绿两颗灯。

第六步:测试功能与总装

至此主要步骤就完成了,很简单是吧?~
但为了稳妥起见 我们应该测试一下功能是否正常。
关闭Arduino IDE开发环境,然后打开我们下载的头追程序包

之前我们在这里点开过工程文件记得么,这次我们需要打开头追的调试软件:HeadtrackerGUI,在第二行第三个。
然后按照下图里的顺序操作,首先从下拉菜单里选择你刚才记下的串口号,然后点击connect,然后点击左下角的Start plot
如果没问题的话,软件下方会出现实时更新的折线图,你可以测试DIY头追功能了!

QQ截图20130616054820.jpg


测试正常的话,就可以把这个系统接入遥控器了,下面是接线图。
需要一提的是,不同的遥控器在教练线接法这里是不同的。我用的是SpektrumDX8,JR和Spektrum一样教练线是一个音频插口,这个接口是不供电的。所以如何为头追模块供电你要自己想办法。注意nano标明的输入电压范围是5-12v(其实nano是通过一块ldo降压的,最大压差懒得查手册,总之最好不要太大。2s锂聚合物电池或4-5s镍氢电池是比较合理的)。
Futaba的遥控可以为模块供电,所以没有这些麻烦。

HeadTracker_fritz_smallv2.png
----------------------------------------------------------


















评分

参与人数 51威望 +99 收起 理由
战斗机001 + 2 很给力!
jetcar935 + 1 很给力!
wliu_10 + 4 赞一个!
jingrong + 2 赞一个!
AIbluecapf + 2 很给力!

查看全部评分

欢迎继续阅读楼主其他信息

 楼主| 发表于 2013-6-13 13:40 | 显示全部楼层
本帖最后由 sonireolxxx 于 2013-7-27 01:10 编辑

最近忙着准备考试和申请材料的事情,很少上论坛了,方案2里蓝牙接收转PPM输出模块的DIY资料只能忙完了再说,感谢大家的关注。等这阵忙完我会更新,请不要再发站内信,谢谢理解!

这一楼用来讨论比较深入的技术问题
(等等看是否需要)
详细解释一下程序结构和算法
向不使用arduino_bootloader的其他avr平台移植
调整lowpass滤波器行为
如何支持gy-85以外的模块,或自制传感器板
ppm解码及融合
无线化



 楼主| 发表于 2013-6-13 13:40 | 显示全部楼层
本帖最后由 sonireolxxx 于 2013-6-16 09:02 编辑

谢谢各位的捧场!
这里发一下自己的作品,欢迎交流

IMG_0549.jpg

眼镜改造为全无线,包括头追数据也是无线传输,不改动任何机械结构
演示视频奉上






发表于 2013-6-13 13:55 | 显示全部楼层
广告位!
发表于 2013-6-13 14:09 | 显示全部楼层
标题党啊!!
头像被屏蔽
发表于 2013-6-13 14:29 | 显示全部楼层
帖子肯定还在编辑呢     顶技术贴  强力支持
发表于 2013-6-13 14:40 | 显示全部楼层
这个必须顶!  5I有你更精彩...   
发表于 2013-6-13 15:04 | 显示全部楼层
有兴趣先报名
发表于 2013-6-13 15:05 | 显示全部楼层
有兴趣先报名
发表于 2013-6-13 15:19 | 显示全部楼层
期待着
发表于 2013-6-13 15:37 | 显示全部楼层
留名。。。。
发表于 2013-6-13 15:38 | 显示全部楼层
前排刘明。。会火!!
发表于 2013-6-13 15:40 | 显示全部楼层
关注下,不知T8FG有没戏
发表于 2013-6-13 15:53 | 显示全部楼层
强力支持啊
发表于 2013-6-13 16:19 | 显示全部楼层
强力支持啊
发表于 2013-6-13 16:28 | 显示全部楼层
这个不顶不行啊!强烈支持!
发表于 2013-6-13 16:57 | 显示全部楼层
强力顶贴!
发表于 2013-6-13 17:10 | 显示全部楼层
顶 狂顶
发表于 2013-6-13 17:34 | 显示全部楼层
强力关注!
发表于 2013-6-13 20:31 | 显示全部楼层
期待详细教程
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表