十六届全国大学生智能汽车竞赛-百度智慧交通-上下位机开发


前言

今年是全国大学生智能汽车竞赛-百度智慧交通组的第二年,未来随着计算设备的更新迭代,越来越多的人将会接触到高性能的边缘计算设备,实现更加复杂的任务。本文介绍了本次比赛硬件设备以及其开发实践过程。

一、上位机

本次比赛百度提供了边缘计算设备EdgeBoard,该设备作为控制中枢接收来自摄像头和其他传感器的信息,在处理后将结果发送给下位机,实现对整车的控制。

EdgeBoard计算卡Lite版(FZ3),是百度基于FPGA方案实现的轻量级嵌入式AI计算卡,适用于AI开发验证及智能硬件打造。内置Linux 4.14.0系统和深度学习预装环境,与百度大脑模型定制平台。

上位机

1.计算卡的主要架构

EdgeBoard FZ3计算卡内部搭载Linux系统,开发者可以基于Linux系统进行应用程序进行开发。
主要调用流程:1.应用程序获取视频输入->2.调用预测库加载模型->3.调度模型和底层驱动加速模块进行计算->4.获得运行结果)
计算卡架构

本次比赛推理模型基于PaddleLite,Paddle Lite是飞桨基于Paddle Mobile全新升级推出的端侧推理引擎,在多硬件、多平台以及硬件混合调度的支持上更加完备,为包括手机在内的端侧场景的AI应用提供高效轻量的推理能力。

2.计算卡接口

在这里插入图片描述
可以通过MiniDP接口连接显示器,通过USB转串口或以太网口下载程序,通过USB接口进行与摄像头和下位机的通信。

3.环境部署

(1)安装paddlelite
(2)安装驱动:转串口驱动ch341.ko 遥控器驱动joydev.ko USB驱动usbserial.ko
(3)在/etc/init.d 中设置eb.sh开启启动项
(4)部署主要代码文件 autostart,通过python环境开发不同模块

二、下位机

本次比赛使用的下位机为鲸鱼机器人提供的WOBOT主板,该主板基于Arduino和ATmega2560设计,可接入电机驱动板和舵机、传感器等设备。

1.下位机性能参数

在这里插入图片描述

硬件参数
处理器
ATmega2560处理器,时钟频率16MHz,256KB Flashrom,8K RAM
按键
共2个,一个程序复位键和程序运行键
端口
不少于6路RJ11传感器接口,可接模拟、数字、串口、IIC传感器及数字输出。提供不少于2路485串行接口,可接智能舵机,可扩展8个直流电机驱动口、4个步进电机驱动口、8个编码电机驱动口
扩展端口
8路PWM输出接口,4路模拟输入接口,1路IIC与UART硬件接口
电机驱动板
主芯片Cortex-M3处理器,主频72MHz,256k FLASH,64K RAM。4路RJ25电机接口,可接编码电机、直流电机。每路具有过电流保护功能,最大输出电流2.7A,具有软件防堵转功能。
其他设备
集成蜂鸣器、指示灯等,系统工作电压7-12.6V

2、下位机接口

下位机端口示意图:
在这里插入图片描述
扩展端口可以接入电机驱动板:
在这里插入图片描述
主板可以接入两块电机驱动板(通过电机控制ID区分),驱动板可以接入M1-M4 4个电机,P1-P6可以接入传感器和其他组件。

通过USB接口连接,下位机可以通过WOBOT提供的开发软件进行简单的开发和测试,支持C语言和模块化开发。在实际的上下位机中,需要根据通信协议解析数据包,接受上位机的结果进行处理。

三、通信协议

在上位机得到决策结果后,需要将包括电机运动参数在内的决策结果返回下位机,此时上下位机的通信需要按照协议进行,通信协议的格式如下:

帧头长度驱动板号电机号运行模式速度参数校验
长度2 字节1 字节1 字节2 字节1 字节2字节2字节
数据范围0x77、0x68Len(1-2)(1-4)(1-0)(-100-100)Sum
说明固定值帧长度根据拨码开发设定M1 对应:0x01 + 实际设备号闭环:0 开环:1电机速度设置加和校验

设备参数示例:

ACT_ENCODE_MOTOR =12, //编码电机
ACT_ENCODE_MOTOR_ALL =121, //编码电机
ACT_DC_MOTOR =53, //直流电机
ACT_SMART_MOTOR_SPEED_POS=54,//智能电机位置
ACT_SMART_MOTOR_SPEED =55,//智能电机速度
ACT_PWM_SERVO =11,//舵机

使用示例:

控制智能伺服电机的角度
set_smart_servo_angle(id, speed, angle);//77 68 06 00 02 36 01 50 02 0A
控制编码电机
set_encoder_motor(en_motor_Id, en_motor_port, en_motor_power);//77 68 06 00 02 0C 01 01 32 0A

总结

本文仅仅介绍了硬件设备的开发和使用,具体的控制逻辑需要根据实际进行设计和调整。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NathanWu7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值