Skip to content

kotlin multiplatform based, AI-controlled client, including web, Go backend, Android, Raspberry Pi, and Linux.

Notifications You must be signed in to change notification settings

vickyleu/ai-robot

Repository files navigation

AI Robot 项目

删除 JAR 和 POM 的缓存目录

rm -rf ~/.gradle/caches/modules-2/files-2.1/com.vickyleu.ktor/ktor-client-curl*

清理元数据缓存(关键!)

rm -rf ~/.gradle/caches/modules-2/metadata-2./descriptors/com.vickyleu.ktor/ktor-client-curl

./gradlew build --refresh-dependencies --no-build-cache

项目简介

AI Robot是一个集成了多种设备控制协议的智能机器人控制系统,通过统一的接口实现对不同类型机器人的控制和管理。

系统架构

项目采用分层架构设计,主要包含以下几个核心模块:

1. 设备控制层,基于kotlin

1.1 C++扩展桥接(cpp-bridge)

  • Kotlin native提供统一的C++设备控制接口
    • 实现ROS机器人控制管理,支持ROS消息发布订阅、服务调用和参数访问
    • 实现Unitree机器人控制,集成SDK实现运动控制和状态管理
  • 支持高性能异步操作和实时控制
  • 提供完整的错误处理和日志记录机制

1.2 YAN API集成

  • 实现YAN协议的设备控制接口
  • 提供标准化的设备操作API

1.3 CRUZR机器人控制

  • 集成CRUZR专用控制协议, 使用Android SDK
  • 实现机器人动作和状态管理

2. 后端服务(backend)

2.1 API服务,基于Go

  • 提供RESTful接口
  • 集成Dify API支持
  • 实现设备控制和状态查询接口

2.2 配置管理

  • 统一的配置文件管理
  • 支持动态配置更新

3. 前端控制界面(web)

3.1 技术栈

  • React
  • Ktor 客户端
  • kotlinx.coroutines 协程
  • kotlinx.serialization 序列化

3.2 核心功能

  • 设备管理界面
  • 实时设备控制面板
  • 设备参数配置界面
  • 实时状态监控和数据可视化

3.3 主要模块

  • commonMain: 共享业务逻辑和数据模型
  • webMain: Web平台实现

3.4 开发说明

  • 使用 React 构建UI
  • 采用 MVVM 架构模式
  • 使用 Kotlin Flow 处理响应式数据流
  • 通过 Ktor 实现网络通信

4. 共享模块(shared)

4.1 核心库(core)

  • 共享的基础功能实现
  • 通用工具类和辅助函数

4.2 通信协议(protocol)

  • 统一的设备通信协议定义
  • 消息格式和数据结构规范

项目结构

├── backend/           # Go后端服务
│   ├── api/          # API接口实现
│   ├── config/       # 配置管理
│   └── device/       # 设备控制实现
├── device/           # 设备控制模块
│   ├── cpp-bridge/   # C++扩展桥接
│   │   ├── unitree/  # 宇树机器人控制
│   │   └── ros/      # ROS机器人控制
│   ├── cruzr/        # CRUZR机器人控制
│   └── yan-api/      # YAN API实现
├── shared/           # 共享模块
│   ├── core/         # 核心库
│   └── protocol/     # 通信协议
└── web/             # Web前端项目
    ├── commonMain/   # 共享代码
    └── webMain/      # Web平台代码

技术栈

  • 后端:Go
  • 前端:React
  • 设备控制:C++、Kotlin
  • 构建工具:Gradle
  • 网络通信:Ktor
  • 状态管理:Kotlin Flow

开发指南

环境配置

  1. 安装必要的开发工具
  2. 配置Go开发环境
  3. 安装Gradle构建工具

构建步骤

  1. 克隆代码仓库
  2. 执行Gradle构建
  3. 启动后端服务
  4. 运行前端开发服务器

前端开发

  1. 安装 Node.js 和 npm
  2. 进入 web 目录
  3. 执行 npm install 安装依赖
  4. 执行 npm start 启动开发服务器

注意事项

  1. C++扩展开发需要确保正确配置编译环境
  2. 设备控制模块的修改需要经过充分测试
  3. API接口变更需要同步更新文档
  4. 保持配置文件的同步更新

维护说明

  1. 定期检查并更新依赖版本
  2. 保持文档的及时更新
  3. 遵循代码规范和提交规范
  4. 做好版本管理和分支管理

About

kotlin multiplatform based, AI-controlled client, including web, Go backend, Android, Raspberry Pi, and Linux.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published