【探索之路】机器人篇(1)-ROS-mwRobot开篇
机器人的定义
首先,什么才是机器人?机器人是不是必须和人一样的外形?我们先看一看维基百科给机器人的定义:
由上可见,机器人并不是和人一样的外形,而是可以模拟人类行为或者思想再或者是模拟其他生物的机械。那么我们就知道了,我们的扫地机器人虽然外表不像人,但是它却能够想人类一样自己去清扫地面上的垃圾,所以它是属于机器人范畴。再比如我们的送餐机器人,它虽然是轮子驱动的,但是却能完成服务员送菜的行为,所以也是机器人。
那么,我们就知道机器人并不一定要求和人类有一样的外表,能够模拟人类行为或思想与其他生物的机械。
ROS(Robot Operating System)
机器人操作系统(ROS),由名字可知是一个专门为机器人设计的操作系统。那么它具体的介绍我们可以先看看它的定义:
由上述可得,机器人操作系统和我们平常所属知的Windows、Linux、IOS操作系统并不一样,它虽然叫操作系统,但是和软件一样是运行在Linux系统上的,也就是上述所说的后操作系统。它的设计目标是提高了机器人领域的代码复用率。并提供了一套非常优秀的通信机制。它的出现为机器人的开发提供了极大的便利。目前有很多机器人都在使用这个系统。
mwRobot
mwRobot,是一款由我本人独自设计并制作的一款基于ROS系统的机器人。包括了三维建模、底层驱动、软件调试等环节。mwRobot的意思是(miss wind Robot).
此篇博文写于2018-09-15早上。目前我以完成了对机器人地盘的三维建模,确定了地盘的结构并已经将其中的一些必要结构发到工厂加工。
由于是第一次制作,所以我这边选择的是简单的双轮差速驱动式机器人,外形参考的turtleBot2。
下面贴几张图片作为展示和参考(注: 3D文件已经保存到了码云项目中(无turtlebot2的文件),
文件名称为: https://gitee.com/mwRobot/mwRobot_solidworks RAR_files /3D建模_2018_09_14 24_00.rar ):
机器人turtlebot2外形图:
下面介绍一下mwRobot的整体规划:
结构部分:
整车分为3层结构,共四个亚克力圆板和3x4=12根铝型材。
亚克力使用的是6mm厚的黑色亚克力板,整个图纸已经加工好并发给店家要求切割。
铝型材的型号20x20,在买的时候就把长度发给了店家,并要求双端攻丝。
车轮用的是直径为95mm的铝合金轮子。
万向轮用的是两寸的。
电控部分:
车轮的电机使用的RM3510+配套的820电调(驱动),通信方式为CAN.电压24V.
(因为参加过RoboMater机器人比赛,有现成的电机,所以直接拿来用了,个人使用的话不推荐,价格太高)
对于控制板方面,使用的是RM的T型板,MCU是STM32F405。输入电压是24V,主控板能稳定输出12V电压。并带有DJI的遥控器接收机接口。
动力来源使用的是电池TB47.其实整套电控使用的都是DJI的产品.都是打比赛目前是闲置的。
PC部分:
miniPC使用的DJI的妙算,ubuntu 14.04系统。
双目相机:kinect V1版
激光雷达:思岚V1 - RPLIDAR A1
ROS版本:indigo
物理仿真:gazebo
编程工作是在ubuntu 14.04的台式电脑上,使用的开发环境是RoboWare.
机械加工的零件还没发过来,这两天先做一下仿真。
linux内核下载地址: https://www.kernel.org/pub/linux/kernel