AKA-00
辰龙AI教育机器人
新闻
- 2026-03-03 添加对zl-zp10s舵机的支持
- 2026-02-12 小车模拟器可用了
- 2026-02-06 AKA-00 小车添加了对 MG996R 舵机的支持,目前支持 STS3215 和 MG996R
- 2026-01-30 opi5p 开发板可以驱动 AKA-00 小车了
开始使用
配置指南
使用文档
开发资料
项目介绍
AKA-00 是一个面向教学的低成本AI机器人,通过提供简单的平台实现多种算法的训练和仿真。
核心能力
| 能力 | 说明 |
|---|---|
| 机械臂控制 | 支持 STS3215、MG996R 等舵机 |
| 底盘运动 | N20 电机差速控制 |
| 远程控制 | Web 界面 + HTTP API |
技术架构
AKA-00
├── tennis_hunter.py # 机器人主程序
├── run.py # Web 服务器
├── src/
│ ├── arm_control/ # 机械臂控制(舵机驱动)
│ ├── base_control/ # 底盘控制(电机驱动)
│ └── cameras/ # 摄像头模块
├── app/ # Flask Web 应用
├── frontend/ # React 前端
└── models/ # YOLOv8 模型
硬件平台
| 组件 | 型号 |
|---|---|
| 主控 | LicheeRV Nano |
| 机械臂 | ZL-ZP10S / STS3215 |
| 电机 | N20 直流减速电机 |
| 摄像头 | USB 免驱摄像头 |
快速开始
本文档帮助你快速开始让 AKA-00 跑起来。
1. 组装
参考 硬件接线 完成机械臂、电机、摄像头的连接。
2. 通电
- 连接电源,等待控制板指示灯亮起
- 等待 60 秒,网络模块启动
- 连接机器人热点(格式:
chenlong-robot-xxxxx) - 浏览器访问
192.168.4.1,进入配置 遥控器 - 之后可以通过手机上的遥控器控制小车
如果需要自定义启动流程需要初始化的详细步骤见 机器人连接
3. 修改代码常用命令
# SSH 登录控制板
# 在同一局域网下用ssh连接
ssh root@<机器人IP>
# 通过scp将修改的代码上传到主控上
scp 本地目录文件 root@<机器人IP>:
# 或者在主控上用vim进行修改
vim 目标文件
# 找到并杀死当前占用线程
ps | grep python*
kill -9 pid
# 启动服务
python run.py
详细部署见 软件部署
4. 使用
启动后通过以下方式控制:
- Web 界面: 访问
http://<机器人IP>/ - API: 使用
/api/control接口
下一步
硬件参数
主控板

| 参数 | 值 |
|---|---|
| 型号 | LicheeRV Nano |
| CPU | 算能 SG2002 大核:1GHz RISC-V C906 / ARM A53 二选一; 小核:700MHz RISC-V C906; |
| NPU | 1 TOPS (INT8),支持 BF16 |
机械臂舵机和控制板
控制板
微雪UART串口通信控制板

使用的舵机
| 参数 | 值 |
|---|---|
| 型号 | ZL-ZP10S |
| 通信 | 串口 UART |
| 设备 | /dev/ttyACM0 |
| 波特率 | 115200 |
支持的舵机
- STS3215
- MG996R
- ZL-ZP10S
电机控制板(DRV8833)

使用的电机
| 参数 | 值 |
|---|---|
| 型号 | N20 直流减速电机 |
| 控制方式 | PWM 调速 |
| GPIO Chip | 4 |
硬件接线
接线示意
主控接口图

本项目使用了以下接口:
- 电机控制
- A16:PWM4
- A17:PWM5
- A18:PWM6
- A19:PWM7
- 舵机控制
- A28:UART2TX
- A29:UART2RX
- VBUS 5V
- GND
底盘控制板接口图

- VM:电机供电
- NC:置空
- GND:接地
- A、BO1、2:接电机
- A、BIN1、2:控制信号输入
- STBY:SLEEP控制,底电平有效
机械臂控制板接口图

- D:数据总线
- V:舵机供电正级
- G:舵机接地
- DC+:主控供电正级
- DC-:主控供电负极
- TX:控制输入
- RX:控制接收
- GND:接地
- A UART:UART总线控制模式
- B USB:USB总线控制模式
控制电路连线图
接线前请确保断电操作。
机械臂UART控制
- 机械臂串口连接至
/dev/ttyACM0 - 波特率:115200
电机PWM控制
| 电机 | PWM Chip | Channel |
|---|---|---|
| 左电机 | 4 | 0, 1 |
| 右电机 | 4 | 2, 3 |
更多原理图
硬件原理图位于 hardware/ 目录:
LicheeRV_Nano-70418_Schematic.pdf- 主控板原理图sg2000_trm_cn.pdf- SG2000 技术参考手册众灵舵机使用手册-250508.pdf- 舵机使用说明
第一次连接
如何连接机器人
第一步,连接机器人自身的热点,用于配置机器人
- 确保机器人已连接到电源,等待机器人控制板灯亮
- 等待20秒到30秒,此时控制板正在启动网络模块
- 开发者打开电脑/手机,进入wifi连接,找到控制板的热点并连接,例如
chenlong-robot-02
第二步,让机器人连接到开发者的WiFi网络
- 连接热点之后,打开浏览器,输入
192.168.4.1(不同的机器人可能不同,已实际为准),即可进入机器人的遥控界面 - 在配置页面中,刷新网络,找到开发者需要的WiFi网络,点击连接,如有密码需要输入密码

- 连接成功后,网页会显示当前连接的WiFi网络名称以及为机器人分配的IP

第三步,ssh登录机器人的控制板
- 第二步进行完之后,开发者需要记下为机器人分配的IP,并且让自己的电脑和机器人连接到同一个WiFi网络

- 开发者打开终端,输入
ssh root@[机器人分配的IP],即可登录机器人的控制板,密码为root - 登录成功后,即可在终端中操作机器人的控制板,输入
ping www.baidu.com或者curl www.baidu.com,用来检测控制板网络是否成功连接并且能够访问互联网
项目本地启动并部署到控制板
项目本地启动
- 安装Miniconda用于控制python的版本
安装miniconda,请按照官方安装指南
创建 python 3.11 环境
conda create -n aka python=3.11 -y
- 运行 pip install -r requirements.txt 安装依赖
pip install -r requirements.txt
- 安装前端依赖
cd frontend && npm i
4.打包前端项目
npm run build && cd ..
- 运行项目
python run.py
之后访问本地的80端口或443端口即可
本地对于硬件调用的接口进行了隔离,所以可以直接启动
代码修改完成后部署到控制板
修改完代码后先在本地查看修改和调用,确认无误后可以通过scp命令进行传输,要将修改了的文件替换主控上对应的文件。
scp 本地文件 root@<ip>:
之后通过 ps 命令确认当前是否有服务启动占用80和443端口,如果有会返回pid
ps | grep python*
并用 kill 关闭目标进程
kill -9 <pid>
之后再通过
python run.py
在主控板上启动项目进行调试
初始化配置
这部分为机器人的初始化部分,都会在用户拿到设备前实现,如果用户需要自行初始化也可以按照本流程实现。
烧录镜像
从Releases处下载最新镜像,通过烧入工具将镜像烧录到tf卡中,镜像中会自带一份项目文件。
连接主控
通过type-c接口可以将板子连接到电脑上
在win下在终端里输入ipconfig,找到一个新的以太网,例如 10.163.124.100。
之后可以使用ssh进行连接,ssh root@10.163.124.1
连接网络
启动一次根目录下的init_ap_web.sh这会让小车自己成为一个热点,方便个人设备的连接,同时将项目自启动脚本写入系统。
项目启动
可以选择重启机器人,或者手动启动项目。
chmod +x init.sh
./init.sh
如果没有生成过证书文件,会生成https的证书后运行项目
HTTPS 证书生成
- 无交互生成自签名证书,有效期10年(3650天)
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650 -nodes -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/OU=MyDept/CN=localhost"
如果想通过指定 WiFi 的方式连接项目并自启动,可以遵循以下流程。
开机自启动
设置为sta模式,修改方式
在/etc/init.d 文件中 添加 一个appinit文件,输入
#!/bin/sh
# 程序路径
APP_PATH="/root/AKA-00"
# 程序运行用户(一般嵌入式用 root)
RUN_USER="root"
# 启动函数
start() {
sleep 5
chmod +x /root/AKA-00/init.sh
/root/AKA-00/init.sh
}
# 停止函数(可选,便于手动管理)
stop() {}
# 重启函数(可选)
restart() {
stop
sleep 1
start
}
# 脚本参数处理
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
之后在 /etc/inittab 中加入一行,就可以开机自启动,代码要放在AKA-00下
app::sysinit:/etc/init.d/appinit start
网络配置
修改 /etc/wpa_supplicant.conf 文件
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="wifi名"
psk="wifi密码"
priority=8
}
network={
ssid="#####"
psk="********"
priority=5
}
network={
key_mgmt=NONE
priority=1
}
Web 界面
启动服务后,访问 http://<机器人IP>/ 进入 Web 控制界面。
功能区域
遥控器
通过方向键控制机器人运动:
- 前进/后退:前进/后退
- 左转/右转:左转/右转
夹爪控制
- 抓取:控制机械臂向下夹取夹爪闭合
- 释放:控制机械臂夹爪张开
WiFi 配置
访问 WiFi 配置页面,可重新设置机器人连接的 WiFi 网络。
详细步骤见 WiFi 配置
进入试验平台
可进入自带的实验平台进行实验
API 文档
获取 IP 地址
GET /api/ip
响应:
{
"ip": "192.168.1.100"
}
控制接口
GET /api/control?action=<action>&speed=<speed>&time=<time>
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 动作类型 |
| speed | int | 否 | 速度 0-50 |
| time | int | 否 | 持续时间(毫秒) |
action 可选值
| 值 | 说明 |
|---|---|
| up | 前进 |
| down | 后退 |
| left | 左转 |
| right | 右转 |
| stop | 停止 |
| grab | 抓取 |
| release | 释放 |
示例
# 前进
curl "http://<ip>/api/control?action=up&speed=30&time=1000"
# 左转
curl "http://<ip>/api/control?action=left&speed=20&time=500"
# 抓取
curl "http://<ip>/api/control?action=grab"
# 释放
curl "http://<ip>/api/control?action=release"
使用sg2002
SG2002 是一款面向 AIoT 领域的高性能、低功耗 SoC,内置多个处理器核心,集成 TPU、视频编解码器、丰富外设接口,适用于智能视觉、边缘计算等场景。
硬件架构
-
处理器
主处理器: RISCV C906 @ 1.0Ghz 和 ARM Cortex-A53 @ 1.0Ghz 协处理器: RISCV C906 @700Mhz
-
TPU
算力为 1TOPS(INT8),适用于AI推理计算
-
视频子系统
视频输出:支持 2L MIPI DSI 输出(分辨率 2880×1620@30fps),兼容 LVDS、BT.601/656/1120 等传统接口。
视频输入:支持 ISP(图像信号处理器),最高 5MP@30fps;支持 4L 或 2L+2L MIPI CSI 接口,兼容 DVP、Sub-LVDS、HisPI 等。
视频编解码:解码:H.264,支持 5MP@30fps。
编码:H.264/H.265,支持 5MP@30fps。
连接方式
-
串口连接
sudo apt install minicom # 安装minicom minicom -D /dev/ttyUSB0 -b 115200 # 连接串口,用户名:root,密码:root -
usb rndis 网口连接
ip a show # 查看网口信息.如果主机是10.245.118.100,则开发板是10.245.118.1。 ssh root@10.245.118.1 # 连接开发板,密码:root -
wifi 连接
# 假设分配的地址为192.168.1.2 ssh root@192.168.1.2 # 连接开发板,密码:root
配置 UART 串口
-
验证方法
# 开发板上执行(利用Python的pyserial库) python3 -m serial.tools.miniterm /dev/ttyS0 115200 # 一般 UARTx 对应 /dev/ttySx # 主机上执行(利用minicom) minicom -D /dev/ttyUSB0 -b 115200 # 连接串口 -
uart0 默认开启,无需配置
-
uart1 默认开启,无需配置。但如果要同时使用uart1和uart2, 则需要进行配置。
devmem 0x03001070 32 0x2 # GPIOA 28 UART2 TX devmem 0x03001074 32 0x2 # GPIOA 29 UART2 RX devmem 0x03001068 32 0x6 # GPIOA 18 UART1 RX devmem 0x03001064 32 0x6 # GPIOA 19 UART1 TX -
uart3 引脚默认复用为SDIO。而SDIO被用于wifi连接。所以在有wifi连接的情况下,不能使用uart3。
devmem 0x030010D0 32 0x5 # GPIOP 18 UART3 CTS devmem 0x030010D4 32 0x5 # GPIOP 19 UART3 TX devmem 0x030010D8 32 0x5 # GPIOP 20 UART3 RX devmem 0x030010DC 32 0x5 # GPIOP 21 UART3 RTS
代码结构
AKA-00/
├── run.py # 主入口,启动 HTTP/HTTPS 服务器
├── tennis_hunter.py # 机器人主程序(网球收集逻辑)
├── requirements.txt # Python 依赖
├── init.sh # 系统初始化脚本
│
├── app/ # Flask Web 应用
│ ├── __init__.py # Flask 应用工厂
│ └── routes/
│ ├── api.py # 控制 API(运动、夹爪)
│ └── frontend.py # 前端路由
│
├── src/ # 硬件控制模块
│ ├── arm_control/ # 机械臂控制
│ │ ├── sts3215/ # STS3215 舵机驱动
│ │ ├── mg996r/ # MG996R 舵机
│ │ └── zl/zp10s/ # ZL-ZP10S 机械臂
│ ├── base_control/
│ │ └── n20/ # N20 电机驱动
│ └── cameras/
│ └── opencv/ # 摄像头模块
│
├── frontend/ # React 前端
│ ├── src/
│ │ ├── App.tsx # 主应用组件
│ │ ├── pages/
│ │ │ ├── BaseControlPage.tsx # 遥控器页面
│ │ │ └── WiFiConfigPage.tsx # WiFi配置页面
│ │ └── ...
│ ├── package.json
│ └── vite.config.ts
│
├── models/ # YOLOv8 模型文件
│ ├── best.onnx # CPU 推理模型
│ └── best.rknn # RK3588 推理模型
│
├── static/ # Flask 静态文件
└── templates/ # Flask 模板
关键模块
| 文件 | 功能 |
|---|---|
run.py | Flask 服务器启动,支持 HTTP/HTTPS |
app/__init__.py | Flask 应用工厂,初始化硬件驱动 |
app/routes/api.py | HTTP API,提供运动/夹爪控制 |
src/arm_control/ | 舵机通信协议实现 |
src/base_control/n20/ | PWM N20电机速度控制 |
调试方法
串口连接
# 安装 minicom
sudo apt install minicom
# 连接串口
minicom -D /dev/ttyUSB0 -b 115200
网络连接
USB RNDIS 网口
# 查看网口
ip a show
# 如果主机是 10.245.118.100,则开发板是 10.245.118.1
ssh root@10.245.118.1
WiFi SSH
ssh root@<机器人IP>
日志查看
# 查看运行日志
cat app.log
# 实时查看日志
tail -f app.log
测试硬件
# 测试电机
python car_test.py
网络诊断
# 检测网络连通性
ping www.baidu.com
# 检测外网访问
curl www.baidu.com
HTTPS 证书
如需启用 HTTPS,需生成自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650 -nodes -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/OU=MyDept/CN=localhost"
常见问题
连接问题
Q: 机器人热点无法连接?
- 确保机器人已通电且指示灯亮起
- 等待 60 秒让网络模块完全启动
- 确认电脑/手机 WiFi 已开启
Q: 无法 SSH 登录?
- 确认电脑和机器人在同一 WiFi 网络
- 检查 IP 地址是否正确
- 尝试使用串口连接调试
Q: WiFi 配置页面打不开?
浏览器访问 192.168.4.1,确认已连接机器人热点。
运行问题
Q: 启动失败,提示缺少依赖?
pip install -r requirements.txt
Q: 机械臂不响应?
- 检查串口连接是否正确
- 确认舵机供电正常
- 检查
/dev/ttyACM0设备是否存在
Q: 电机不转动?
- 检查 GPIO 连接
- 确认 PWM 引脚配置正确
- 检查电机供电
Q: 摄像头无法识别?
- 检查 USB 连接
- 确认设备文件
/dev/video0存在 - 测试摄像头:
ls -l /dev/video0
其他
Q: 如何查看机器人 IP?
访问 http://<机器人IP>/api/ip
Q: 如何开启 HTTPS?
- 生成证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650 -nodes
- 配置环境变量:
export APP_CERT_PATH=/path/to/cert.pem
export APP_KEY_PATH=/path/to/key.pem
Q: 如何设置开机自启?
参考 机器人连接 中的开机自启配置。