跳转到内容

机器人/设计基础/设计软件

来自维基教科书,开放的书籍,为开放的世界

机器人学:设计基础:设计软件


在设计你的机器人时,有很多程序可以帮助你。从一个简单的工具来打印轮式编码器,到CAD绘图程序,再到机械仿真程序。

例如AutoCAD。这种类型的软件用于将粗略的草图转换成专业的漂亮图纸。这种类型的图纸是标准化的,以便于阅读。(也就是说,每种类型的线条都有特定的含义。实线是可见的边,虚线是隐藏的边,点划线是中心线。标准还包括尺寸标注方法和图纸中呈现的视图类型。)当然,你可以自由地使用自己的标准,但是使用行业标准,例如ANSI或ISO,可以更容易地与世界各地的其他人分享你的计划。虽然使用2D软件进行绘图可能稍微繁琐一些,但结果通常比使用3D实体建模软件更好。实体建模器仍然存在将3D模型转换为2D图纸并根据标准添加适当符号的问题。

实体建模

[编辑 | 编辑源代码]

首先

例如SolidWorks 或 Pro/Engineer Pro/Engineer (维基百科:Pro/ENGINEER)。一种新的绘制零件和机器的方式。使用实体建模,你可以用3D“构建”零件,将它们组合成一个装配体,然后让软件生成2D图纸(听起来比实际操作更难)。与2D CAD程序相比,其主要优势在于,你可以看到完整的零件/机器,而无需在现实生活中实际构建它。在模型中,错误很容易被发现和改正。这些3D模型还没有完全标准化,尽管存在数字数据的标准。目前,这种软件生成的2D图纸并不完全符合工业标准。2D纸质图纸仍然是工业界首选的沟通工具,清晰的意图非常重要。实体建模软件往往会生成过于复杂的绘图视图,并采用过于简化的尺寸标注方法,这些方法可能无法正确传达零件或装配体的配合、形状或功能。

气动和液压仿真

[编辑 | 编辑源代码]

费斯托 有气动和液压仿真程序的演示版本。查找FluidSIM Pneumatiek 和 FluidSIM Hydraulica。(选择国家;点击工业自动化;使用右侧的搜索栏。)
限制:无法保存或打印。大部分教学资料没有包含在内。

IRAI 提供电动/气动和液压仿真软件的免费演示版本:AUTOMGEN/AUTOMSIM。前往下载/AUTOMGEN7。

原理图绘制和PCB

[编辑 | 编辑源代码]

用于绘制电子原理图和设计印刷电路板(PCB)的软件。这些软件包包含用于绘制原理图的软件,带有符号的库,以及用于绘制PCB(带有自动布线器)的软件。

按任意顺序

  • 免费软件:Eagle 通常被初学者用于他们的项目,因为有一个有限的免费版本可用。工具集很好地集成,并且拥有庞大的业余爱好者用户群。但是,一旦你超过了基本设计,你需要为完整版本付费。
  • 开源:开源的 gEDA 项目 开发了一套成熟的电子设计应用程序,包括:原理图绘制程序、属性管理器、支持超过20种网表格式的网表生成器、模拟和数字仿真、带有自动布线器的PCB布局,以及Gerber查看器。该项目于1997年启动,旨在编写对个人机器人项目有用的EDA工具,但截至目前,这些工具也被业余爱好者、学生、教育工作者和专业人士用于许多不同的设计任务。该套件在Linux和OSX上运行效果最佳,尽管某些应用程序的Windows版本已经发布。
  • 开源:Free PCB 是一款成熟的Windows专用开源PCB绘图工具。

微控制器

[编辑 | 编辑源代码]

编程语言

[编辑 | 编辑源代码]

微控制器有很多不同的编程语言可用

  • 汇编:每个微控制器都可以用汇编语言编程。但是,微控制器之间的差异可能很大。汇编语言为微控制器提供了最大的功能,但这种功能是有代价的:难以学习,而且几乎没有代码重用。
    汇编代码本质上是翻译后的机器代码。它只提供处理器的指令集:加法、减法、可能乘法、在寄存器和/或内存之间移动数据、条件跳转。没有循环、复杂的判断或内置的I/O,如C/C++、Basic、Pascal等。
    缺点是你必须自己实现所有功能(即使是最简单的程序,也是大量的代码)。
    优点是你必须自己实现所有功能(程序可以在速度和尺寸上都实现极高的效率)。
    这种语言面向高级用户,通常仅用作对紧凑循环中的代码的优化,或者用于将性能有限的设备的性能发挥到极致。

    学习它的理由
    • 教你如何在最低层了解计算机的工作原理。
    • 提供高速代码,占用少量内存。

      避免它的理由
    • 用途有限。
    • 不可移植。
    • 非常难以掌握。
      免费软件:AVR
  • C:C语言提供了强大的功能,但比汇编语言更具可移植性。对于大多数微控制器,都有C编译器可用。在这里,微控制器之间的差异较小,除了使用硬件之外。
    学习C比学习汇编容易得多,但C并不是一种从头开始就容易学习的语言。然而,如今已经出版了很多关于这方面的优秀书籍。
  • Basic:对于许多微控制器,都有特殊的Basic版本可用。这是对微控制器进行编码最简单、最快捷的方式,但你需要牺牲一些功能。不过,现代Basic编译器可以生成非常出色的代码。
    • 有限的免费软件/付费软件:Bascom AVR 非常好的用于AVR的Basic编译器。限制为4Kb程序。还有一个版本可用于8051微控制器。
    • 有限的免费软件/付费软件:XCSB PIC Basic编译器。精简版。不支持32位整数和浮点数。(OS/2 WARP、Win95、Win98、Win2K、XP和Linux)
  • Forth
    • PFAVR(GPL)需要外部RAM。
    • ByteForth 是用荷兰语编写的,并且无需外部 RAM 即可运行。 还有一个用于 Ushi 机器人项目的构建手册(目前仅提供荷兰语版本)。

进一步阅读

程序员

[编辑 | 编辑源代码]

编写完程序后,需要将其加载到微控制器中。 如果你使用 C 或 Basic,则需要编译它。 然后使用编程器将代码上传到微控制器。 最后一步有几种不同的方法。

  • 外部编程器:这是一种连接到 PC 的设备。 你需要将微控制器 IC、EEPROM 或其他内存 IC 插入其插座,然后让 PC 上传代码。 之后,将 IC 插入电路并进行测试。 当调试后更新程序时,可能会很费时间。
  • ISP(系统内编程):带有微控制器的板具有一个特殊的连接器,用于连接到 PC。 连接电缆,下载代码,测试并重复。 更加现代的方法。 唯一的缺点:它会占用一些板空间。 并非所有微控制器都支持这种方法。
  • 引导加载程序,也称为“自编程”:CPU 通过任何可用的 PC 连接(无需特殊的连接器)接收新程序,然后对自己进行编程。 并非所有微控制器都支持这种方法。 并且你还需要其他一些编程方法,才能将初始引导加载程序编程进去(告诉它要监视哪个连接器以获取新程序、波特率等)。

调试器

[编辑 | 编辑源代码]

现代微控制器具有片上调试硬件,称为 w:JTAG

各种工具

[编辑 | 编辑源代码]

有关

  • 运动小程序 - 用于机器人运动的差速转向系统的路径建模。
  • 编码器设计器 - 用于编码器轮图案的设计工具。(维基百科:旋转编码器
  • RP1 - 一个移动机器人模拟器。
  • 地图查看器 - 用于移动机器人的地图工具。

以及用于机器人算法快速原型的“实验机器人框架”。[1]

进一步阅读

[编辑 | 编辑源代码]
  • CAD & Linux 列出了许多在 Linux 下运行的 CAD 工具,其中一些是 GPL 许可的。
  • Linux 在线:CAD/CAM 列出了许多在 Linux 下运行的 CAD 工具,其中一些是 GPL 许可的。
  • 实用电子/PCB 布局 提供了有关使用 PCB 设计软件的更多信息。
  • Urbiforge 提供了 Urbi 的免费下载链接以及有关如何使用 Urbiscript 的教程。 Urbi 是 AGPL 许可的。
华夏公益教科书