# CarOS:小车驱动程序及应用程序接口
## :book: 简介
### 当前版本v1.3.1
**CarOS是什么**
CarOS是针对于电赛(使用STM32及MSP432)开发的小车专用的一套底层驱动程序及浅层应用程序接口,能够满足用户在其上开发一些应用程序而减少对于驱动的接触,帮助用户在最短时间内搭建一辆小车。
**CarOS不是什么**
CarOS不是操作系统(Operating System),它还需要依赖其他实时操作系统,如FreeRTOS等才能正常发挥作用。在未来会考虑封装FreeRTOS进入CarOS而使CarOS变成基于FreeRTOS的小车操作系统,这也是该项目以OS为名的一个原因。
## :rocket: 特性
**高可移植性**
只需配置很少一部分代码即可在STM32或MSP432平台上运行。
**高可扩展性**
可扩展直流电机驱动、直流电机速度环控制算法、车体运动学闭环控制算法,且均留有标准接口和扩展教程。
**便于调试**
自带串口控制台,可使用命令控制小车;自带小车日志记录,可及时了解小车异常情况
```
load app "dmesg"
load app "smv"
load app "shmpid"
load app "smpid"
load app "scv"
load app "mpidsa"
load app "pkg"
Console ready.
debug init done.
Left Front Motor initialization done.
Left Front Motor adding PID velocity controller succeed.
Left Front Motor has mounted L298N driver.
Left Rear Motor initialization done.
Left Rear Motor adding PID velocity controller succeed.
Left Rear Motor has mounted L298N driver.
Right Front Motor initialization done.
Right Front Motor adding PID velocity controller succeed.
Right Front Motor has mounted L298N driver.
Right Rear Motor initialization done.
Right Rear Motor adding PID velocity controller succeed.
Right Rear Motor has mounted L298N driver.
car set move towards 0.00degree at speed 40.00cm/s, at angular velocity 0.00rad/s.
car set move towards 10.00degree at speed 20.00cm/s, at angular velocity 4.00rad/s.
```
**模块可拆卸**
只需删减部分代码,各模块均可拆卸出来单独使用。
**注释详尽**
代码带有大量注释,便于用户了解实现原理,这也是为了希望用户能多提出代码的弊病和不足之处。
## :robot: 开始上手
[开始上手](https://github.com/Pansamic/CarOS/blob/master/docs/%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97/CarOS-user%20manual.md)
### 帮助
对于各个模块的说明及帮助都写在对应模块的文档中了(有一些尚未写完),用户可以查看对应的文档寻找帮助。
如有问题或者对CarOS的建议,请联系邮箱`pansamic@foxmail.com`
欢迎各位为CarOS添加更多驱动、更多小车模型、更多上层应用程序~~
## :earth_asia: 当前支持
### 小车模型
1. 4轮麦克纳姆轮小车模型
### 电机速度环算法
1. PID算法
### 直流电机驱动
1. L298N模块
### 串口命令控制台
PC机使用串口调试工具向小车发送命令以使小车执行命令相关程序
## :bookmark_tabs: 未来计划
### v1.4
1. 小车模型加入对姿态传感器的通用接口
2. 增加姿态传感器MPU6050驱动
3. 增加A4950直流电机驱动
### v1.5
1. 全面支持MSP432
2. 增加姿态传感器ICM20640的驱动
### v1.6
1. 增加OpenMV的驱动及少量应用程序
### v1.7
1. 加入SPI-Flash芯片驱动
2. 提供将日志存储至SPI-Flash的选项
### v2.0
1. 封装FreeRTOS
## :open_file_folder: 仓库结构
`CarOS/src`:源代码文件夹,存放了CarOS驱动库。
`CarOS/docs`:文档文件夹,存放了CarOS的各类文档。
`CarOS/demo`:样例文件夹,存放了使用CarOS的直接可使用样例。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
资源推荐
资源详情
资源评论
收起资源包目录
电赛小车系统;智能车;小车运动学模型;STM32;MSP432.zip (283个子文件)
stm32f4xx_hal_tim.c 238KB
tasks.c 169KB
stm32f4xx_hal_rcc_ex.c 152KB
stm32f4xx_hal_uart.c 129KB
queue.c 91KB
stm32f4xx_hal_tim_ex.c 80KB
stm32f4xx_hal_flash_ex.c 49KB
cmsis_os.c 48KB
stream_buffer.c 41KB
stm32f4xx_hal_rcc.c 41KB
timers.c 39KB
stm32f4xx_hal_dma.c 39KB
c_io.c 29KB
c_io.c 29KB
port.c 29KB
c_pkgproc.c 27KB
system_stm32f4xx.c 26KB
c_pkgproc.c 26KB
event_groups.c 25KB
stm32f4xx_hal_flash.c 23KB
stm32f4xx_hal_pwr_ex.c 22KB
stm32f4xx_hal_pwr.c 20KB
stm32f4xx_hal.c 19KB
stm32f4xx_hal_gpio.c 18KB
stm32f4xx_hal_cortex.c 18KB
c_4wheel_mecanum.c 18KB
c_4wheel_mecanum.c 18KB
heap_4.c 15KB
tim.c 15KB
stm32f4xx_hal_exti.c 15KB
c_debug.c 13KB
c_debug.c 13KB
c_command.c 13KB
c_command.c 13KB
croutine.c 13KB
stm32f4xx_hal_dma_ex.c 10KB
c_DCmotor.c 10KB
c_DCmotor.c 10KB
list.c 8KB
main.c 7KB
L298N_Driver.c 6KB
L298N_Driver.c 6KB
c_memory.c 6KB
c_memory.c 6KB
stm32f4xx_hal_flash_ramfunc.c 6KB
freertos.c 6KB
stm32f4xx_it.c 6KB
usart.c 4KB
c_tf_luna.c 3KB
c_tf_luna.c 3KB
gpio.c 3KB
c_controller.c 3KB
c_controller.c 3KB
c_encoder.c 3KB
c_encoder.c 3KB
syscalls.c 3KB
sysmem.c 3KB
c_car.c 2KB
c_car.c 2KB
DCMotor_driver.c 2KB
DCMotor_driver.c 2KB
stm32f4xx_hal_msp.c 2KB
c_app.c 2KB
c_app.c 2KB
c_builtinapp.c 2KB
c_builtinapp.c 2KB
dma.c 2KB
c_6wheel_mecanum.c 1KB
c_6wheel_mecanum.c 1KB
c_4wheel_differential.c 1KB
c_4wheel_differential.c 1KB
c_4wheel_omni.c 1KB
c_4wheel_omni.c 1KB
c_2wheel_differential.c 1KB
c_2wheel_differential.c 1KB
c_2wheel_balance.c 1KB
c_2wheel_balance.c 1KB
c_3wheel_omni.c 1KB
c_3wheel_omni.c 1KB
c_akerman.c 1KB
c_akerman.c 1KB
.cproject 30KB
stm32f407xx.h 1.27MB
stm32f4xx_hal_rcc_ex.h 423KB
stm32f4xx_ll_rcc.h 333KB
arm_math.h 241KB
stm32_hal_legacy.h 215KB
stm32f4xx_ll_tim.h 170KB
core_cm33.h 169KB
core_armv8mml.h 162KB
core_cm7.h 142KB
stm32f4xx_hal_tim.h 119KB
core_cm4.h 119KB
core_cm3.h 107KB
core_sc300.h 106KB
stm32f4xx_ll_dma.h 105KB
task.h 103KB
core_cm23.h 100KB
stm32f4xx_ll_bus.h 97KB
stm32f4xx_ll_usart.h 95KB
共 283 条
- 1
- 2
- 3
资源评论
普通的一个普通猿
- 粉丝: 1469
- 资源: 1897
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Delphi 12 控件之LMD VCL Complete v2024.4.7z
- 基于Python、JavaScript、CSS、HTML的疫情分析可视化设计源码
- Unity 通用选择角色面板
- 基于Python的选课信息管理系统设计源码
- Qt联合海康威视工业相机采集,在线转Halcon变量并显示(独立封装、支持多相机、支持黑白相机和彩色相机)
- Delphi 12 控件之unidac-10.3.0-d28pro.exe
- 基于Numpy和Boost::Python实现的矩量法
- 基于Java Server Pages的医院信息管理系统设计源码
- 基于鸿蒙服务卡片的Java和CSS实现的分布式连连看游戏设计源码
- 基于ExoPlayer框架的华为WisePlay DRM集成演示源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功