李荣仲
为使本文档简明易用,我侧重于组装步骤而非原理剖析。如果您对“为什么”更感兴趣,欢迎来我们的论坛https://www.petoi.com/forum发帖,或写信给info@petoi.com和我讨论。
我们已在Indiegogo(igg.me/at/nybble)上众筹成功并在官网持续销售狸宝套件,国内淘宝包邮。我们的社交网络(B站/Instagram/推特/脸书/GitHub)帐号为@PetoiCamp,欢迎通过标签 #nybble #petoi #opencat 分享您的组装成果或心得,我们会转发的!
最近更新: 07/24/2022
“磨刀不误砍柴工” 🪓
准备一张整洁的工作台,和一些小盒子以盛放物料。事先给套件内容拍个照以备后期参考。
最好在没有地毯或马赛克瓷砖的房间组装,小螺钉和弹簧往往“遇土则入”。🐒
工具 | 备注 |
美工刀 | 用于取下结构件 |
砂纸 | 抛光毛刺 |
平头和十字螺丝刀 | 适用M2螺丝(直径2mm) |
电脑 | 下载 Petoi 桌面应用程序 安装最新版Arduino IDE |
USB-micro USB线缆或USB-TypeC线缆 | 连接开发板和电脑 |
2节14500 3.7V锂离子电池 | 不要和普通5号电池弄混了! |
锂电池智能充电器 | 用错充电器可能酿成事故! |
“生活就像一盒巧克狸宝” 🔍
实际套件内容和包装方式可能会随生产批次略作调整,但本说明书的命名空间将保持一致。
最新版本:
早期版本:
结构件在激光切割过程中可能会残留焦油污渍,可用湿纸巾整体擦拭基板正反面。
有用的结构件都通过细小的连接固定在基板上。虽然很容易用手推出,但我们仍推荐您用小刀切断连接,以免在掰扯中导致木质沿纤维方向开裂。
结构件可随用随取,以免凌乱。在取出所有结构件后,您可以试着弯曲和折断残留的基板框架,以感受木质胶合板的机械强度、弹性及各向异性。这有助于增强手感,在后续的组装过程中提高信心。
用砂条除去结构件上可能残存的毛刺以防扎手,但不要过度打磨,否则会影响组装的紧度。
套件中有5种螺丝,示意图中用不同的颜色来更好地标注它们在结构上的位置。并不是所有配送的螺丝都会用完,也不是所有结构件上的孔洞都需要螺丝。请仔细观察组装动画中的螺丝分布。
A用于锁定舵机臂和舵机输出轴。A和D在随舵机的附件包中。
B(尖头)用于把电路板固定到骨架上,但在后续版本中已经被螺丝C取代了。
C(平头)用于固定大腿的对夹结构。如果觉得C的平头很难钻进一些小的孔洞中,可以用D的尖头预先扩孔。
D(尖头)用于把舵机固定到结构件上。
E(最长的那两根)用于安装电盒。
在最早期的批次中,B、C和E是封装在如下图的基板上的。
有三种弹簧:F,G,H。
最粗长的弹簧F用于大腿中的缓冲结构,会有一个额外的备用件。
粗短的弹簧G装在脖子下面,后来也被F取代了。
细短的弹簧H(两根)用于电池盒的悬挂结构。
之前我们使用辉盛的MG92B作为肩关节,MG90D作为其他关节。回国后我们优化升级了舵机方案,仅在电缆长短上有所区分。短线舵机(6个)用于摇头、尾、肩等离躯干近的关节,长线舵机(5个)用于点头和膝关节。同时我们细调了舵机的各项参数以更适合狸宝的使用场景。
业余模型舵机有一些重要的参数指标,如下表:
齿轮 | 信号 | 协议 | 电压 | 马达 | 轴承 |
塑料 | 模拟 | PWM | 5V | 有刷 | 无 |
合金 | 数字 | 串口 | 高压(8V) | 空心杯 | 有 |
无刷 |
在狸宝套件里,我们配套了订制的合金齿、数字PWM、高压铁芯马达的带轴承的舵机。对于完全DIY的玩家,其他通用舵机仍然适用于OpenCat的控制框架,但是需要更多的调试以达到最好的性能表现。
"整体大于局部的堆砌" 🔩
您可以快速地看一下整体的组装流程,部分更新的元件会在文字部分有说明。
超声波测距避障算法尚未整合进已发布的代码中,下列步骤仅为玩家提供一个起点,对于实现Nybble的基本功能非必要操作。
我们使用一块ODM的内置 RGB 灯超声波模块。它不需要焊接,但你需要把配送的连接头部的插线卡扣削掉才能装进头里。
示例代码:
示例https://github.com/PetoiCamp/OpenCat/tree/main/ModuleTests/testRGBLedUlrasonic
教程: https://youtu.be/kV2UYbpfGic
2021年1前我们使用的是通用的超声波模块。
传感器通过四针母-母杜邦线连接到NyBoard上。
把可选LED焊接到超声波模块上
可选的RGB三色LED可以焊到超声波模块的四个引脚上以指示其工作状态,或仅作为可编程的装饰灯使用。
把超声波模块的引脚向两边微微弯折以便后面的安装。
把4针排针焊接到NyBoard空余的GPIO上
超声波模块和NyBoard背面空余的GPIO相连。您也可以在OpenCat.h中自定义GPIO的用途。默认代码中超声波模块应与“D8 D9 D10 GND”相连,如下图。
大部分用到的舵机摇臂都是通过对十字形臂 I 切割而来,您可以用其他用不到的舵机摇臂先练练手。您可以用剪刀、指甲钳或烧热的小刀进行切割,注意预留长度便于微调。
注意参考螺丝孔的位置来确定剪切的位置。对于辉盛舵机的十字臂,还要注意两边长臂的粗细。
我们更换舵机供应商后,舵机配套的摇臂也有所变化(如下图)。为降低复杂度,现在我们只用摇臂 I 和 K。K可以用在尾巴上的舵机,其他摇臂都从十字臂 I 剪切而来。
按组装动画顺序依次组装头颈。
注意目前只能装好一边的颈部,以便后续的校准安装。另外注意舵机线的绕行方向,否则会蹭到侧面的脖子。
不要把头部舵机和脖子上的舵机摇臂连起来,后面还要校准!
只装NyBoard的构型
在不安装树莓派的情况下,NyBoard是安装在y1底面的,同时舵机的插针也朝向腹面。在后续版本中,y1两边的螺丝孔都改成了两个以保持对称。
安装树莓派的构型
用y1Pi替代y1,注意比较粉红色结构件的位置变化。另外,这时NyBoard要安装在y1Pi的上面。树莓派通过2x5的插座和NyBoard连接,同时两侧需要用Pi Stand辅助支撑。
在第一批下线的100片NyBoard上,生产商使用了略高的跳线针,会影响树莓派的安装。需要把这些跳线针弯折一些以降低高度,详见论坛帖子。
兼容其他开发板
结构件中有5个木质六角螺母,可用于其他开发板的安装固定。
2022年6月后我们给 Nybble 标配一块可充电锂电池,也可以在我们的网店
购买。
如果你手上的是电池盒版本:
电池盒上的铁条起到开关的作用。把铁条末端折成90度,这样在闭合时可以紧贴电池盒。把长螺丝穿过铆钉,再一起穿过电池盒上的孔,注意孔洞的位置。稍微用力把铆钉推进孔里。
电池盒将通过一个弹簧悬挂结构与躯干相连,来调整行走时的重心。
虽然这里用的是通用5号电池(1.5V AA)的电池盒,但Nybble用的是 3.7V 14500 锂离子电池。二者尺寸相同,注意不要弄混。
按组装动画顺序依次组装躯干。如果要安装树莓派,请观察动画调整构型。
注意红外线和6针插口的长引脚,它们应折向特定方向以适应不同的安装构型。但不要过多弯折以免金属疲劳断裂。
脊柱件的榫头可能会比肩膀件上的卯口略大,可以先反着把脊柱插进肩膀,摇晃磨合,然后再按正常方向进行组装。
脚尖的锯齿状表面已足够满足行走的摩擦力要求,硅胶垫的作用是增大摩擦力和缓冲。其实在某些路面上,赤脚比穿鞋效果好。
按组装动画顺序依次组装小腿。
把舵机插入小腿的窗口,注意舵机线缠绕的方式,这是为了避免和后面要安装的电池盒发生摩擦。在安装时要思考四条腿的对称性。
先不要拧上螺丝,很多人会在对称性上犯错,到最终组装时才发现。
在新的版本中,我们用更精确、更强韧的3D打印件取代了木质的thigh2。
切割的位置详见前面的头颈小节,切割后的摇臂小枝刚好能插入弹簧F里。
按组装动画顺序依次组装大腿。
在用螺丝C合并和锁定thigh1和thigh2前,把从小腿引出的舵机线穿过大腿中间的狭缝。布线时要思考四条腿的对称性。
注意组合时螺丝的插入方向
拧上螺丝C后,舵机臂应该刚好能在大腿的槽中滑动,可以通过调节螺丝的松紧度来调节滑动摩擦力的大小。如果调节范围不够,还可以:
用平头螺丝刀把thigh2的槽刮深;
在thigh2的槽里滴一层胶水,平置阴干,以使槽变浅。
暂时不要把小腿装到大腿上,也不要把大腿装到躯干上。
按组装动画顺序依次组装尾巴。
螺丝D要拧入摇臂K的从中间数第三个螺丝孔里。注意其他各部件的堆叠顺序。尾尖的轮子应该可以顺滑地转动,而整个尾部可以相对尾根扬起一个小角度。
在最新的版本中,尾巴和摇臂的连接结构被大大地简化了:
暂时不要把尾巴装到躯干上。
“万物互联” 🤝
类似于四肢到脊髓的神经连接,狸宝的舵机对称地连接在NyBoard的PWM插头上。虽然狸宝没有肩膀的滚转自由度,但对应的关节序号(3~7)仍然预留着,和完整的OpenCat架构保持兼容。
NyBoard V0_1 和 V0_2 的 PWM 脚序号顺序是不一样的,但是实际连线的模式一样,所有调整都通过修改程序里的映射表完成了。
直接按照上图所示舵机编号与PWM引脚针位置的对应关系连线即可。
观察舵机索引号与正确的 PWM 引脚连接起来。 小心电线的方向。 舵机的棕色线为 GND (-),在NyBoard V0_1上沿中线排列。 在更高版本的 NyBoards上,它们沿外沿排列。
快速检查一下 NyBoard V0_1 上的所有棕色电线都应该远离电路板表面。 在 NyBoard V0_2 上,棕色线应靠近电路板表面。
从 NyBoard V0_2 开始(包括 V1_*的主板),舵机插线的位置还是一样的,但是颜色的方向会 NyBoard V0_1 相反。
尽管各版本NyBoard的PCB不尽相同,但连线的模式是相同的。你不需要查看电路板上的舵机序号,因为相关的映射已经在程序中解决了。你只需要在上传代码时选择正确的电路板型号。
安装头尾和腿前必须先进入校准模式。校准时,需要将头、尾、腿部组件安装在舵机输出轴的齿轮上。暂时不要拧上螺丝。
进入校准状态有5种方法:
长按电池上按钮,将机器人身体左/右侧立开机,机器人会自动进入校准状态。
使用移动端应用 Petoi app 进入校准页面
使用 Petoi 桌面应用程序中 关节校准 子程序
如果您已经用串口适配器连接了机器人和电脑,点击“关节校准”按钮会自动进入校准状态
点击校准界面中的“校准位”按钮
在Arduino IDE的串口监视器中,输入串口命令“c”
按下遥控器上的校准按钮 (3,3 - 第 3 行和第 3 列)。
如下图所示安装头部、尾部和腿部组件:
可以借助套件中的 L 形尺作为参考进行安装。
在校准、排查和最终安装后,可以花些时间来优化布线,使狸宝看起来更清爽。在机身上分布着很多布线的小窗口可用来整理线缆,您可以发展出自己喜欢的模式,基本原则是不要让线缆干涉到舵机的运动,并且留有一定的缓冲余地。
下面是我们建议的布线方式:
NyBoard V1_* 主板 :
NyBoard V0_* 主板 :
"失之毫厘,差之千里" 🎯
千万不要在第一次校准前把腿装到舵机上。
当舵机断电时,它们的输出轴可能被转到随机的角度,如果这时装上了腿,机器人并不知道这些腿的指向。当机器人上电时,这些腿可能互相冲撞或卡在机身上。长期堵转可能会损坏舵机。
机器人的关节需要校准才能继续使用。确保所有的舵机已按正确的方向连接到了主板的正确的位置上,电池正在供电(猫图标的黄色LED 在发光),并且所有的腿和头、尾没有装在舵机上,这些舵机都可以自由旋转。
我们的校准流程会给主板发送一个校准指令,并把所有关节转向已知的角度。您可以把腿按最接近的姿势装到关节舵机上,再用软件进行校准。
校准 Nybble,有三种方法:
使用 Petoi 桌面应用程序
使用 Arduino IDE
“樯橹灰飞烟灭” ⛵️
没有任何编程经验的用户可以通过以下4种方式来控制Nybble:
如果你有一定的编程经验或想探索更高级的功能,可以尝试以下方法:
使用 Arduino IDE
使用 Python
使用 MicroPython
使用 Raspberry Pi
使用扩展模块
"好奇害死猫。" 🧞♂️
狸宝背后的设计框架是OpenCat,您可以在Hackster.io上读到我早年的几篇帖子。作为业余爱好几经寒暑,竟成了我创业的契机。
通用性的技术文档已合并在 docs.petoi.com 左侧目录,欢迎同好通过论坛或电邮和我讨论。我会保持目前代码和未来OpenCat产品线的兼容性,甚至可以驱动玩家DIY的机器人。希望本文档可以在项目进行中逐渐完备起来。
具体详情请参考文档中心扩展模块相关章节。