Skip to content

Little-Master-fun/MicroGraphy_Self

Repository files navigation

微缩光电代码(SCH板)

项目概述

这是一个基于Infineon CYT4BB微控制器的双核自动驾驶小车项目(MicroGraphy2.0)。项目使用IAR开发环境,采用双核架构实现导航控制和电机控制。

项目编是部分文件时 UTF-8 编码,一些文件的“锟斤拷”是因为不小心编码保存错误了,注释被影响,但问题不大,/test中的文件可能部分无法使用,后期修改的时候没有进行维护。不用理会imu_data_logger这些文件,那是为了拟合差陀螺仪时想提取的行驶数据,不过貌似不用了。

还是说一下当时的想法吧,想的是提取行驶中的温度,左右速度,两陀螺仪数据,时间戳数据,提取完成后进行建模拟合,用差陀螺仪数据去拟合好陀螺仪数据(可用差值或全值为目标),甚至不需要太好的鲁棒性,过拟合也可以,当时想的是简单的低维神经网络完全可以处理,芯片算力也够,但没有进行实践

构建运行

编译项目

  1. 使用IAR打开工程文件:project/iar/cyt4bb7.eww
  2. 双核工程配置:
    • CM7_0核心:project/iar/project_config/cyt4bb7_cm_7_0.ewp
    • CM7_1核心:project/iar/project_config/cyt4bb7_cm_7_1.ewp

清理临时文件

# Windows系统
project/iar/删除临时文件IAR.bat

调试配置

  • 双核同时调试配置:project/iar/project_config/cm7_0_cm7_1_debug.xml

架构设计

双核架构分工

  • CM7_0核心(底层数据采集和控制):

    • IMU数据采集和AHRS姿态解算(1ms周期)
    • 编码器数据读取
    • 电机PWM控制(2ms周期)
    • 向CM7_1共享数据(5ms周期)
  • CM7_1核心(高级算法和决策):

    • 导航算法运算(5ms周期)
    • 路径规划
    • 控制指令传输给CM7_0

核心模块

  • 导航控制系统 (nav_control_ahrs.h/c):基于航向角和里程的导航系统,支持路径点记录和回放
  • IMU AHRS互补滤波 (imu_ahrs_complementary.h/c):姿态解算
  • 电机控制 (motor_control.h/c):双PID控制(直行/转弯)
  • 双核通信 (dual_core_comm.h/c):核间数据共享机制

关键配置参数

位于 project/code/config/config_infineon.h

  • 导航参数:轮距0.134m,轮径0.065m
  • 最大路径点数:2000
  • 每点距离:4mm
  • 控制周期:CM7_0(1-2ms),CM7_1(5ms)

代码组织结构

project/
├── code/          # 用户代码目录
│   ├── config/    # 配置文件
│   ├── control/   # 控制算法(导航、电机、IMU)
│   ├── drivers/   # 硬件驱动(编码器、电机、imu感器)
│   ├── test/      # 测试模块
│   └── ui/        # 用户界面
├── user/          # 主程序入口
│   ├── main_cm7_0.c  # CM7_0核心主程序
│   └── main_cm7_1.c  # CM7_1核心主程序
└── iar/           # IAR工程文件

libraries/         # 逐飞科技提供的底层库
├── zf_driver/     # 硬件驱动抽象层
├── zf_device/     # 外设驱动库
└── sdk/           # Infineon SDK

导航系统工作流程

  1. 生成测试路径(正方形/长方形/直线)
  2. CM7_0采集IMU和编码器数据,计算姿态和里程
  3. CM7_1执行导航算法,计算目标航向角
  4. 通过PID控制计算左右轮速度差
  5. CM7_0执行电机PWM输出

注意事项

  • 文件编码:代码文件使用GBK编码(中文注释)
  • GPL3.0开源协议
  • 基于逐飞科技CYT4BB开源库

代办

  • 验证惯导精度问题(已完成,4min内肉眼不可见偏差)
  • 验证编码器在高速状态下的误差范围

About

微缩光电代码,基于逐飞科技库函数开发

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages