使用 Leaf 编程 AI/Leaf 附加组件:SD84 伺服控制器
外观
目前,Leaf 只能控制两个 Phidget USB 伺服电机。这些通常用于倾斜和旋转 Leaf 的摄像头。在为 SD84 控制器添加代码之前,没有简单的方法为 Leaf 机器人添加更多伺服电机。如果您想尝试为您的 Leaf 机器人添加关节式手臂或腿,这将是一个很大的问题。
SD84 是一个 84 通道伺服控制器,可以驱动多达 84 个 RC 伺服电机。它可以保持 20 毫秒的刷新率。它允许分别控制每个伺服电机的速度和位置。它拥有 USB 接口,使其连接起来相当容易。
Devantech,这款伺服控制器的制造商表示,“...这是一款出色的动画机器人控制器。”
本文档仅介绍 Windows xP 计算机的安装。
与大多数硬件设备一样,在安装软件之前,请勿连接硬件!
SD84 模块使用 FTDI FT232R USB 芯片处理所有 USB 协议。必须下载并安装驱动程序。
- 从此处下载 FTDI (CDM20814_WHQL_Certified 32 bit) USB 驱动程序
http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
- 解压缩并安装。
- 将 SD84 模块插入备用 USB 端口。(一个黄色 LED 将亮起。)
- 通过右键单击“我的电脑”桌面图标并选择“设备管理器”选项卡,找到分配给它的 COM 端口。选择“端口(COM & LPT)”选项卡。“您应该看到列出的 USB 串行端口。要更改 COM 端口号,右键单击它,选择属性,选择高级,然后从可用列表中选择 COM 端口号。在 Windows XP 中,选择“开始”,然后右键单击“我的电脑”,然后选择“属性”,然后选择“设备管理器”选项卡。”
- 写下端口号!
- 编辑 COM 端口参数,使其设置为 115200 波特率、8 个数据位、无奇偶校验和两个停止位。
- 根据需要选择“确定”关闭所有打开的窗口。
- 关闭设备管理器窗口。
- 此时,您应该已将 SD84 板连接到计算机上的备用 USB 端口。(一个黄色 LED 将亮起,表示它已通电。)
- 将一个 RC 伺服电机插入伺服电机端口 1(USB 连接器左侧第一个)。
- 将 5 到 6 VDC 连接到 USB 连接器左侧第一个接线端子。这将是您的伺服电机的电源。SD84 仅接收来自 PC 的信号。每组 4 个伺服电机的电源必须分别连接到 SD84 板。
- 从以下地址下载 SD84 演示程序:
http://www.robot-electronics.co.uk/files/sd84.exe
- 启动它。
- 将其设置为之前写下的 COM 端口号。
- 将“当前活动通道”设置为“1”。
- 左右移动伺服电机位置小部件。当您移动位置小部件时,伺服电机轴应转动。
- 从 Leaf 网站下载 Alex 的最新 SD84 zip 文件并解压缩。
http://www.leafproject.org/software/Utilities/SD84%20release%20%2010-30-10%20ver%201011.zip
- 将 SD84.dll 和 SD84Monitor.exe 的单个副本分别放在 System32 文件夹(通常为 c:\Windows\System32)中(适用于 XP、Vista 或 Windows 7 的 32 位版本),以及 SysWOW64 文件夹中(适用于 64 位版本)。
- 在桌面上放置一个指向 SD84Monitor.exe 的 Windows 快捷方式。您需要运行 SD84Monitor.exe 才能使用 SD84 板。
- 将 SD84.ini 的单个副本放在 Windows 文件夹(通常为 c:\Windows)中。提供的示例 .ini 文件适用于以下测试程序,但必须修改以匹配您自己的硬件接口集。
- 将 SD84.ini 文件中的 comport 编号更改为与计算机中的端口分配匹配。您可以在设备管理器中找到它。如果 comport 是一个数字,您可以按示例 SD84.ini 文件中所示的指定它,例如“ComPort = COM5”。但是,如果端口是两位数,请指定为“ComPort = \\.\COM15”。
- 如果 LispWorks 尚未运行,请启动它并打开 Leaf Interfaces.lisp。
- 将 LispPatch.txt 中的所有文本复制到 Leaf Interfaces.lisp 文件。一个合适的位置是 Phidget 伺服电机接口代码之后。
- 保存文件。
- 像往常一样编译和加载 Leaf Interfaces.lisp 文件。
- 安装“Microsoft Visual C++ 2010 Redistributable Package (x86)”。
http://www.microsoft.com/download/en/details.aspx?id=5555
- 通过启动 SD84test.exe(位于您从 Leaf 网站下载的 .zip 文件中)来测试您是否可以运行 SD84 监视器软件。(注意:监视器程序 SD84Monitor.exe 应该位于 System32 文件夹中,并且必须运行才能使用 SD84 板。)
- 在 Leaf.lisp 文件的 InitializeSystems() 函数末尾插入 SD84Initialize,如下所示。请记住将闭合的右括号从当前文本中移动,并将其放在添加内容之后。
;; 已安装 SD84 I/O 板
(SD84Initialize "" 1))
- 将以下代码粘贴到 Leaf.lisp 文件中的“打印 Hello”下方
- 打印 Hello
(format t (concatenate 'string "Hello! My name is " robot " ~% ~% ~%")) (SD84SetRCPosn 1 1000) (sleep 2) (SD84SetRCPosn 1 2000) (sleep 2) (SD84SetRCPosn 1 1000) (sleep 2) (SD84SetRCPosn 1 2000) (sleep 2)
- 编译并加载 Leaf.lisp。
- 如果监控程序 SD84Monitor.exe 未运行,请启动它。
- 在 Listener 窗口中启动 Leaf "(leaf)"。
- 然后,你的伺服器应该来回旋转两次。