跳转到内容

Cyberbotics机器人课程/入门

来自Wikibooks,开放世界中的开放书籍

本章的第一部分(实践部分说明)解释了如何使用本文档。它介绍了实践部分的形式化,即术语、使用的图标等。

以下部分将帮助您配置环境。为了尽可能地利用本文档,您需要Webots、一个e-puck以及它们之间的蓝牙连接。但是,如果您没有e-puck,您仍然可以练习很多练习。在开始练习之前,您需要设置这些系统。因此,请参考以下部分

如果您想进一步了解Webots,您可以参考在线用户指南 用户指南参考手册

实践部分说明

[编辑 | 编辑源代码]

在实践部分中,您会发现不同的符号。它们具有以下含义

 : 当出现此符号时,欢迎您回答问题。这些问题与当前练习或更一般的主题相关。它们由一个具有以下形式的数字引用:“[Q.+问题编号+]”。例如,练习的第三个问题将具有[Q.3]编号。

 : 当出现此符号时,将邀请您进行练习。例如,您将必须对您的机器人进行编程以获得特定的行为。它们由一个具有以下形式的数字引用:“[P.+问题编号+]”。

 : 当出现此符号时,仅邀请使用Linux操作系统的用户阅读以下内容。请注意,本课程是使用Ubuntu Linux编写的。

 : 同上适用于Windows操作系统。请注意,本课程也使用Windows XP编写。

 : 同上适用于Mac OS X操作系统。

本文档的每个部分对应一个练习。每个练习标题以方括号中的级别结尾(例如: [新手])。当练习标题、问题编号或实践部分编号由星号包围(例如:*[Q.5]*),则表示此部分是可选的,即此部分对于问题的整体理解不是必要的,但建议用于积累您的知识。它们也可以后跟[挑战]标签。此标签表示此部分比其他部分更难,并且是可选的。

获取Webots并安装

[编辑 | 编辑源代码]

获取Webots最简单的方法是访问以下网站

https://www.cyberbotics.com/doc/guide/installing-webots

在那里,您将找到关于Webots及其安装的所有信息。

获取练习文件

[编辑 | 编辑源代码]

如果您的Webots版本为6.1.3或更高版本,则课程包含在Webots安装中。您可以在此目录中找到它

(WEBOTS_HOME)/projects/samples/curriculum

蓝牙安装和配置

[编辑 | 编辑源代码]

首先,您的电脑需要一个蓝牙设备才能与您的e-puck通信。这种设备通常集成在现代笔记本电脑中。此设备的安装不在本文档的范围内。但是,需要正确安装它。因此,请参阅其安装手册或制造商的网站。本文档仅解释了您的电脑和e-puck之间蓝牙连接的配置。此连接模拟串行连接。请参阅您的相应操作系统

首先,您的Linux操作系统需要一个较新的内核。此外,必须安装以下软件包bluez-firmware, bluez-pinbluez-utils[1]

命令lsusb(或lspci根据您的蓝牙硬件)和hciconfig通知安装是否成功。

打开您的e-puck(使用ON-OFF开关)并执行以下命令

> hcitool scan

Scanning ...

  00:13:11:52:DE:A8 PowerBook G4 12"

  08:00:17:2C:E0:88 e-puck_0202

最后一行对应您的e-puck。它显示了它的MAC地址(08:00:17:2C:E0:88)和它的名称(e-puck_0202)。e-puck的编号(0202)应与其贴纸上的编号一致。

编辑/etc/bluetooth/hcid.conf并将安全参数从“auto”更改为“user”。

编辑/etc/bluetooth/rfcomm.conf配置文件并添加以下条目(或修改现有的rfcomm0条目)

rfcomm0 {

  bind yes;

  device 08:00:17:2C:E0:88;

  channel 1;

  comment "e-puck_0202";

}

rfcomm0是连接的名称。如果使用了多个e-puck,则按条目输入(rfcomm0, rfcomm1等),与机器人的数量一致。device标签必须对应e-puck的MAC地址,comment标签必须对应e-puck的名称。rfcomm0是此连接的名称。

执行以下命令

> /etc/init.d/bluez-utils restart

> rfcomm bind rfcomm0

尝试建立连接时,将要求您输入PIN(个人识别码)(由bluez-pin)。此PIN是一个4位数字,对应于e-puck的名称(或ID),即,如果您的e-puck名为“e-puck_0202”,则PIN为0202。

您的连接将在Webots中命名为“rfcomm0”。

此部分[2] 是使用Windows XP编写的。其他版本的Windows可能存在一些差异。

安装蓝牙设备后,您的桌面上会出现一个名为“我的蓝牙位置”的图标。如果没有,请右键单击系统托盘中的蓝牙图标,然后选择“开始使用蓝牙”。双击“我的蓝牙位置”图标。如果您第一次使用“我的蓝牙位置”,此操作将打开一个向导。按照此向导的说明操作,直到到达向导第一个图中显示的窗口。如果您已经使用过“我的蓝牙位置”,请单击“蓝牙设置向导”项。此操作将打开此窗口。

向导的第一个窗口

在此第一个窗口中,选择第二个项目:“我想查找特定的蓝牙设备并配置这台计算机如何使用其服务。”。使用ON/OFF开关打开您的e-puck。e-puck上的绿色LED灯应亮起。单击“下一步”按钮。

第二个窗口将搜索所有可见的蓝牙设备。一段时间后,必须出现一个代表您的e-puck的图标。选择它并单击“下一步”按钮。

搜索蓝牙设备

此操作将打开安全窗口。在这里,您必须选择四个数字来确保连接安全。选择与您的e-puck相同的数字(如果您的e-puck名为“e-puck_0202”,则选择0202作为PIN)并单击“开始配对”按钮。

安全窗口

打开的窗口(也在图中)使您能够选择要使用的服务。选择COM1(添加勾选)。如果没有服务,可能是因为电池电量过低。此操作将打开一个新窗口(请参见下图)。在这里,您可以选择用于通信的端口。例如,选择“COM6”。

服务选择

最后,单击“完成”按钮。

配置COM端口

最后,在“我的蓝牙位置”窗口(也在图中显示)中,右键单击“e-puck_0202 COM1”图标并选择“连接”项。

我的蓝牙位置

您的连接将在Webots中命名为“COM6”。

如果您已正确安装蓝牙设备,则系统偏好设置中应该会出现一个蓝牙图标。单击此图标,然后单击“已配对设备”选项卡。打开您的e-puck。e-puck上的绿色LED灯应亮起。然后,单击“新建...”按钮。它应该打开一个新窗口,扫描可见的蓝牙设备。一段时间后,您的e-puck名称应该出现在此列表中。在列表中选择e-puck,然后单击“配对”按钮。系统会要求输入密钥。它是e-puck上编码的4位数字。例如,如果您的e-puck在贴纸上标有数字43,则密钥为0043。输入密钥,然后单击“确定”按钮。

配对完成后,您需要指定一个串行端口以便与Webots通信。因此,单击“串行端口”选项卡。通过“新建...”按钮,创建一个名为COM1的输出端口。最后,退出蓝牙窗口。

您的连接将在Webots中命名为“COM1”。

打开Webots

本节说明如何启动Webots。当然,这取决于您的环境。因此,请参阅您相应的操作系统

打开终端并执行以下命令

> webots &

您应该会看到模拟窗口出现在屏幕上。

从“开始”菜单中,转到Program Files | Cyberbotics菜单,然后单击Webots(+版本)菜单项。您应该会看到模拟窗口出现在屏幕上。

打开解压缩Webots软件包的目录,然后双击webots图标。您应该会看到模拟窗口出现在屏幕上。

E-puck先决条件

E-puck有一个嵌入其硬件中的计算机程序(称为固件)。此程序定义了机器人启动时的行为。

使用Webots和e-puck有三种可能的方式

  • 模拟:通过使用Webots库,您可以编写程序,编译它并在虚拟3D环境中运行它。
  • 远程控制会话:您可以编写相同的程序,像以前一样编译它,并通过蓝牙连接在真实的e-puck上运行它。
  • 交叉编译:您可以编写相同的程序,为e-puck处理器交叉编译它,并将其上传到真实的机器人上。在这种情况下,以前的固件将被您的程序替换。在这种情况下,您的程序不依赖于Webots,并且可以在e-puck重启后继续运行。

在远程控制会话的情况下,您的机器人需要特定的固件才能与Webots通信。

要将最新的固件(或其他程序)上传到真实的e-puck上,请选择菜单工具 | 上传到e-puck机器人...如图所示。然后,一个消息框要求您选择要使用的蓝牙连接。选择与e-puck链接的连接,然后单击“确定”按钮。e-puck上的橙色LED将亮起。然后,一个新的消息框要求您选择要上传的文件。选择以下文件,然后单击“确定”按钮

...webots_root/transfer/e-puck/firmware/firmware-X.Y.Z.hex

其中X.Y.Z是固件的版本号。然后,如果固件(或旧版本)尚未安装在e-puck上,则在显示图中所示的窗口时,必须重置e-puck。

上传程序到e-puck的工具位置
当此窗口出现时,必须通过按下其顶部的蓝色按钮来重置e-puck


注释

华夏公益教科书