锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

激光雷达避障小车的制作

时间:2023-10-12 02:37:00 igt202传感器

为什么用RT-Thread

提供多线程编程作为主控芯片的实时系统.汽车的每一个重要功能都需要单独作为线程.如小车的mpu9250姿态解决姿态角(Roll、Pitch、Yaw )单独使用线程的过程(mpu9250),小车的PID控制速度的代码也单独使用线程(speed).每个功能线程(mpu9250,speed...等)将处理各自的数据以获得结果,必要时将这些结果提供给主线程(master)使用.也正是因为rt-thread优先级全抢占调度使重要线程能够及时处理.另外rt-thread提供的finsh/msh它在调试过程中起着重要的作用,也可以通过远程蓝牙串口控制汽车的行为.

实物图

8beb03978ee818f23247599fa0a2d4a8.png

主控芯片:STM32F429IGT6

激光雷达、蓝牙串口、无线射频模块等主要配件,MPU9250九轴姿态模块,电机驱动芯片l298n.两个自带AB相编码器的电机.履带一对.

编译环境:MDK525

RT-Thread版本:3.0.2

硬件设计

激光雷达通过串口通信和pwm控制转速.

通过射频模块uart6通信.使用rt-thread事件通知消息的到来.

作为蓝牙串口msh终端的输出.方便调试.

mpu9250模块通过i2c通信.

软件设计

master线程负责创建其他子线程和处理各种子线程后的信息.

eaix4线程控制激光雷达上传到消息队列,分析激光雷达的版本信息、状态和扫描数据.

mpu9250线程通过dmp姿态解算出 姿态角(Roll、Pitch、Yaw ).

speed采集线程stm429自带编码器和pwm输出,PID控制电机转速.

几个主要命令

命令

功能

eaix4cmd -gvf

输出激光雷达版信息.

eaix4cmd -sc

汽车开始扫描,启动避障功能.

eaix4cmd -s

激光雷达停止扫描,但不会停止.

carMove -f

小车向前.

carMove -b

小车后退.

carMove -l

小车左转.

carMove -r

小车右转.

操作演示GIF

小车效果

源码以及PCB

https://github.com/balanceTWK/LidarCar.git

放置下载的代码rt-thread-3.0.2\bsp\直接打开目录project.uvprojx文件即可.或者在我的百度云下载完整的代码. 百度云地址:https://pan.baidu.com/s/1he8LQZstRXENBMgs_tQ5Mw

轻轻一扫 欢迎关注~

假如感觉好,请

转发

转发

转发

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章