机器人的定义

  首先,什么才是机器人?机器人是不是必须和人一样的外形?我们先看一看维基百科给机器人的定义:

  

  由上可见,机器人并不是和人一样的外形,而是可以模拟人类行为或者思想再或者是模拟其他生物的机械。那么我们就知道了,我们的扫地机器人虽然外表不像人,但是它却能够想人类一样自己去清扫地面上的垃圾,所以它是属于机器人范畴。再比如我们的送餐机器人,它虽然是轮子驱动的,但是却能完成服务员送菜的行为,所以也是机器人。

  那么,我们就知道机器人并不一定要求和人类有一样的外表,能够模拟人类行为或思想与其他生物的机械。

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开篇的更多相关文章

  1. 【探索之路】机器人篇(3)-给mwRobot建立模型

    在创建一个mwRobot_description程序包那一节中,我们添加了依赖roscpp  rospy std_msgs 和 urdf , 现在我们再添加一个xacro依赖. 如何添加依赖? 打开程 ...

  2. 【探索之路】机器人篇(2)-ROS系统并创建工作空间和项目

    在ROS官网,已经给出了详细的教程.下面我就般一下砖,把相应的操作写到这里.官方网址:http://wiki.ros.org/cn/ 安装ROS系统 indigo在ubuntu上的安装教程.官网:ht ...

  3. SLAM+语音机器人DIY系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  4. 机器人操作系统(ROS)在线实训平台学习实验指南

    机器人操作系统(ROS)在线学习指南       在高校开设ROS相关课程已经积累了一年多的经验,由于自动化类专业在课程安排中不同于计算机相关专业,通常没有Linux相关的课程基础,直接上手ROS较为 ...

  5. 2016级算法第一次练习赛-F.AlvinZH的儿时梦想——机器人篇

    864 AlvinZH的儿时梦想----机器人篇 题目链接:https://buaacoding.cn/problem/868/index 思路 中等题. 判断无限玩耍: \(p\) 的值能够承担的起 ...

  6. 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernetes)-kubernetes/dashboard

    本章介绍所需环境:ubuntu18.04,建立在上一篇微服务探索之路01篇已经安装了docker的基础上. 1 替换k8s镜像源为国内镜像 进入目录 cd /etc/apt/sources.list. ...

  7. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    ❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...

  8. 【探索之路】机器人篇(5)-Gazebo物理仿真环境搭建_让机器人运动起来

    如果完成了前两步,那么其实我们已经可以去连接我们的现实中的机器人了. 但是,做机器人所需要的材料还没有到,所以我们这里先在电脑平台上仿真一下.这里我们用到的就算gazebo物理仿真环境,他能很好的和R ...

  9. 【探索之路】机器人篇(4)-根据3D文件来优化自己的机器人模型

    此章节不是必须做的!!!! 因为我已经用solidworks画了机器人的3D模型,那我就直接导入已经画好的三维模型. 如果大家没有画也是可以直接使用上一章节我们已经构建的机器人模型.我这里只是一个对显 ...

随机推荐

  1. 最新小样本学习综述 A Survey on Few-Shot Learning | 四大模型Multitask Learning、Embedding Learning、External Memory…

    目录 原文链接: 小样本学习与智能前沿 01 Multitask Learning 01.1 Parameter Sharing 01.2 Parameter Tying. 02 Embedding ...

  2. SQL Server 索引碎片整理

    索引碎片整理的四种方法: 1)删除索引并重建 2)使用 DROP_EXISTING 语句重建索引 3)使用 ALTER INDEX REBUILD 语句重建索引 4)使用 ALTER INDEX RE ...

  3. 基于gRPC的注册发现与负载均衡的原理和实战

    gRPC是一个现代的.高性能.开源的和语言无关的通用RPC框架,基于HTTP2协议设计,序列化使用PB(Protocol Buffer),PB是一种语言无关的高性能序列化框架,基于HTTP2+PB保证 ...

  4. 第7.3节 Python特色的面向对象设计:协议、多态及鸭子类型

    Python是一种多态语言,其表现特征是:对象方法的调用方只管方法是否可调用,不管对象是什么类型,从而屏蔽不同类型对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 一.    P ...

  5. 第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现

    第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现 一.    案例说明 本节将通过一个案例介绍怎么使用property定义快捷的属性访问.案例中使用Rectan ...

  6. "迎圣诞,拿大奖"赛题——SQLI

    0x01 本题所需知识清单: 1.php sprintf()函数漏洞:https://blog.csdn.net/WQ_BCJ/article/details/85057447 2.布尔盲注基本pla ...

  7. 测试window安装的客户端

    1.win10 安装了客户端,测试一下,

  8. 学习笔记:插头DP

    基于连通性的状压DP问题. 一般是给你一个网格,有一些连通性的限制. 例题 插头DP模板 链接 题意:网格图,去掉一些点,求哈密顿回路方案数. 一般按格递推(从上到下,从左到右). 每个格子要从四个方 ...

  9. JavaScript:记录一些字符串和数组常用的方法

    字符串: 字符串的方法:注意:都不会改变原来的字符串,返回值为新的字符串.如果(1,2),一般是包含小标1,不包含下标2 str.charAt(i): 取str的第i+1个字符,类似数组的arr[i] ...

  10. 20201203-5 批量发送 email【】

    1-1 批量发送 email 1 from openpyxl import load_workbook 2 import smtplib 3 from email.mime.text import M ...