IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 十六届全国大学生智能汽车竞赛-百度智慧交通-上下位机开发 -> 正文阅读

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


前言

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

一、上位机

本次比赛百度提供了边缘计算设备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

总结

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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:04:50  更:2021-09-03 12:05:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:37:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码