首次启动
1. 环境与硬件准备
硬件
OpenExo本体已组装好(具体组装见硬件Wiki)
Teensy 4.1主控板
Arduino Nano 33 BLE用于蓝牙通信
PCB连接主控、Nano、电机、传感器
CubeMars AK系列电机(如AK60 v1.1等,已配置好)
Micro SD卡
软件
VSCode(代码编辑、查找)
Git(拉取和管理代码)
Python(用于运行GUI界面)
Arduino IDE + Teensyduino扩展(刷写固件)
所需库(如Adafruit BNO055、Arduino BLE、SD等)
2. 主要组件结构
Teensy 4.1:负责主要实时控制与数据采集
Nano 33 BLE:负责与GUI蓝牙通信
PCB:负责板间通信、接口分配、电源与传感器连接
AK系列电机:核心执行器,绿色LED亮代表已上电+使能
3. 软件与固件准备
3.1 下载与安装
安装VSCode、Git、Python、Arduino IDE、Teensyduino
用Git克隆OpenExo代码仓库到本地(或直接下载zip解压)
3.2 库和依赖
- 安装所有推荐的Arduino库(可直接复制到Arduino库目录)
3.3 代码结构熟悉
ExoCode文件夹为主控代码,ExoCode.ino是主要刷写文件
Documentation有扩展指南和代码结构说明
Python_GUI用于上位机界面和实验数据记录
SDCard文件夹内为控制参数/配置,需拷贝到micro SD卡
4. SD卡配置
拷贝SDCard文件夹下所有内容到SD卡根目录
编辑SD卡内config.ini
[Exo]部分,确认 name=bilateralHip
[bilateralHip]配置,如 Sides = bilateral, Hip = AK60v1.1, hipDefaultController = step
编辑如hipControllers/step.csv,设定步进控制器参数(如幅值、持续时间、次数、间隔)
参数建议:初次测试 Amplitude=1(力矩1Nm),Duration=3, Repetitions=5, Spacing=3
5. 刷写固件
5.1 Teensy
用Arduino IDE打开ExoCode.ino
选择板卡类型“Teensy 4.1”
连接Teensy,点上传
如遇Loader未运行,重复上传一次;如有报错,定位关键字“error”查找原因
5.2 Nano 33 BLE
插上Nano
选择“Arduino Nano 33 BLE”
上传固件(通常比Teensy慢)
6. 试运行流程
SD卡插回Teensy
检查所有电源、接口,确保电池断电状态下检查连线可靠
连上电池,开机
戴好设备,固定在腰/大腿
运行上位机GUI(Python_GUI文件夹,先安装依赖,再python3 GUI.py)
在GUI点击“Start Scan”,选择发现的设备后点“Save and Connect”
点击“Start Trial”
观察两侧实时力矩曲线,能感受到预设次数、幅值的扭矩脉冲
7. 故障排查(Troubleshooting)
7.1 无力矩输出且无力矩曲线
多半SD卡配置有误(controller、motor、参数名拼写、section不对),返回检查config.ini和csv
7.2 有力矩曲线但电机无输出
优先检查电机端绿色LED是否亮
不亮→CAN线/通信/接插件问题(特别是白色接口处容易虚焊/断线)
亮→回查SD卡配置是否对应了正确电机型号,参数对不对
确认电机型号与SD配置一致(如AK60v1.1)
还不行,考虑电机本身故障(尤其AK60v1.1曾有不可靠案例,极少见)
7.3 其它建议
用Serial.print()分步输出,查找故障环节(如参数下发/控制器切换/命令未更新等)
若所有方法无效,考虑联系CubeMars官方或开发团队
8. 进阶建议
修改uart_commands.h的get_real_time_data可自定义GUI绘图内容
参数改动记得始终编辑SD卡内的文件并保存,而不是本地文件夹
Teensy与Nano需同步刷写,每次主协议/数据结构变动都要双端更新
各硬件/参数/版本号请与实际设备保持一致,否则需修改Config.h并重新刷写