corvin_zhang 发表于 2017-10-22 18:04:51

三轮全向移动机器人源码公开下载

本帖最后由 corvin_zhang 于 2017-10-22 18:08 编辑

0x00 源码简介
关注过ROS小课堂公众号或者优酷视频教程的应该对ROS小课堂的三轮全向移动小车有所了解,我已经制作了大概10集关于三轮全向移动小车的教程,由于一直跟大家说要开放源码,这次终于等到ROS小课堂的服务器搭建的差不多了才把源码上传至服务器来开源。源码中包含了安卓助手端app的全部源码,arduino控制源码,主控板运行的ROS源码,SLAM导航源码,使用的是RPLidar A2,视频监控等,目前该源码经过在树莓派3B上ROS indigo版本下经过编译测试,可以正常运行,所有源码已上传至ROS小课堂的gerrit系统中,开放给大家进行下载,目前服务器端正在搭建禅道软件项目管理系统,搭建完成后,大家就可以在禅道上来进行提bug和更多需求,到时候我会根据bug和需求的描述来继续维护代码,当然也非常欢迎大家参与到项目中来,共同来维护代码,贡献自己的一份力量,下面来几张三轮全向移动机器人的图片供大家参考:
http://101.132.35.195/wp-content/uploads/2017/10/223518842-225x300.jpg http://101.132.35.195/wp-content/uploads/2017/10/332726750-225x300.jpg http://101.132.35.195/wp-content/uploads/2017/10/1865184037-225x300.jpg
0x01 源码下载
源码下载方式分为两种:一种是匿名用户,可以随便下载代码,但是没有提交代码的权限;另外一种是gerrit系统的注册用户,下载代码后还可以提交修改代码,下面分别介绍两种下载方式:
(1)匿名用户下载
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-18-152504.png
(2)gerrit注册用户下载
对于gerrit注册用户,需要首先在浏览器中输入101.132.35.195:8080/gerrit/回车后会弹出登录框提示进行帐号秘密登录,如下图所示:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-090100.png
在登录系统后,然后就可以选择三轮全向移动小车的代码库corvinRobot_YOYO,具体操作如下图所示:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-18-160305-1.png
在复制了下载命令后就可以直接在终端中开始下载代码了,具体的下载流程如下所示:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-092457.png
0x02 ROS源码简析
对于源码的解析,首先我们来看ROS相关的代码:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-093748.png
接下来看整个源码的编译过程,首先是第一次编译会出错,第一次编译出错是因为找不到自定义的头文件,不过不要紧,只要我们source devel/setup.bash就可以了
0x03 rosjava源码简析
rosjava是使用java语言实现的一个ROS代码框架,基本上可以与ROS系统无缝衔接通信,你在ubuntu安装的ROS系统中用到的功能在rosjava中都可以实现,rosjava就是这个java版本的ros的源码,我们可以在该源码基础上开发出属于自己定义的各类通信topic消息格式,可以将其编译成jar包这样就可以直接在我们的安卓app中直接引用,这样我们的安卓app就可以直接和ROS系统通信了。关于rosjava的更详细介绍也可以去ROS Wiki的官网查看:http://wiki.ros.org/rosjava/
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-110320.png
由于整个编译过程较长,可以直接看下面的编译过程(编译过程日志太长,所以略有删减):
我们编译rosjava源码的意义在于编译属于我们自己的项目,我们需要获得编译生成的jar包,我们的安卓app代码引用了该jar包才能与ROS机器人进行通信,才能控制我们的ROS系统,例如我在rosjava中创建了ros_arduino_msgs软件包,目录结构如下图所示:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-115404.png
当我们把整个rosjava代码编译完成后,需要在哪里找到编译完成的jar包呢?查看下图:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-120106.png
接下来就可以将该jar包复制到安卓app源码相应目录的libs下,再配置一下引用该jar包即可。
0x04 android源码简析
android_core为配套的安卓助手端app的源码,源码的目录结构如下:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-103906.png
在了解了安卓源码的目录结构后,就准备在android studio中打开编译了,具体的配置android studio环境需要大家提前配置好,如果有需要的话会专门再发布一篇教程来指导大家如何安装android studio配置java环境。下面的过程是你已经配置好android studio了,然后将该安卓源码导入编译即可,首先是打开android studio截图:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-131617.png
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-132042.png
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-132739-1024x807.png
当接上手机后,点击项目旁边的三角运行按钮即可编译整个项目,然后将编译生成的apk安装进手机中:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-133551.pnghttp://101.132.35.195/wp-content/uploads/2017/10/507405075-1.jpg

当连接成功后app的界面如下图所示:
http://101.132.35.195/wp-content/uploads/2017/10/1505652391-1024x576.jpg
0x05 arduino源码解析
arduino的代码结构如下图所示:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-135653.png
在了解各个arduino代码后开始准备在arduino IDE中打开项目进行编译,这里我们打开三轮全向移动底盘arduino代码查看:
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-142200-1024x481.png
http://101.132.35.195/wp-content/uploads/2017/10/Screenshot-from-2017-10-19-143002-1024x629.png
0x06 问题反馈
由于本人能力有限,如果大家在此过程中有任何问题,可以直接给我评论或者可以关注ROS小课堂的官方微信公众号,在公众号中给我发消息,我基本上每天都会处理公众号中的留言!当然,如果你要是顺便给ROS小课堂打个赏,我也会感激不尽的!
http://101.132.35.195/wp-content/uploads/2017/09/微信打赏_公众号_支付宝打赏.jpg
页: [1]
查看完整版本: 三轮全向移动机器人源码公开下载