Skip to content

Commit 6ebd043

Browse files
committed
更新文档
1 parent 3cf3108 commit 6ebd043

File tree

3 files changed

+64
-30
lines changed

3 files changed

+64
-30
lines changed

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ endif()
77

88
cmake_minimum_required(VERSION 3.11)
99

10-
# 版本第一位与赛季年份对应,同时与branch对应 第二位代表功能变化 第三位代表bug修复
10+
# 版本第一位与年份对应 第二位代表功能变化 第三位代表bug修复
1111
project(
1212
xrobot
13-
DESCRIPTION "MCU for Robomaster"
14-
VERSION 2022.0.0
13+
DESCRIPTION "XRobot Build"
14+
VERSION 2024.1.1
1515
LANGUAGES C CXX ASM)
1616

1717
# ---------------------------------------------------------------------------------------

README.md

Lines changed: 60 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,17 @@
55
<div align=center>
66
<img src="./doc/image/XRobot.jpeg" height="100">
77
<p>
8+
89
是时候使用现代化的方式来进行嵌入式开发了!
910
<p>
11+
1012
<img src="https://img.shields.io/github/license/xrobot-org/XRobot.svg"/>
1113
<img src="https://img.shields.io/github/repo-size/xrobot-org/XRobot.svg"/>
1214
<img src="https://img.shields.io/github/last-commit/xrobot-org/XRobot.svg"/>
1315
<img src="https://img.shields.io/badge/language-c/c++-F34B7D.svg"/>
1416

17+
<p>
18+
1519
<img src="https://github.com/xrobot-org/XRobot/actions/workflows/build_publish.yml/badge.svg"/>
1620
<img src="https://github.com/xrobot-org/XRobot/actions/workflows/publish_repo.yml/badge.svg"/>
1721

@@ -31,17 +35,33 @@
3135

3236
提起嵌入式开发,绝大多数团队或者公司都在以一种效率极其低下的方式来拼凑逻辑和功能,很难将现代的软件开发的思想融入到当中去。当然,其中不乏有优秀的项目和例子,其规范的代码风格,先进的架构和编译系统都值得深究。但他们往往都局限于某种平台或者应用,例如PX4专注于无人机系统,主要支持ROS和Nuttx。而那些主要面向MCU的框架,例如ESP-IDF、BabyOS等,自身都有较大的局限性。所以是否能有一种方式,既能实现现代化的开发,又能完美兼容裸机到RTOS再到Linux,甚至是运动学仿真呢?这就是我们的尝试——XRobot。
3337

34-
## 性能
38+
## 获取源代码
39+
40+
[github主仓库](https://github.com/xrobot-org/XRobot.git): `git clone https://github.com/xrobot-org/XRobot.git`
41+
42+
[gitee镜像](https://gitee.com/x-robot/XRobot.git): `git clone https://gitee.com/x-robot/XRobot.git`
43+
44+
## 性能、空间与开发效率兼得
45+
46+
最小32k flash + 8k ram即可运行完整demo。
3547

3648
### MCU
3749

3850
> can总线微动模块
3951
4052
使用STM32F103C8,通过CAN总线上报多个微动开关状态。自带命令行更改CAN ID与上报频率。SRAM占用4.35kb,Flash占用46.3kb。
4153

54+
> 双canfd转uart模块
55+
56+
使用STM32G0B1,实现两路canfd(5mbps)转uart,保证不丢包的前提下,两路canfd总线可以跑到满速。SRAM占用5.2kb,Flash占用45.6kb。
57+
58+
> canfd九轴imu模块
59+
60+
使用STM32G431KB,传感器为icm42688+mmc5603。USB命令行实现陀螺仪零偏与磁力计椭圆校准,uart和canfd接口最高1000hz发送数据,数据包含四元数、欧拉角、加速度、角速度和磁场。SRAM占用28.5kb,Flash占用91kb。
61+
4262
> 工程机器人
4363
44-
使用STM32F407IG,单板实现控制底盘、抓取机构等十五个电机和三个can总线微动模块。同时接收自定义控制器/裁判系统/遥控器数据,绘制自定义UI,板载陀螺仪AHRS姿态解算,命令行和日志打印。SRAM占用30.6k,CCMRAM占用64k,flash占用197.5k。
64+
使用STM32F407IG,单板实现控制底盘、抓取机构等十五个电机和三个can总线微动模块。同时接收自定义控制器/裁判系统/遥控器数据,绘制自定义UI,板载bmi088陀螺仪AHRS姿态解算,命令行和日志打印。SRAM占用30.6k,CCMRAM占用64k,flash占用197.5k。
4565

4666
### Linux
4767

@@ -53,6 +73,7 @@
5373
* VSCode/CLion一键编译调试与ClangTidy代码检查
5474
* 完善的[文档](https://xrobot-org.github.io)与入门教程
5575
* CI/CD自动构建和固件发布
76+
* 应用层全部使用C++编写,代码复用率高
5677
* 兼容多开发板和操作系统(Linux/Webots仿真/FreeRTOS/裸机)
5778
* 图形化/命令行参数配置
5879
* 命令行界面(CLI)与消息订阅发布
@@ -101,61 +122,74 @@ XRobot基本部分是一套开发板与功能模块的管理系统,能够让
101122

102123
> 成品模块
103124
104-
* 六轴CAN总线IMU模块
125+
* 六轴/九轴CAN总线IMU模块
105126
* CAN转UART模块
106127
* BLE配网模块
107128
* CAN总线微动检测模块
108-
* 诸多商业产品案例
129+
* ...
130+
131+
> 上市产品
132+
133+
* 敬请期待
134+
135+
## 机器人展示
136+
137+
<div align=center>
138+
139+
| | | |
140+
| ---------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
141+
| <img src="./doc/image/rmuc.jpg" height="210" width="265"> | <img src="./doc/image/rmuc1.jpg" height="210" width="265"> | <img src="./doc/image/rmuc2.jpg" height="210" width="265"> |
109142

110-
| | | |
111-
| -------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
112-
| `<img src="./doc/image/rmuc.jpg" height="210" width="265">` | `<img src="./doc/image/rmuc1.jpg" height="210" width="265">` | `<img src="./doc/image/rmuc2.jpg" height="210" width="265">` |
113143

114-
<img src="./doc/image/rmuc3.jpg" height="600" width="800">
144+
<img src="./doc/image/rmuc3.jpg" height="640" width="960">
115145

116146
`以上机器人均使用XRobot驱动`
117147

148+
</div>
149+
118150
## 硬件支持
119151

120-
| MCU | Board | Image |
121-
| ----------- | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
122-
| STM32F407IG | [Robomaster C型开发板](https://www.robomaster.com/zh-CN/products/components/general/development-board-type-c/info) | `<img src="doc/image/rm-c.png" width="500" height="220">` |
123-
| STM32F302CB | [IMU-DEV-BOARD](https://xrobot-org.github.io/1.hardware/3.IMU-DEV.html) | `<img src="doc/image/IMU-DEV-1.jpg" width="350" height="200">` |
124-
| STM32F446RE | [C-Mini](https://xrobot-org.github.io/1.hardware/1.C-MINI.html) | `<img src="doc/image/C-MINI-1.jpg" width="350" height="250">` |
125-
| STM32F103 | [F103 CAN](https://xrobot-org.github.io/1.hardware/4.F103_CAN.html) | `<img src="doc/image/f103_can.jpeg" width="350" height="250">` |
126-
| ESP32-C3 | [ESP32C3-Core](https://xrobot-org.github.io/1.hardware/2.ESP32C3-Core.html) | `<img src="doc/image/esp32c3-core-1.jpeg" width="260" height="200">` |
127-
| Linux x86 | [Intel NUC](https://www.intel.cn/content/www/cn/zh/products/details/nuc.html) | `<img src="doc/image/nuc.jpg" width="350" height="200">` |
128-
| Linux arm | [Raspberry pi 4B](https://www.raspberrypi.com/) | `<img src="doc/image/raspi.png" width="350" height="200">` |
129-
| Linux arm | [mCore-R818](https://mangopi.org/mcorer818) | `<img src="doc/image/mCore-R818.jpg" width="200" height="200">` |
152+
| MCU | Board | Image |
153+
| ----------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ |
154+
| STM32F407IG | [Robomaster C型开发板](https://www.robomaster.com/zh-CN/products/components/general/development-board-type-c/info) | <img src="doc/image/rm-c.png" width="500" height="220"> |
155+
| STM32F302CB | [IMU-DEV-BOARD](https://xrobot-org.github.io/1.hardware/3.IMU-DEV.html) | <img src="doc/image/IMU-DEV-1.jpg" width="350" height="200"> |
156+
| STM32F446RE | [C-Mini](https://xrobot-org.github.io/1.hardware/1.C-MINI.html) | <img src="doc/image/C-MINI-1.jpg" width="350" height="250"> |
157+
| STM32F103 | [F103 CAN](https://xrobot-org.github.io/1.hardware/4.F103_CAN.html) | <img src="doc/image/f103_can.jpeg" width="350" height="250"> |
158+
| ESP32-C3 | [ESP32C3-Core](https://xrobot-org.github.io/1.hardware/2.ESP32C3-Core.html) | <img src="doc/image/esp32c3-core-1.jpeg" width="260" height="200"> |
159+
| Linux x86 | [Intel NUC](https://www.intel.cn/content/www/cn/zh/products/details/nuc.html) | <img src="doc/image/nuc.jpg" width="350" height="200"> |
160+
| Linux arm | [Raspberry pi 4B](https://www.raspberrypi.com/) | <img src="doc/image/raspi.png" width="350" height="200"> |
161+
| Linux arm | [mCore-R818](https://mangopi.org/mcorer818) | <img src="doc/image/mCore-R818.jpg" width="200" height="200"> |
130162

131163
## 图片展示
132164

133-
`VSCode与openOCD联合调试`
165+
`VSCode与openOCD联合调试`
134166

135167
![VSCode调试界面](./doc/image/调试界面.png?raw=true "VSCode调试界面")
136168

137-
`Windows使用Mingw64原生开发`
169+
`Windows使用Mingw64原生开发`
138170

139171
![Windows](./doc/image/windows.png?raw=true "Windows")
140172

141-
`Windows11使用CLion在WSL下开发`
173+
`Windows11使用CLion在WSL下开发`
142174

143175
![CLion调试界面](./doc/image/clion.png?raw=true "CLion调试界面")
144176

145-
`XRobot作为外部控制器在Webots进行运动学仿真`
177+
`XRobot作为外部控制器在Webots进行运动学仿真`
146178

147179
![Webots仿真](./doc/image/Webots仿真.png?raw=true "Webots仿真")
148180

149-
`利用命令行查看log、校准陀螺仪、监控电机运行数据和机器人参数配置`
181+
`利用命令行查看log、校准陀螺仪、监控电机运行数据和机器人参数配置`
150182

151183
![命令行](./doc/image/命令行.png?raw=true "命令行")
152184

153-
`自定义UI框架`
185+
`自定义UI框架`
154186

155187
![客户端UI](./doc/image/客户端UI.png?raw=true "客户端UI")
156188

157189
## 相关依赖
158190

159-
订阅发布/日志相关功能由[OneMessage](https://github.com/Jiu-xiao/OneMessage.git)提供:`一个基于发布-订阅模型的跨平台消息框架,纯C语言编写,性能和灵活性极高`
191+
订阅发布/日志相关功能由[OneMessage](https://github.com/Jiu-xiao/OneMessage.git)提供: `一个基于发布-订阅模型的跨平台消息框架,纯C语言编写,性能和灵活性极高`
192+
193+
命令行/文件系统相关功能由[MiniShell](https://github.com/Jiu-xiao/mini_shell.git)提供: `无需操作系统与动态内存分配的嵌入式Shell`
160194

161-
命令行/文件系统相关功能由[MiniShell](https://github.com/Jiu-xiao/mini_shell.git)提供:`无需操作系统与动态内存分配的嵌入式Shell`
195+
Flash数据库由[MiniFlashDB](https://github.com/Jiu-xiao/MiniFlashDB.git)[EasyFlash](https://github.com/armink/EasyFlash.git)提供。

0 commit comments

Comments
 (0)