机器人系统设计与制作:Python语言实现2.2 机器人的传动装置

简介:

2.2 机器人的传动装置


移动机器人导航中有一种性价比较高且有效的解决方案就是采用差分传动系统。对于移动机器人室内导航来说,这是一种最简单的传动装置。这种差分驱动的机器人是由两个安装在同轴上的轮子组成的,两个轮子分别由两个独立的电机控制,其上有两个被称为脚轮的支撑轮。这样能够确保机器人的重心分布和稳定性。图2-1画出了一个典型的差分传动系统。

下一步是要选择这个机器人差分系统的机械零部件,主要是电机、轮子和机器人的底盘。根据需求,我们首先来看如何选择电机。

2.2.1 选择电机和轮子

在了解了电机的规格参数后,我们开始选择电机。其中,电机的转速和扭矩是两个非常重要的参数。我们可以从给定的需求中计算出它们的参数值。

2.2.1.1 计算电机转速

假定,要求机器人的行走速度是0.35m/s。我们知道,根据需求机器人的行走速度要在0.25~1m/s之间。假设轮子的直径是9cm,因为根据需求可知离地间隙要大于3cm。使用下列方程,我们能够算出电机的转速:

转速=(60×速度)/(3.14×轮子的直径)

转速=(60×0.35)/(3.14×0.09)= 21 / 0.2826 = 74 r/min

计算方式可参考:http://www.robotshop.com/blog/en/vehicle-speed-rpm-and-wheel-diameter- f?inder-9786。

当机器人行走速度为0.35m/s且轮子直径为9cm时,计算得到74RPM。因此,我们可以考虑设定80 RPM为标准值。

2.2.1.2 计算电机扭矩

那么,接下来看看如何根据需求计算出机器人移动所需要的电机扭矩:

1.?轮子个数为4个,包括2个脚轮。

2.?电机个数为两台。

3.?假设摩擦系数为0.6,轮子的半径为4.5cm。

4.?机器人的总重量W =机器人的重量+负载=~100N +~50N =~150N,总质量= 15kg。

5.?重量分布到4个轮子上,可以写成:2×N1 + 2×N2 = W,其中,N1是分布到每个脚轮上的重量,N2是分布到每个电机驱动的轮子上的重量。

6.?假设机器人处于静止状态。当机器人开始移动时需要的扭矩最大,因为它必须要克服地面摩擦力。

7.?在机器人移动之前,我们可以认为机器人的扭矩和摩擦力都等于0。在满足这样的设定条件下,我们可以得到最大扭矩:

μ×N×r - T = 0,其中μ表示摩擦系数,N表示每个轮子上的平均重量,r表示轮子的半径,T表示扭矩。

N = W/1(假定机器人的重量平均分布在4个轮子上)。

那么,我们可以得到:

0.6×(150/2)×0.045 - T = 0

所以,T = 2.025 N·m或20.25 kgf·cm (1kgf·m = 9.806?65 N·m)

2.2.2 设计小结

通过设计需求,我们计算得到下列值:

电机转速等于80RPM。

电机扭矩等于20kgf·cm。

轮子直径等于9cm。

2.2.3 机器人底盘设计

计算出机器人的电机和轮子参数之后,我们可以开始设计机器人底盘,或者叫作机器人的身体部分。根据设计需求,机器人底盘要能够存放食物,必须能够承受5kg的有效负重载荷,机器人的底盘离地间隙应该大于3cm,且低成本。除此之外,机器人底盘上还要有能放置电子器件的空间,如个人电脑(PC)、传感器和电池。

有一种最简单的设计能满足这些要求,就是类似于分层桌面的设计。TurtleBot(http://www.turtlebot.com/)就是一种类似于分层桌面的设计。它的底盘部分可以分为3层。被称为Roomba的机器人平台就是这种平台的传动装置。Roomba有内置的电机和传感器,所以无须担心它的硬件设计。图2-2画出了机器人TurtleBot的底盘设计。

我们将设计一个类似于TurtleBot的机器人,它有自己的移动平台和组件。我们的设计也将有3层体系架构。那么,来看看开始设计之前都需要哪些工具。

在开始设计机器人的底盘之前,我们需要了解一下计算机辅助设计(CAD)这个软件工具。目前广泛流行的CAD工具有:

SolidWorks (http://www.solidworks.com/default.htm)

AutoCAD (http://www.autodesk.com/products/autocad/overview)

Maya (http://www.autodesk.com/products/maya/overview)

Inventor (http://www.autodesk.com/products/inventor/overview)

Google SketchUp (http://www.sketchup.com/)

Blender (http://www.blender.org/download/)

LibreCAD (http://librecad.org/cms/home.html)

底盘设计可以使用以上你熟悉的任何一款工具软件。在本书中,我们将使用LibreCAD设计2D模型,使用Blender设计3D模型。以上这些应用软件有一个亮点,即它们全部都是免费的,而且适用于所有的操作系统。我们将使用MeshLab这个3D网格显示软件来查看所设计的3D模型,并使用Ubuntu作为主要的操作系统。同时,我们还可以了解这些应用程序在Ubuntu 14.04.2操作系统上的安装过程和使用它们进行设计的过程。我们也会提供这些应用程序在其他平台上的安装教程链接。

相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
Python 语言的瑰宝:数据科学中的无限潜能
在当今数字化时代,数据科学的应用已成为推动企业和学术界前进的重要力量。而Python语言,作为一门简洁、灵活且功能强大的编程语言,正日益成为数据科学领域的首选工具。本文将探讨Python语言在数据科学中的广泛应用,从数据分析到机器学习,再到人工智能。
|
3月前
|
传感器 机器人 定位技术
Python 机器人学习手册:6~10
Python 机器人学习手册:6~10
|
3月前
|
传感器 Ubuntu 机器人
Python 机器人学习手册:1~5
Python 机器人学习手册:1~5
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
为什么Python是数据科学家的首选语言
为什么Python是数据科学家的首选语言
32 0
|
4月前
|
算法 机器人 Python
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
37 0
|
4月前
|
机器学习/深度学习 算法 Python
动态规划法和策略迭代在扫地机器人中确定状态值和动作值函数的策略评估(python实现 附源码 超详细)
动态规划法和策略迭代在扫地机器人中确定状态值和动作值函数的策略评估(python实现 附源码 超详细)
31 0
|
16天前
|
JSON 网络协议 前端开发
【UR六轴机械臂源码】python脱离示教器控制UR机械臂实时采集机器人位姿(优傲机器人)
【UR六轴机械臂源码】python脱离示教器控制UR机械臂实时采集机器人位姿(优傲机器人)
|
28天前
|
XML 数据采集 数据格式
Python语言的结构化标志语言处理
Python语言的结构化标志语言处理
|
2月前
|
Rust API Android开发
Python潮流周刊#4:Python 2023 语言峰会
Python潮流周刊#4:Python 2023 语言峰会
18 2
|
2月前
|
JavaScript 前端开发 C语言
Python 到底是强类型语言,还是弱类型语言?
Python 到底是强类型语言,还是弱类型语言?
17 2

热门文章

最新文章