|
本帖最后由 mazhenyu 于 2016-4-13 18:01 编辑
作者:HANDS FREE TEAM
演示视频:http://v.youku.com/v_show/id_XMTUyODk4NTUzNg==.html
HANDS FREE WIKI : http://wiki.exbot.net/wiki/HandsFree
HANDS FREE GITHUB : https://github.com/HANDS-FREE (所有资料在这下载)
ExBot 社区: http://blog.exbot.net/
Hands Free是以嵌入式框架为核心,电路设计,机械设计为分之,以各种实物平台为实现的开源项目,各种实物平台都有其各自的上层框架,机器人导航,SLAM,计算机视觉等,Hands Free拥有自己上层建设和一整套调试系统,同时还尽可能支持国外其他的开源项目,ROS,MPRT,PIXHAWK等,而且这一切的组成都是以开源的形式发布。
Hands Free 3WD MINI是Hands Free Team基于Hands Free开源项目建立的一个工程,是一款轻巧型的移动机器人平台。
机身由一个三轮式底盘和一个数字舵机2自由度云台(可选)组成,大小35cm直径,20cm高度,采用亚克力或者玻璃纤维机身,总重量设计不超过2KG,额定负载(含机身)不超过5KG,完全可以承载笔记本的重量,总功率不超过15W,输入电压12V,适合于运动控制算法研究,机器人导航,SLAM,多机协同研究等,ROS入门小神器。
机械安装目前可以支持常用的激光雷达(RPLIDAR,HOKUYO),华硕的xtion,英伟达的TK1,树莓派,同时还可以支持Hands Free Team开发的2自由度的头部和多自由度机械臂,当然这些土豪性质的装备,玩家要自己另外配,也可以参考handsfree的配置方案,机械设计也是尽量解耦的,主要是方便玩家自己DIY,比如激光和主控等是有单独的转接板和底板连接的。使用STM32F4为下位机,为了方便,我们无耻的给它起了个名字叫Hands Free Control Unit,主控电路集成加速计,陀螺仪,磁力计,GPS接口(pixhawk的接口),数字舵机控制器,3个电机控制接口,10路电调PWM,1路SBUS, 1路PPM ,3个CAN接口,大容量EEPROM,SD卡,1个USB和1个USBTTL(背面)
可以说Control Unit是飞控的配置,用来玩小车是有点土豪啊,而且我们的设计都是模块化设计,尽量解耦(或者说是为了偷懒),这种方式可以最大话利用市场上已有的东西,比如那个核心板就是淘宝上选的,这才是DIY的正解啊.......,整个机身负载能力有限,但由于个体小和功率小,平台非常便捷和鲁棒并且由于Hands Free的开源性质,玩家既可以自己修改源代码,也可以用官方发布的固件,所以不管你懂或不懂嵌入式开发你都可以很轻易的上手这个平台,同时你还可以使用Hands Free开发的ROS demo,以及使用TK1跑ROS的方案,你也可以利用底层通信协议HF_Link搭载自己的机器人控制方案,HF_Link是我们自己造的一个小巧型可移植的移动机器人抽象层通信协议,比起mavlink,我们这是秒懂的协议ˇˍˇ,具体请看HF_Link的说明文档
软件库介绍:
1.Hands_Free_PCB
所有PCB的源文件和使用手册,pcblib和pcb标准的规则都在这里,如果你对板子的存在疑问,就看里面的使用手册
2.Hands_Free_Robot
关于handsfree的各种机器人实体的资料都在这个目录下,目前有三款平台,3WD,2WD,和人形,我们现在主要是教大家玩这个3WD全向轮的平台,2WD差速的也差不多一样
文件包括:机器人的全部机械模型资料以及机械的说明和标准,以及机器人的使用手册。
Handsfree主要是完善底层库,和基于底层库搭建更多好玩的平台。所以后面还可能有其他的平台,,也欢迎玩家使用handsfree搭建平台,在这里分享你的设计。
3.Hands_Free_ROS
这个文件夹全是hands free移动平台在ROS下的实现代码,里面有基于hflink的串口,udp底层驱动,机器人的urdf模型,在3wd在gazebo和vrep里的仿真案例,以及3wd在真实世界的导航和SLAM的代码,使用xtion的一些ros 案例等等,,Hands free像turtlebot一样封装了robot hardware,增加了ros controller,所以不管是仿真还是切换平台,甚至切换控制方式都是很方便的,具体会在ROS篇介绍。关于ROS的玩法,推荐国内一个很不错的博客exbothttp://blog.exbot.net/
这是一个看起来很懒散的组织(我们也很懒散)
重点介绍:Hands_Free_Embedded
Hands_Free_Embedded是目前handsfree的核心,里面都是各种驱动包和算法库和RTOS,也就是以下内容 ps:3wd目前有操作系统版和裸奔版的固件,使用的是UCOSIII系统
由于机器人可能使用到的设备各种多,可能用到的伺服设备,数模舵机,直流三相电机,各种传感器,加速计,陀螺仪,磁力计,超声,GPS,可能还需要一些交类互的LCD,触摸屏,甚至移植个GUI,各种可能用到的存储设备,flash, EEPROM,SD卡驱动,然后可能还要个操作系统来管理整个代码吧....反正只要你还能思考,就可以无止境的多所以开源的真正重点是在这里,希望通过handsfree,能建立一个取之不尽的驱动库和算法库,而这一点,在国内是很少有的,基本上在各大论坛也只能零散的找到一些别人用过的代码。
系统展示:
SLAM and Navigation
CV DEMO
simulation in gazebo
最后:
HANDS FREE核心拓扑
HANDS FREE是一个机器人开源项目 :以嵌入式软件框架为核心,硬件电路设计,机械平台和为分之的开源项目,是优秀代码的总结,是大家一起学习的平台
HANDS FREE是个驱动库:封装大量传感器,存储器,输入输出设备的驱动包,并且采用硬件和驱动包隔离的方式,开发者可以轻易的跨平台移植
HANDS FREE是个多模板库:HANDS FREE具有已经移植好的操作系统层功能,实时操作系统(RTOS),图形库(GUI),网络协议(LWIP),蓝牙协议,USB协议 ,交互支持(SHELL),使用者可以根据自己的需求,选择合适的模板进行开发,省去了移植过程的繁琐操作
HANDS FREE是个功能包库:会提供一些高大上的package供你选择,比如USB固件升级,无线调试接口和上位机,还有PID控制包,机器人运动坐标变换包,卡尔曼滤波包,矩阵运算包,四轴控制包等算法类的包,还有移植好的通用性计算机系统的一些包,比如linux系统的音频软件解码的包,HANDS FREE的功能会随着它的成长而越来越丰富
HANDS FREE是一种学习方式 :通过HANDS FREE里面的demo工程和使用手册,学习者可以很轻松的学会它的使用方法 , HANDS FREE既有模板工程,还有针对于某个设备的测试工程,同时还有应用级别的工程,比如一个四轴飞行的代码则属于应用级别工程,应用级别工程都是基于HANDS FREE开发的一个完整系统,学习者可以通过HANDS FREE去学习别人总结的代码。
总结:HANDS FREE是一个开源的软硬件库,面向的是复杂机器人系统,除了底层平台,还交叉着SLAM,计算机视觉,深度学习,各种国内外开源工具(ros,pixhawk),构建机器人仿真平台(gazebo ,vrep)等,主要目的是提供尽量完整机器人开源系统。
PS : HANDS FREE 是一个线上交流合作社区,主要由西北工业大学和exbot ROS网站成员和各种网络大神组成,也欢迎看到这篇博客的并且有兴趣的人加入,为国内机器人事业做点小小贡献,祝所有机器人爱好者有一个顺畅的机器人探索之旅(显然不可能滴!!!)。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|