Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
预组装的机器人应该已安装腿部组件,但您可以通过微调关节的校准参数来进一步提高其性能。
校准前请确保您已上传 OpenCat 主功能固件。
在舵机通电和校准之前,您不知道它们上电后会指向哪里。 因此,如果您连接腿,腿将旋转到随机角度,并可能与机器人的身体或其他腿碰撞并被卡住。 如果舵机长时间卡住,则可能会损坏。
该机器人有一种称为“校准”的姿势,所有关节均设置为 0 度。 您可以设置机器人进入校准姿势状态,以便您知道所有关节都应该旋转到零度点(尽管您看不到,因为腿尚未连接到舵机输出轴的齿轮上)。 然后,您可以将身体组件逐个关节地连接到舵机输出轴的齿轮上,尽量保持相互垂直的关系(大腿与躯干垂直,小腿与大腿垂直,颈部安装时尽量保持头部正对正前方),如下图所示。
由于舵机输出轴的齿轮齿是离散的,因此不可能将支腿完美地对齐到直角。 因此,您需要在软件中微调偏移。
Nybble 和 Bittle 的关节校准原理是相同的。
进入校准状态需要做好以下几项准备工作:
将所有舵机线连接至主板
将电池连接至主板并开机(长按电池上的按钮可打开/关闭电源)
使用USB 适配器或蓝牙模块连接机器人与电脑或手机。
机器人的腿在启动时可能会指向未知的角度。 当进入校准状态时,关节将转动到零度位置。 您可以看到舵机输出轴上的齿轮旋转然后停止。 然后您可以连接腿部组件并在软件界面中微调关节偏转。 通过使用软件,有3种方式可以进入校准状态并对关节进行微调。
使用 Petoi 桌面应用程序
使用 Arduino IDE
完成关节校准后,安装中心螺钉,固定所有关节部件和舵机齿轮。
这里是介绍我们产品的文档中心。 我们会对产品硬件、软件进行快速迭代,将仿生机器人宠物推向世界。 请仔细阅读说明文档以配置您的机器人。 如果您需要任何帮助,请写信至 ,或在我们的论坛 上发帖。
📱🤖
感谢您选择 Petoi 的机器狗 Bittle 或 机器猫 Nybble。 本操作指南将帮助您设置机器宠物,并提供更简单的 UI 来对机器宠物进行校准、控制和编程。 对于高级用户,我们建议您使用 Github 上的 OpenCat 固件更新机器宠物,以获得最佳兼容性和最新功能。
该应用程序适用于 iOS 和 Android 设备。
iOS 11+
如果在国内无法访问 Google Play,您可以用下面的 apk文件直接安装。安装前需要解压缩。
如果蓝牙模块在闪烁而 app 中的蓝牙设备扫描列表为空,首先检查是否已打开了App 的蓝牙和位置权限,如果仍搜索不到设备,可以尝试安装前一稳定版本。
您需要将蓝牙模块插入 NyBoard 上的 6 针插座。 注意蓝牙模块的引脚顺序。 长按电池上的按钮,开启机器宠物电源。
在机器宠物启动后或者使用过程中,如果蜂鸣器重复发出短鸣音乐,说明电池电量不足,请及时充电。充电口位于电池的一端。
蓝牙模块上的 LED 闪烁表示等待连接。 打开应用程序 Petoi 并扫描以连接名称为 Bittle、Petoi 或 OpenCat 的设备。不要在手机系统设置中的蓝牙连接设置界面连接机器人! 请记住打开蓝牙服务并授予应用程序访问该服务的权限。
请记住打开蓝牙服务并授予应用程序访问该服务的权限。 在某些设备上,您可能还需要允许应用程序的位置服务,尽管我们没有使用任何这些信息。
应用程序将向蓝牙设备发送问候语,并期待 OpenCat 固件的响应。 在连接到应用程序之前,您需要在机器人上上传完整的 OpenCat 固件。 否则应用程序会认为它“不是 Petoi 设备”。 预组装的机器人应该已经上传了固件。 否则,您需要使用 Arduino IDE 或桌面应用程序对其进行上传固件。
如果蓝牙已连接,其 LED 将常亮。 机器宠物将演奏三音旋律。 如果稍后机器宠物没有响应或出现故障,请按 NyBoard 上的复位按钮重新启动 NyBoard 上的程序。
该应用程序会自动检测到使用了最新的 OpenCat 固件的 Nybble 或 Bittle。 否则,它将显示出 Nybble 或 Bittle 的选项供用户选择。 当然也可以在控制面板中点击打开右上角菜单,点击“选择宠物”重新访问该选项页面。
当您使用USB上载模块为NyBoard上传固件时,请先下载并安装USB串口驱动程序:
为机器人上传固件有以下两种方法:
最简单的方法是使用 Petoi 桌面应用程序,因为使用这种方法不涉及编程。 您可以上传一些预设模式。
如果您有一定的编程经验,可以使用 Arduino IDE 修改我们的开源代码。
如果您的机器人主板是NyBoard,请参考章节:为NyBoard上传程序
如果您的机器人主板是BiBoard,请参考章节:为BiBoard上传程序
无论用何种方法上传固件,请尽量使用有线上载器,因为蓝牙连接不够稳定,如果在中途受到干扰可能会导致引导程序崩溃。
通过遥控器来控制机器人非常简单。
遥控器不需要配对。使用前要拔掉塑料绝缘片,在使用时要把发射端对着机身后部的接收器。如果机器人无响应,您可以通过手机摄像头来检查发射灯。如果按键时灯不闪,您需要更换遥控器电池;如果灯闪,那可能是机器人主机上的程序没有配置好。
我们使用的是通用的红外线遥控器,按键发出的信号只与它的位置有关。对应符号有助于记忆,因此在程序代码中我们定义了与位置相关的符号来引用这些键,例如第 1 行第 1 列的 K00,第 4 行和第 3 列的 K32。
使用键定义的缩写可以减少 SRAM 的使用。因为遥控器上的按键有限,您可以更改它们的功能定义来调试新功能。
我们还为未来的批次制作了定制的遥控面板。 以前的用户可以下载设计文件并将其打印在 A4 纸上。
休息 关停舵机并使机器人趴下。如果机器人在做一些“怪异”的事,总可以按这个键让它停下。说到“怪异”我是认真的,机器人的头脑甚至连我也说不清;
在平衡站立姿势时,您可以从侧面推机器人,或者使它用后腿和尾巴站立,观察它如何试图在摇晃的平面上保持平衡。事实上,平衡算法在大部分姿态都是激活的;
前进、左转、右转可以使机器人以当前步态转向;
后退可以让机器后退,同时左右转也是可以的;
校准可以使机器人进入校准姿势并关闭陀螺仪;
踏步使机器人在原点踏步,验证装配和校准的精度;
爬、走、小跑是可以切换的不同步态,可以和方向键结合;
小跑后的按键是一些预设的姿势或行为;
陀螺仪 打开/关闭用于平衡反应的陀螺仪。关闭陀螺仪可加速使原来缓慢的步态更快更稳,但不推荐用于原来就快速的步态(小跑);
拎着机器人脊柱的中间把它悬在半空,这样它的腿可以自由运动。试试遥控器上的所有按钮,看看机器人有什么反应,然后把机器人放到水平的桌上,再试试这些按钮。不同的平面摩擦力可能对机器人的运动造成影响,比如地毯对于机器人的小短腿就好像杂草对于我们的腿一样,这种地形上就比较适合用爬行;
您可以下拉电池盒并沿着机器人肚子的中轴线滑动,这样可以调节重心位置,改善某些快速步态的表现;
机器人可以在一个小角度(<10度)的坡面上行走。
我们人类和许多其他有腿动物都有很多关节。 这些关节让我们能够以多种方式自由行动。 尽管很难在机器人上重现这些复杂的运动,但我们可以将所有这些关节简化为有限数量的执行器。
当控制这么多关节时,首先要做的就是对它们进行索引。 我们可以根据它们与躯干的距离来定义顺序。 例如,肩关节比肘关节更靠近躯干,而让我们环顾四周的关节比让我们点头的关节更靠近躯干。 如果我们有尾巴,那么与肩关节相比,它就会像头部一样接近躯干。
所以我们可以这样对关节进行排序:头部平转、头部倾斜、尾部平转、尾部倾斜、4x 肩部(或臀部)开合、4x 肩部(或臀部)俯仰、4x 肘部(或膝盖)。 对于同一距离组中的关节,如果从后面看身体,我们可以从左前角顺时针索引它们。
当我们将这些关节映射到特定的机器人时,索引变得更加实用。 NyBoard 上关节伺服引脚的排列顺序如下:关节舵机引脚排序规律:
舵机插头有3根线。插入的方向很关键,插错可能会烧坏主板!!!
舵机线缆的颜色可能会有批次差别,但其中最暗色的(黑色或棕色)按惯例总是地线( GND)。地线要插到贴近主板的一端。
图中关节舵机的序号只与主板上的PWM管脚的位置相关。按照图示接线,不需要阅读 PCB 板上的舵机引脚号。
如果您想通过无线连接的方式在 Petoi 桌面应用程序中使用关节校准、技能创作坊,或者在 Mind+中使用编程积木块,您需要首先将主板的蓝牙与电脑进行配对。
通过电池开启主板(将电池插入主板,并长按电池按钮 > 3 秒);开启后,主板上的蓝色 LED 和黄色 LED 应该亮起。
对于 Windows,打开蓝牙和其他设备设置页面,并按以下步骤开启蓝牙按钮:
添加 BiBoard 蓝牙模块,首次操作如下:
选择名为 Bittle**_BLE 的选项
成功配对后,显示:
检查即将在 Mind+或 Petoi 桌面应用程序的更多蓝牙选项中使用的输出串行端口:
不要添加名为 Bittle**_SSP 的自动生成 PIN 码的那个 点击“取消”按钮退出。
在Mind+中进行测试
请参阅 NyBoard 的蓝牙模块。
以下是用户首次使用App校准时的显示界面。
预组装版本的机器人应该已经正确安装了腿,但没有进行微调校准。
校准前请确保您已经上传了OpenCat主功能固件 。
如果您使用未组装的套件构建机器人,请在校准之前不要安装腿组件。 您还需要安装电池并长按电池上的按钮为机器人供电。
进入校准界面,点击“校准”按钮,所有舵机输出轴立即转动到校准位置。
校准时请使用随附的 L 形工具作为参考:
先从“校准”界面图片中选择关节舵机索引号(调整腿部舵机时,先调整大腿,后调整小腿),然后单击 “+” 或 “-” 按钮,将关节微调至直角状态。
您可以通过点击休息、站立、行走按钮来回切换状态,测试校准效果。
校准好后,切记要点击“保存”按钮,保存校准偏移量。 否则,单击左上角的 “<” 放弃校准。
如果您之前已经添加了 BiBoard 蓝牙,在关闭并重新启动机器人后,您应该按照以下步骤从列表中移除两个设备: 然后重新执行第 3 步。
使用 Petoi 桌面应用程序进行精细校准。
预组装版本的机器人应该已经正确安装了腿,但没有进行微调校准。
校准前请确保您已经上传了OpenCat主功能固件 的2.0版。
如果您使用未组装的套件构建机器人,请在校准之前不要安装腿组件。 您还需要安装电池并长按电池上的按钮为机器人供电。
USB上载器正确连接后(连接方法请参考USB上载模块相关章节),或使用蓝牙模块(连接方法请参考双模蓝牙模块相关章节)连接。
打开Petoi Desktop App(Windows:UI.exe / Mac:Petoi Desktop App),选择 产品 和 语言。点击“关节校准”按钮,打开校准界面:
点击“校准位”按钮,所有舵机输出轴立即转动到校准位置。
2. 在校准过程中请使用随附的 L 形工具作为参考:
根据界面中间图示中的关节索引号(校准舵机时,先调整大腿,再调整小腿)。 拖动相应的滑块(在索引号下方),或点击滑块轨道的灰色部分将关节微调至直角状态。
您可以通过点击休息、站立、行走按钮来回切换状态,测试校准效果。
校准完成后,记得点击“保存”按钮保存校准偏移量。 否则,单击“放弃”按钮放弃校准数据。 当然您也可以在校准过程中随时保存,以防连接发生中断丢失数据。
Petoi 桌面应用程序为您提供简洁的图形用户界面来配置固件、校准机器人并可以为您的机器人设计自定义动作。 主要功能模块是固件上载、关节校准和技能创作坊。
源代码主要采用 Python3 中的 Tkinker 模块编写,GitHub 代码仓库地址是: https://github.com/PetoiCamp/OpenCat/tree/main/pyUI
其中 UI.py 是所有模块的总入口:
UI.py 调用:
-> FirmwareUploader.py
-> Calibrator.py
-> SkillComposer.py
translate.py 为 UI 提供多语言支持。 您可以帮助我们将 UI 翻译成您的语言。 在运行应用程序之前,您必须使用随附的 USB 适配器或蓝牙模块连接到 Petoi 机器人。
您可以使用预编译的可执行程序文件,就不需要使用编程界面了。
下载 Mac 版本后,您必须将其拖到 Application 文件夹中。
如果您看到“Petoi Desktop App”由于无法验证开发者而无法打开的错误消息,您可以右键单击该图标,按住 Shift 键并单击“打开”。
如果此应用程序在运行时出现兼容性问题,或者您想修改应用程序的源代码并进行测试,您也可以在Terminal 中运行程序。 Terminal 是 Mac 或 Linux 系统中的内置界面,Windows 系统中的等效环境称为命令行工具 (CMD)。 建议您安装 Anaconda 来管理您的 Python 环境,它还可以提供 Powershell 作为旧 Windows 系统中的Terminal 。
根据您现有的 Python 配置,您可能需要升级到 Python3 并安装以下库:
pyserial
pillow
您可以通过在Terminal 中输入 pip3 install pyserial pillow
或使用 Anaconda 中的包管理器来安装它们。 运行程序步骤如下:
在终端中,使用 cd
命令导航到 OpenCat/pyUI/ 文件夹, 其间您可以使用 Tab 键自动补充完成路径名
进入 pyUI/ 文件夹后,输入 ls
查看此路径下的所有文件,确保可以看到列出的 UI.py 和其他 python 脚本文件
输入 python3 UI.py
即可开始运行Petoi 桌面应用程序
从版本 1.2.1 开始,Petoi 桌面应用程序新增了一个功能模块——调试器。此模块提供了方便的调试工具来解决机器人出现的小问题。
用于重置语音命令模块,简化其调试过程。如果语音模块没有响应您的语音,您可以使用此工具来重置它。使用很简单:先将语言设置为“中文”,然后点击“重置语音模块”按钮。
点击按钮后,请按照消息框中的提示说明操作。
点击“是”按钮后,如果语音指令模块被重置成功,将弹出以下消息提示框:
如果问题仍然存在,请发送电子邮件至 support@petoi.com。
在控制面板中,您可以控制机器人执行各种姿势、行为和步态。
内置的姿势和行为可以通过按下“默认动作”区域的按钮来触发。 建议不要过于频繁和重复地按下按钮。 给机器宠物一些时间来完成它当前的任务。
长按按钮并拖动,可以改变按钮位置;双击命令按钮可以对它进行编辑;您还可以通过按 “+” 按钮增加自定义的单一命令或者组合命令;
按下创建命令按钮后,你将看到以下命令编辑界面:
进入编辑状态后,显示一个精简的串口命令控制台(如上图所示),可以用来测试串口命令,控制机器人做各种动作。
您可以在代码文本框中输入以下常用的串口指令:
* 扭头 (旋转脖子舵机角度)
* 左右扭动头部(移动 关节1 角度1 关节2 角度2 .... 角度为-127~128)
* 坐
* 按顺序依次移动关节
* 同时移动多个关节
以下是关节的索引供您参考。仔细观察排序的模式并试着记住它们。
* 显示当前关节角度
* 长“喵”一声 (Nybble)
* 短“喵”三声 (Nybble)
* 播放短音(蜂鸣音 持续时间,持续时间为 0~256)
* 播放旋律(b音调 1 持续时间 1,音调 2 持续时间 2,音调 3 持续时间 3,.... 仅允许 64 个字符,其中持续时间为数字的倒数,即记谱法中的“几分之一音符”)
您可以使用通讯软件(比如微信)或电子邮件将电脑中创作的技能文件发送到您的手机,并使用 Petoi 应用程序在手机上打开该文件。此操作将自动为新技能创建一个按钮, 打开控制面板就可以看到。
按下创建组合命令按钮后,您可以看到以下界面:
您可以在“名字”文本框中为组合命令组命名,并通过单击“指令库”选择框中的命令按钮将命令添加到“组合指令”列表中。 在组合指令列表中,您可以按住单个指令的按钮并拖动来更改单个指令的位置。
单击删除按钮,可以删除此组合指令。
左侧面板设置机器宠物的步态和方向,并发送组合命令,例如“向左走”和“向前小跑”。 只有选择了初始步态和方向,机器宠物才会移动。 选择“踏步”,机器宠物只是原地踏步,当选择了“爬”,“行走”,“小跑”步态后,单击方向按钮“向后”之后,接着按“左”(或者“右”)按钮,可以让机器宠物向左后退(或者向右后退)。 暂停按钮 “||” 将暂停机器宠物的运动并关闭所有的舵机,以便您可以将关节旋转到任何角度。 “加速器”按钮()用来打开/关闭 陀螺仪,这是一个检测机器宠物身体姿势的传感器。 开启它会使机器宠物不断调整身体角度,并且会知道它何时摔倒。 关闭它会减少计算,可以让它走得更快更稳定。
更详细的命令说明表格请参考文档中心章节。
Github中的是OpenCat 机器人的新技能的集合,可以供您参考。您可以用手机浏览器访问OpenCat工程的GitHub页面,打开技能文件(比如 ),将其分享到手机应用,如下图所示,即可通过命令按钮来执行此技能。
同时欢迎您通过向发送合并请求来分享您的新技能。
单击Test或播放() 按钮可以测试组合指令的执行效果。在组合命令执行过程中,单击暂停( )按钮, 可以中断执行流程。
我们会不断改进应用程序,并会在可用时通知您更新。 如果您对该应用程序有任何疑问,请写信至 。
NyBoard相当于一块通用的Arduino Uno板,具有丰富的外设。 除了原生 Arduino IDE 之外,您还可以使用 Mind+ 积木块对其进行编程。 但要注意,如果使用此模式,原有的 OpenCat 固件会被覆盖,稍后需要重新上传固件才能恢复默认的机器人功能。
设置编码环境很简单,具体步骤如下:
本指南适用于初学者。 让您更轻松地开始使用机器人(Nybble / Bittle)。
电脑端桌面应用程序 Petoi Desktop App 适用于 机器人 Nybble 和 Bittle,机器人主板 NyBoard采用Arduino UNO ATmega328P主控芯片, 主板 BiBoard 采用 ESP32 主控芯片。
NyBoard
NyBoard 主板型号(版本信息),请见主板上的丝印。
注意:
有时,如果您无法启动Bittle / Nybble,比如在串口连续打印:Init IMU\r\n,
则可能是您不小心将开关拨到了“RPi”端。
在上传固件前,请确保不要在主板的I2C接口连接任何I2C设备,否则会导致固件上载失败。I2C接口位置如下图示(红框内):
BiBoard
BiBoard 主板型号(版本信息),可参考图示位置:
对于NyBoard,固件上传主要是调用应用程序 avrdude 来为主板上传固件文件。
对于BiBoard,固件上传主要是调用应用程序 esptool 来为主板上传固件文件。
对于Linux系统用户,除了上述步骤,你还需要执行以下步骤:
1. 安装 avrdude
Fedora : dnf install avrdude
CentOS : yum install avrdude
Debian / Ubuntu : apt install avrdude
2. 修改FirmwareUploader.py中的变量 avrdudeconfPath
Fedora / CentOS : avrdudeconfPath = '/etc/avrdude/'
Debian / Ubuntu : avrdudeconfPath = '/etc/'
USB上载器正确连接后,打开 Petoi Desktop App(Windows:UI.exe / Mac:Petoi Desktop App / Linux: Petoi-opencat),选择 产品 和 语言。
注意:1.0 版软件无法与 关节校准、技能创作坊 及其他 API 一起正常工作。此版本固件仅在您需要使用 CodeCraft(我们的合作伙伴 TinkerGen 提供的图形化编程工具)时使用。
单击“上传”按钮后,上传过程立即开始。 底部状态栏会实时显示当前进度,以及关键流程的结果。
参数固件上传成功后,主板开始自动运行配置程序。 会依次弹出一些消息窗口供您确认或取消:
舵机校准参数清零? (Y/N)
选择点击“是(Y)”,程序会将所有舵机校准参数清零,状态栏会实时更新相应的过程和结果。
选择点击“否(N)”,程序将跳过此步骤。
2. 校准 IMU? (Y/N)
选择点击“是(Y)”,程序会校准陀螺仪(IMU),状态栏会实时更新相应的过程和结果。
选择点击“否(N)”,程序将跳过此步骤。
注意:
在点击“是(Y)”按钮之前,请确保将 主板 水平放置。
首次上传不同的版本固件时,请务必点击“是(Y)”按钮!
完成所有步骤后,将弹出一个消息窗口,显示“参数初始化完成!” 您需要确认进行第二轮上传主程序固件。
校准舵机驱动芯片
在校准 IMU后有一步可选的操作来校准舵机驱动:
您可以通过校准舵机驱动芯片(PCA9685 chip)来让角度控制更加精准。用一根跳线连接 PWM 引脚3(舵机控制脚的信号脚之一 )和 Grove 引脚 A3,并把线按稳。
您不需要专门的跳线来完成这一步。任何能连通引脚的细金属线都可以,比如拉直的回形针。
程序会测量信号脉宽,在连续三次测量到相同读数后自动校准芯片。校准修正值会被存入控制板并在下次启动时生效。然后您可以继续进行下一步。
如果机器人的某个舵机停止转动,但将电池断电重启后又能转动,很可能就是因为舵机驱动信号不准,这一步就不可跳过。
主程序固件上传完成后,状态栏会更新固件上传成功或失败等相应结果。 如果上传成功,则会弹出“固件上传完成!”消息窗口。
如果您有 Arduino IDE 编程经验,可以参考使用 Arduino IDE 上载程序固件。
关于NyBoard更详细的规格参数请参考 或 或 NyBoard V1_2 (电子原件布局与 NyBoard V1_2 相似)。
关于BiBoard更详细的规格参数请参考 。
将I2C开关(SW2)拨到“Arduino”
具体步骤可参考部分。