【探索之路】机器人篇(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模型,那我就直接导入已经画好的三维模型. 如果大家没有画也是可以直接使用上一章节我们已经构建的机器人模型.我这里只是一个对显 ...
随机推荐
- win10拔下电源会黑一下屏
- PyQt(Python+Qt)学习随笔:Action功能详解及Designer中的操作方法
老猿Python博文目录 老猿Python博客地址 一.引言 Qt Designer中的部件栏并没Action相关的部件,Action可以在右侧的Action Editor中编辑,如图: 如果没有出现 ...
- Oracle批量新增数据最佳实践
一.需求描述 现在的项目改造过程中,从国产的Gbase数据库改造为Oracle数据库,遇到一个问题有的业务操作需要批量新增数据. 这也是一个比较常规的操作,有很多地方确实需要一次性新增多条数据.Gba ...
- 第三篇 Scrum 冲刺博客
一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日(24日)完成的工作 今天(25日)计划完成的工作 工作中遇到的困难 陈锐基 - 个人信息编辑后与组件关联- 表白墙数据用 Vuex ...
- APIO2020 交换城市
我是真的不稳定的垃圾选手. 对于一张图来说,两个人能满足题面关系等价于这张图不是链,很好证明,如果有度数 \(> 2\) 的点,让一个人跑到一个度数 \(= 1\) 的地方就可以了. 如果离线就 ...
- elasticsearch的基本了解
以下内容参考官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.2/elasticsearch-intro.html 使用的学 ...
- A Simple Framework for Contrastive Learning of Visual Representations 阅读笔记
Motivation 作者们构建了一种用于视觉表示的对比学习简单框架 SimCLR,它不仅优于此前的所有工作,也优于最新的对比自监督学习算法, 而且结构更加简单:这个结构既不需要专门的架构,也不需 ...
- 【原创】WPF TreeView带连接线样式的优化(WinFrom风格)
一.前言 之前查找WPF相关资料的时候,发现国外网站有一个TreeView控件的样式,是WinFrom风格的,样式如下,文章链接:https://www.codeproject.com/tips/67 ...
- Unity射击实例讲解—主角创建
前言: 经过三分钟的思考决定换个标题,这两天其实游戏制作进度推了大半了,加入了许多自我创作的素材,不过想一想用来讲解的实例不该这么花哨,决定还是参照我的一些教材做一些简单的示例不然要说的东西太多,本人 ...
- 2020-2021-1 20209307 《Linux内核原理与分析》第十一周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第十一周作业> 这个作业的目标 ...