Petoi 编程积木
介绍如何在Mind+中使用我们专门为Petoi机器人开发的扩展库
准备 Mind+
从Mind+官网下载最新版本(不低于V1.7.0)https://mindplus.cc/download.html
Windows: >= V1.7.0
Mac: >= V1.7.3 RC2.0
安装教程及如果出现问题可以参考Mind+官方文档: 安装教程
安装完成后即可打开Mind+
准备 Petoi 机器人
BiBoard
对于使用 BiBoard 的产品, 不需要修改任何软件代码,默认支持Mind+内所有功能积木块,同时陀螺仪功能处于开启状态,即机器人可以保持自平衡,摔倒后可以自动翻身起立。
通讯连接方式
有线连接: 套件包含一条USB Type-C数据线,用于将机器人的主板连接到计算机。
无线连接(蓝牙): 主板内置蓝牙通信模块,可实现机器人主板与计算机之间的蓝牙无线连接。
导入Petoi Mind+扩展库
在导入用户库界面的文本框中粘贴GitHub网址:https://github.com/PetoiCamp/Petoi_MindPlusLib
编写程序并运行
Petoi 编程积木是 Mind+的用户扩展库。
如果您是通过双击使用了此扩展库的代码存档(后缀为mp或sb3)打开Mind+,或者在打开 Mind+后导入这些代码存档,则 Mind+会自动加载此扩展库。
程序运行原理及流程
使用此扩展库编写完成控制机器人的程序代码后,无需编译上传程序代码到机器人主板上。直接点击“运行”按钮即可运行程序代码。如需在程序运行过程中中止程序,可随时点击“停止”按钮。程序运行流程可分为三个步骤:
打开串口
控制机器人
关闭串口
积木块使用说明
打开串口
打开串口有两种方式:
自动识别并打开串口
输入串口名称打开串口
关闭陀螺仪
当开启陀螺仪功能时,机器人可以实时保持自身身体平衡,可能会看到机器人在做预设动作(尤其是执行比较剧烈的动作)时,身体会来回晃动,甚至会发生身体倾翻,这时机器人自动会做复原的动作,这样可能会打乱您预设的执行步骤。
如果上传的固件是Mind+模式程序固件(#define GROVE_SERIAL_PASS_THROUGH
此行代码被激活),机器人启动时默认是关闭陀螺仪功能 (机器人将不能保持自平衡,摔倒后不会自动翻身起立),就不需要添加此积木块了。
执行固有技能动作
使用此积木块可以让机器人执行烧录到机器人主板中技能动作。其中从“坐下”到“零位”,属于姿势(只包含一个动作帧);从“拳击”到“闻一闻”,属于行为(包含多个连贯的动作帧,其中一部分连续动作帧可以循环执行多次,但所有动作帧按照顺序只执行一轮);从“原地踏步”到“向右跑”,属于步态(包含多个连贯的动作帧,这些动作帧按照顺序循环不断重复执行)。配合使用积木块中延时设置,可以控制机器人在做完技能动作延迟预设时间后执行下一个积木块程序。
执行从技能创作坊中最新导出的一个技能
使用此积木块可以让机器人执行从技能创作坊中最新导出的一个技能。配合使用积木块中延时设置,可以控制机器人在做完技能动作延迟预设时间后执行下一个积木块程序。
执行技能文件中的技能
使用此积木块可以让机器人执行技能文件中的技能,技能文件位于以下目录中:
Windows: C:\Users\{your user name}\.config\Petoi\SkillLibrary\{model}
MacOS : /Users/{your user name}/.config/Petoi/SkillLibrary/{model}
Linux: /home/{your user name}/.config/Petoi/SkillLibrary/{model}
目录中文件夹名称 {model} 为 Bittle 或者 Nybble。 从技能创作坊导出技能文件时,程序会自动将技能文件保存到该目录中。
依次旋转关节
使用此积木块可以控制一个关节或多个关节按顺序依次旋转,有以下几种积木块搭配使用方式供参考:
控制单个关节旋转到绝对角度值
控制单个关节旋转到相对角度值
控制多个关节依次旋转到绝对角度值或相对角度值
使用关节角度列表来控制多个关节依次旋转到绝对角度
配合使用积木块中延时设置,可以控制机器人在做完动作延迟预设时间后执行下一个积木块程序。
同时旋转关节
使用此积木块可以控制多个关节同时旋转,有以下几种积木块搭配使用方式供参考:
控制多个关节同时旋转到绝对角度值或相对角度值
使用关节角度列表来控制多个关节同时旋转到绝对角度值
配合使用积木块中延时设置,可以控制机器人在做完动作延迟预设时间后执行下一个积木块程序。
获取关节当前角度值
使用此积木块可以获取到所选关节的当前角度值,建议可以先将其赋值给一个变量,然后可以通过使用变量及逻辑算法,控制其他的关节旋转。
使用示例:
转换到动作帧
使用此积木块可以控制所有关节同时旋转,请与”动作帧“积木块搭配使用。如下图所示:
配合使用积木块中延时设置,可以控制机器人在做完动作延迟预设时间后执行下一个积木块程序。
播放旋律
使用此积木块可以控制主板播放音乐。有以下几种积木块搭配使用方式供参考:
使用多个“音符+时值”积木块组成的列表
使用音符及时值列表
配合使用积木块中延时设置,可以控制机器人在播放完音乐延迟预设时间后执行下一个积木块程序。
执行串口命令
使用此积木块可以给机器人发送串口命令,这样可以给您提供更多,更灵活的控制方式。比如可以输入“kkcL”(踢左前腿), “khiR”(举右前腿打招呼)。更多串口命令请参考串口协议。
配合使用积木块中延时设置,可以控制机器人在执行完串口命令延迟预设时间后执行下一个积木块程序。
写模拟值
使用此积木块可以给指定引脚写入模拟值。模拟值范围:0~255
读模拟值
使用此积木块可以读取指定引脚的模拟值。
写数字值
使用此积木块可以给指定引脚写入高低电平值。高电平: 1;低电平:0。
读数字值
使用此积木块可以读取指定引脚的高/低电平值。高电平: 1;低电平:0。
关闭串口
一般在控制程序的结尾,建议使用此积木块关闭串口通讯。
示例程序
在GitHub仓库中(Petoi_MindPlusLib/examples)我们提供了一些相关示例程序,可供您下载参考。
Last updated