【探索之路】机器人篇(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.
机械加工的零件还没发过来,这两天先做一下仿真。
【探索之路】机器人篇(1)-ROS-mwRobot开篇的更多相关文章
- 【探索之路】机器人篇(3)-给mwRobot建立模型
在创建一个mwRobot_description程序包那一节中,我们添加了依赖roscpp rospy std_msgs 和 urdf , 现在我们再添加一个xacro依赖. 如何添加依赖? 打开程 ...
- 【探索之路】机器人篇(2)-ROS系统并创建工作空间和项目
在ROS官网,已经给出了详细的教程.下面我就般一下砖,把相应的操作写到这里.官方网址:http://wiki.ros.org/cn/ 安装ROS系统 indigo在ubuntu上的安装教程.官网:ht ...
- SLAM+语音机器人DIY系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- 机器人操作系统(ROS)在线实训平台学习实验指南
机器人操作系统(ROS)在线学习指南 在高校开设ROS相关课程已经积累了一年多的经验,由于自动化类专业在课程安排中不同于计算机相关专业,通常没有Linux相关的课程基础,直接上手ROS较为 ...
- 2016级算法第一次练习赛-F.AlvinZH的儿时梦想——机器人篇
864 AlvinZH的儿时梦想----机器人篇 题目链接:https://buaacoding.cn/problem/868/index 思路 中等题. 判断无限玩耍: \(p\) 的值能够承担的起 ...
- 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes)-kubernetes/dashboard
本章介绍所需环境:ubuntu18.04,建立在上一篇微服务探索之路01篇已经安装了docker的基础上. 1 替换k8s镜像源为国内镜像 进入目录 cd /etc/apt/sources.list. ...
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- 【探索之路】机器人篇(5)-Gazebo物理仿真环境搭建_让机器人运动起来
如果完成了前两步,那么其实我们已经可以去连接我们的现实中的机器人了. 但是,做机器人所需要的材料还没有到,所以我们这里先在电脑平台上仿真一下.这里我们用到的就算gazebo物理仿真环境,他能很好的和R ...
- 【探索之路】机器人篇(4)-根据3D文件来优化自己的机器人模型
此章节不是必须做的!!!! 因为我已经用solidworks画了机器人的3D模型,那我就直接导入已经画好的三维模型. 如果大家没有画也是可以直接使用上一章节我们已经构建的机器人模型.我这里只是一个对显 ...
随机推荐
- 我与UML相爱相杀的狗血日常
前言 该怎么说呢,在专业母亲的包办婚姻和我不得不为日后的百万家产[日后的百万年薪,我怕是在做梦]下,我和UML的婚后生活正式开始了.第一天回娘家我亓老师就给出了她最爱的编程作业.说实话,我当初以头发为 ...
- Beego框架学习--(核心:数据交互)
Beego框架学习记录 1.beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...
- flask:蓝图--blueprint
一.蓝图 1.什么是蓝图?(WHAT) 1)蓝图就是模块化处理的类 2)用于实现单个应用的视图.模板.静态文件的集合 总结:蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关 ...
- PyQt(Python+Qt)学习随笔:model/view架构中的两个标准模型QStandardItemModel和QFileSystemModel
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.PyQt中的标准模型 PyQt和Qt提供了两个标准模型QStandardItemModel和QF ...
- 深入浅出让你理解什么是LLVM
什么是LLVM 转载自https://www.jianshu.com/p/1367dad95445 LLVM项目是模块化.可重用的编译器以及工具链技术的集合. 美国计算机协会 (ACM) 将其2012 ...
- Win10激活失败并提示错误代码0xC004C003的解决方法
亲测,可用. 步骤如下: 进入cmd,管理员权限登录 slmgr.vbs /upk slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms zh.us ...
- Scrum 冲刺第三天
一.每日站立式会议 1.会议内容 1)进行每日工作汇报 张博愉: 昨天已完成的工作:博客编写.spring boot学习 今日工作计划:将项目代码更新到最新版本 工作中遇到的困难:各成员的环境不一样, ...
- vue props默认值国际化报错
未做国际化处理 tabLabel: { type: Array, default: () => (["a", "b", "c"]) } ...
- Codeforces Edu Round 59 A-D
A. Digits Sequence Dividing 注意特殊情况,在\(n = 2\)时除非\(str[1] >= str[2]\),否则可以把第一个数划分下来,剩下的数直接当成一组,一定满 ...
- React Native学习记录
1.端口问题 在调试的时候,监听的是8081端口.如果被占用,会报错,并且在reload的时候导致app直接崩掉. 2.插件网站收集 https://nativebase.io/ https://js ...