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是一个集成了多种设备控制协议的智能机器人控制系统,通过统一的接口实现对不同类型机器人的控制和管理。
项目采用分层架构设计,主要包含以下几个核心模块:
- Kotlin native提供统一的C++设备控制接口
- 实现ROS机器人控制管理,支持ROS消息发布订阅、服务调用和参数访问
- 实现Unitree机器人控制,集成SDK实现运动控制和状态管理
- 支持高性能异步操作和实时控制
- 提供完整的错误处理和日志记录机制
- 实现YAN协议的设备控制接口
- 提供标准化的设备操作API
- 集成CRUZR专用控制协议, 使用Android SDK
- 实现机器人动作和状态管理
- 提供RESTful接口
- 集成Dify API支持
- 实现设备控制和状态查询接口
- 统一的配置文件管理
- 支持动态配置更新
- React
- Ktor 客户端
- kotlinx.coroutines 协程
- kotlinx.serialization 序列化
- 设备管理界面
- 实时设备控制面板
- 设备参数配置界面
- 实时状态监控和数据可视化
- commonMain: 共享业务逻辑和数据模型
- webMain: Web平台实现
- 使用 React 构建UI
- 采用 MVVM 架构模式
- 使用 Kotlin Flow 处理响应式数据流
- 通过 Ktor 实现网络通信
- 共享的基础功能实现
- 通用工具类和辅助函数
- 统一的设备通信协议定义
- 消息格式和数据结构规范
├── 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
- 安装必要的开发工具
- 配置Go开发环境
- 安装Gradle构建工具
- 克隆代码仓库
- 执行Gradle构建
- 启动后端服务
- 运行前端开发服务器
- 安装 Node.js 和 npm
- 进入 web 目录
- 执行
npm install
安装依赖 - 执行
npm start
启动开发服务器
- C++扩展开发需要确保正确配置编译环境
- 设备控制模块的修改需要经过充分测试
- API接口变更需要同步更新文档
- 保持配置文件的同步更新
- 定期检查并更新依赖版本
- 保持文档的及时更新
- 遵循代码规范和提交规范
- 做好版本管理和分支管理