机器人系统设计与制作:Python语言实现2.4 用LibreCAD生成机器人的二维CAD图

2.4 用LibreCAD生成机器人的二维CAD图

我们来看看LibreCAD的主界面,如图2-3的屏幕截图所示。

 

图2-3 LibreCAD主界面图

左边的CAD工具栏是绘制模型必不可少的组件,图2-4所示的屏幕截图展示了CAD工具栏的具体组成。

LibreCAD工具栏的详细说明可以参考以下链接:http://wiki.librecad.org/index.php/LibreCAD_users_Manual。

命令框:只能通过命令来绘制图形。

我们不用任何工具栏上的按钮也能绘制出图形。命令框的详细使用说明可以参考以下链接:http://wiki.librecad.org/index.php/A_short_manual_for_use_from_the_command_line。

图层列表:当前绘制窗口的图层面板。计算机辅助绘图的一个基本原理就是利用图层面板的概念来进行绘制。关于图层面板的详细说明可以参考以下链接:http://wiki.librecad.org/index.php/Layers。

块:这是一组实体,可以被设定成不同的位置、大小和旋转角度,并将其多次嵌入到同一个图形中。关于块的详细说明可以参考以下链接:http://wiki.librecad.org/index.php/Blocks。

绝对零点:这是绘制图形的原点坐标(0,0)。

现在,通过设置绘图单位开始草图设计。绘图的单位设置为cm。打开LibreCAD软件,找到Edit |Application Preference选项,将Unit单位设置为Centimeters(厘米),如图2-5的截图所示。

图2-4 CAD工具栏 图2-5 设置绘图单位

接下来,我们开始机器人的底座设计。底座按需求要能够放置电池,并连接电机和控制板。

2.4.1 底座设计

机器人的底座如图2-6所示。底座上画出了两个差分驱动电机和前后两个脚轮的位置,M1和M2分别表示两个差分驱动电机,C1和C2表示两个脚轮。还有4个连接杆的位置:P1-1、P1-2、P1-3和P1-4,它们用于两层之间的连接。螺丝的位置用S表示,这里所用的螺丝型号都是相同的。在底座的中心开了一个洞,专门用于底座电机的走线,它可以一直连到顶层的控制中心。在底座的左右两边各开了一个凹槽,用于放置两边的差分驱动轮,并可以很方便地连到驱动电机上。从底座中心到前后两个脚轮的距离是12.5cm,到两个驱动电机的距离是5.5cm。4个连接杆中心,两两之间的长、高均为9cm。底座、中间层和顶板上打孔的尺寸都一样。

 

图2-6 机器人的底座设计

图2-6中并没有标出每个孔的尺寸,各类孔的尺寸如表2-1所示。

表2-1 机器人底座的尺寸

部件名称 尺寸(cm)

M1和M2 长×高为5×4

C1和C2 半径为1.5

S(螺丝) 半径为0.15

P1-1、P1-2、P1-3、P1-4 外半径为0.7,高为3.5

左、右轮的凹截面 长×高为2.5×10

底座 半径为15

 

在后面,我们还会讨论更多关于电机和电机夹具的尺寸。

2.4.2 底座连接杆设计

底座上有4个连接杆需要延伸连接到中间层。连接杆长为3.5cm,半径为0.7cm。我们可以选用空心管将连接杆延长到中间层。在空心管的顶部,再插入一块硬塑料,打一个螺丝孔。通过这个螺丝,再将其延长到顶层。底座上的连接杆和空心管的尺寸如图2-7所示。空心管的半径为0.75cm,长度为15cm。

 

图2-7 底座连接杆

2.4.3 轮子、电机和电机夹具设计

必须确定轮子的直径,并计算电机的要求。这里,我们可以采用图2-8所示的这个典型的轮子和电机的设计方案,看看是否有效。

 

图2-8 轮子和电机的典型图

电机的设计可以根据电机的选择而变化;如果有必要,电机的设计方案可以根据仿真结果再进行修改。图2-8中X的值可以根据电机的不同速度和转矩而改变。它是电机的齿轮传动装置。

图2-9给出了一个典型的轮子设计图,轮子的直径可认为是90mm。虽然图上画出的直径只有86.5mm,但套上握杆后就会变成90mm了。

电机要安装在底座上需要一个夹具,我们要先将夹具固定在底板上,然后将电机安装到夹具上。图2-10给出了一种典型的夹具设计图纸,可以为我们所用。这是一个L型的夹具,可以将电机固定在夹具的一侧,另一侧固定在底板上。

 

图2-9 轮子设计图

 

图2-10 夹具设计图

2.4.4 脚轮设计

脚轮不需要进行特别的设计,可以使用任何能够接触到地面的轮子,与之前的类似。我们这次设计中可用的脚轮集合请参照下面这个链接:http://www.pololu.com/category/45/pololu-ball-casters。

2.4.5 中间层设计

中间层圆盘的设计尺寸和底座圆盘的尺寸一样,包括螺丝钉的大小也类似,如图2-11所示。

中间层的圆盘由来自底座上的空心管支撑。这样,从中间层再向上延伸空心管,连接到顶层的圆盘。从底座连到中间层圆盘的空心管,会用一个螺丝固定在底部,然后再通过空心管连接到顶层。从中间层延伸上来的空心管的侧面和顶部尺寸如图2-12所示。

 

图2-12 空心管侧面和顶部尺寸

这个空心管连接了底座和中间层,同时向上延伸,连接到顶层。

2.4.6 顶层设计

顶层的圆盘设计与其他两层类似,有4个3cm长的与底层相似的连接杆。这4个连接杆是用来加固从中间层延伸上来的空心管的。这4个连接杆在顶层圆盘上的位置如

图2-13所示。

顶层圆盘设计完之后,这个机器人的框架设计已基本完成。我们可以用Blender软件来显示机器人的3D模型,构造这个3D模型主要是为了进行三维仿真,而二维的平面设计主要是用于机械制造的。

 

图2-13 顶层圆盘的设计图

时间: 2024-08-31 13:56:24

机器人系统设计与制作:Python语言实现2.4 用LibreCAD生成机器人的二维CAD图的相关文章

机器人系统设计与制作:Python语言实现导读

前 言 本书包含12章,主要介绍如何从零开始构建自主移动的机器人,并使用Python进行编程.本书所提到的机器人是用于家庭.宾馆.餐厅的服务机器人,我们将按照顺序介绍如何一步一步构建它.书中从机器人的基本概念开始,然后过渡到机器人三维建模和仿真,在成功进行机器人仿真之后,将介绍构建机器人原型所需要的硬件组件. 机器人的软件部分主要基于Python编程语言和其他一些软件框架开发,这些软件框架包括机器人操作系统(ROS).OpenCV等.你将会从设计机器人到设计人机界面等多个方面来了解如何使用Pyt

机器人系统设计与制作:Python语言实现2.5 用Blender制作机器人的三维模型

2.5 用Blender制作机器人的三维模型 在这一节中,我们将设计机器人的3D模型.3D模型主要用来进行三维仿真,采用Blender工具软件进行建模.Blender的版本必须要在V2.6以上,目前我们只在V2.6以上版本中测试过. Blender软件主界面上的工作空间和用于3D建模的工具栏如图2-14的屏幕截图所示. 我们选择用Blender这个工具的主要原因是,它可以用Python脚本语言进行机器人的3D建模.Blender有一个内置的Python解释器和脚本编辑器,用于代码编写.这里,我们

机器人系统设计与制作:Python语言实现2.1 服务机器人的设计需求

摘要 服务机器人的机械设计 本书的主要目的是通过设计和构建机器人,并使用Python语言对它进行编程实现来学习机器人技术.我们先来看看如何从零开始对机器人的机械结构进行设计.我们将要设计搭建的是一种服务机器人,它将用于酒店和餐馆为顾客提供食物和饮料. 在本章中,我们可以看到这个机器人将使用的各种各样的机械零部件.同时,还将学到如何组装这些机械零部件.我们可以使用CAD软件工具来设计和装配这些零部件,同时搭建一个机器人的3D模型进行模拟仿真. 酒店里使用的机器人一般会比较大,但在这里我们打算搭建一

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神 解决方案 用VC++新建一个程序,默认生成的main函数定义如下 int mian(int argc, char* args[]) 这就是一个例子. 解决方案二: 一个表示长度的参数,一个指向二维数组的指针 解决方案三: fun(args[][],int rows,int cols) 解决方案四: void Func(int array[][10]

C语言及程序设计提高例程-35 使用指针操作二维数组

贺老师教学链接  C语言及程序设计提高 本课讲解 使用指向二维数组元素的指针 #include <stdio.h> int main( ) { int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0]; p<a[0]+12; p++) { printf("%3d ",*p); } return 0; } 使用指向一维数组的指针 #include <stdio.h> int main(

机器人系统设计与制作:Python语言实现3.1 什么是机器人仿真

摘要 用ROS和Gazebo进行机器人仿真 在上一章中,我们了解了机器人的机械设计过程,并着手设计了机器人的2D和3D模型.在这一章中,将对我们设计的机器人进行模拟仿真.在进行仿真之前,要先来了解一下机器人仿真的作用,它存在的优缺点,以及各式各样的机器人仿真软件工具. 本章中我们还将讨论机器人的运动学和动力学参数,它会有助于您了解机器人的各项功能.在讨论了这些概念之后,将确定用于机器人仿真的软件平台.我们计划是在机器人操作系统(Robot Operating System,ROS)平台下,使用G

机器人系统设计与制作:Python语言实现1.1 什么是机器人

摘要 机器人学概述 你如果读过技术性比较强的书籍,就会发现此类书的开头第1章基本都遵循相同的结构.它会先向读者描述一下该书所选的主题多么有意义,开始阅读该书是做了一个多么正确的决定,以及在后续的章节中会有很多非常有意思的内容不断地吸引你一直看下去. 但本章并不是上述所说的这样一个章节.本章从下面这个观点开始: 机器人学是一门艺术. 对于这样一个鲜明的观点陈述,可能需要对它有更多更详细的解释,但是,我相信在读完本书并亲自动手搭建起属于自己的机器人后,你就不再需要更多的书面解释,在实践中就能逐步体会

机器人系统设计与制作:Python语言实现1.2 机器人从哪儿来

1.2 机器人从哪儿来 正如标题所示,本节要介绍的应该是机器人的历史起源.我们已经知道了一些非常重要的事实,比如"机器人"一词是由一位捷克作家Karel apek在1920年提出的,而且通过事实考证,在那几年里,还发生了很多更有趣的事情.为了讲述上更有序,让我们从头开始来看. 历史上很难准确地找出一个具体日期,说它就是第一个机器人诞生的时间.在此之前,我们对机器人已经有了一个相对严格的定义,因此一直等到20世纪,一个真正的严格意义上的机器人才出现.在那之前,我们充其量只是提到这个名词而

机器人系统设计与制作:Python语言实现1.4 如何制作机器人

1.4 如何制作机器人 如果我们试图从本章前面部分去简要抽象地了解机器人的组成部分,那么概括起来主要有以下三个过程:感知部分(由传感器完成).行动部分(通过执行器完成)和规划部分(如果一定要有的话,由控制器完成).我们可以通过给机器人配置不同的体系结构得到不同的功能属性,这主要取决于如何搭建连接这三个过程(这些构建模块也称为基元).下面,我们来说说三个非常基础的体系架构(也称为范例). 1.4.1 反应式控制 反应式控制应该算是最简单的一种机器人控制结构(或范例),它可以与前面描述的基元连接在一