wēnxiǎojìng · 2021年09月05日

【2021集创赛】航天微电子杯国二作品分享——基于BMTI高可靠SPARC处理器的智能控制系统设计

本作品介绍参与极术社区的有奖征集|秀出你的集创赛作品风采\,免费电子产品等你拿\~

团队价绍

参赛单位:上海应用技术大学
参赛队伍:犇犇牛
指导老师:蒋文萍 丁肇红
参赛队员:温晓静 韩文超 黄辉
参赛赛道:航天微电子杯
获奖情况:全国总决赛二等奖,华东赛区二等奖

1.摘要

为了解并研究火星探测相关技术,本项目以北京航天微电子科技的BM3823微处理器为核心处理器,结合其高可靠性高抗辐射的特性,设计实现了一个具备基本功能的仿真“火星车”平台。该平台最大化利用BM3823外设资源,用GPIO实现红外检测、超声测距等,用UART中断实现远程控制、数据回传,制定了相关串口传输协议,用IIC实现机械臂舵机组控制、OLED显示和环境感知,用定时器中断实现二级线程划分,包括通讯线程与控制线程,用SPI转CAN实现了车体控制。整合上述相关资源,实现远程控制、图像回传、机械臂遥控抓取、系统状态监测、环境感知、智能避障等多种功能。

2.作品背景

天问一号火星探测器在成功抵达火星之后被一分为二,其中一部分继续围绕火星的轨道继续绕行,而另一部分携带着“祝融号”火星车成功着陆火星表面,2021年5月17日,祝融号火星车首次通过环绕器传回遥测数据。 2021年 5月22日10时40分,“祝融号”火星车已安全驶离着陆平台,到达火星表面,开始巡视探测。 随着一系列的壮举完成之后,宣告着我国正式开启了对于火星的探索。

3.作品意义

在BMTI高可靠300MHz处理器SPARC处理器的基础上,扩展子板系统,构建一种智能控制系统,通过系统方案设计,旨在最大化利用处理器资源。根据目前航天需求,结合航天中的复杂环境,设计一种“火星车”,可以应对复杂环境,并可实现基本功能需求。本项目以火星车为研究对象,结合火星车在火星上执行任务的特点,设计开发相应功能Demo,对火星车控制技术技术研究开发有积极的探索和启蒙意义。

4.作品介绍

4.1 系统架构

image.png

系统架构图如上图所示,整个系统分为硬件系统和软件系统,我们根据整个系统的功能需求,确定了系统的电压等级与电流裕量,设计了电源系统,主要用于核心板的供电、“火星车”车体的供电、机械臂供电与外围传感器电路供电。根据每个功能模块设计了对应的电路子板,并在各个子板的基础上,编写了响应的驱动代码,旨在通过使用BM3823开发板实现相应功能,并最大化利用BM3823资源。除此之外,我们采用库函数编程思想,对BM3823的绝大多数基础外设资源进行了函数封装,并一一进行了稳定性测试,可最大化减少后续人员的开发时间,提升开发效率。

4.2 实现功能

  • 远程行驶
    用户可通过远程控制端实现远程控制功能,可控制“火星车”的基本运动,包括前进、后退、左转、右转,同时可控制车体的运行速度与车体前置灯光,用户可下发“漫游”命令,使“火星车”以自动避障状态行驶,也可下发机械臂控制指令,实现机械臂的控制。
  • 系统状态回传及监测
    系统状态可以通过无线串口回传至上位机,具体包括“火星车”移速与转速反馈、故障反馈、电机温度反馈、灯光状态反馈、测距反馈、控制指令反馈等,其中故障反馈又包括电池欠压故障、电机通讯故障、电机过流故障等,用户可通过遥控远程清除故障。
  • 机械臂遥控抓取
    为满足火星探测任务,设计了车载机械臂,机械臂驱动与BM3823开发板通过IIC通讯,可使用遥控器远程控制机械臂,机械臂上搭载摄像头,可以实时图传,从而实现抓取任务。
  • 环境感知
    为满足火星探测任务,设计了气体检测单元,包括有可燃气体检测、一氧化碳检测,增设了光敏与热敏感知单元,可以粗略检测环境光与环境温度,通过ADC芯片将数据传输至开发板,进而远程传输给用户控制端,实现基本的环境感知任务。

4.3 系统设计

4.3.1 硬件设计
  • “火星车”底盘选型

为了加快该作品关键技术研究,结合考虑需要实现的功能以及最后成品的美观,该项目直接选用了由松灵机器人(深圳)有限公司生产的SCOUT MINI机器人底盘,该底盘是一款全地形高速Mini UGV,具有四轮差速驱动、独立悬挂、原地差速自转等功能,非常符合火星车原型的需求,该底盘车载空间极大,可以非常方便的将BM3823开发板嵌入其中,而且也有富足的空间搭载机械手等“火星任务”设备。该底盘提供了CAN接口的控制方式。供电为24V。
image.png

  • 扩展板设计
    由于开发板并未将全部资源以排针形式引出,为了更加方便的扩展外设,自己设计了与开发板板对板连接的扩展板,其设计效果如下图所示:
    image.pngimage.png
  • 无线遥控器设计
    为了完成对“火星车”的远程遥控操作,采用STM32单片机设计了一款遥控器,其实物图如下图所示。
    image.png
4.3.2 软件设计
  • 底层库函数封装
    由于所采用处理器是一款基于sparc内核的处理器,也是一款比较小众的处理器,可查可借鉴资料较少,编程都是基于配置寄存器进行编程,为了使系统的可维护性更高,本作品基于C语言对BM3823的寄存器进行了接口封装。
  • 应用层软件设计
    基于BM3823高性能处理器的“火星车”底盘控制为CAN总线控制,控制模式为指令控制,可以直接通过BM3823发送指令控制车体的移动,指令的接收是通过遥控远程实现的。车体上电后,BM3823等待遥控指令,并回传画面至上位机界面,可实现以下功能:
    (1)遥杆控制“火星车”基本运动;
    (2)发送“巡逻”命令实现自动避障;
    (3)超声测距;
    (4)灯光控制;
    (5)机械臂操控;
    (6)故障清除;
    (7)数据回传;
    (8)状态监测。
    整体系统流程图如图所示:
    image.png
  • 远程监控软件
    由于火星车工作场景的特殊,一般火星车的任务执行都是远程人员操控来完成,因此需要设计一个用于与火星车远程交互的上位机软件,我们使用PyQt来完成上位机设计。界面主要包含基本的火星车状态信息实时显示、现场画面回传显示,以及火星车远程操控,参数设置等人车交互功能。
    image.png

4.4 系统测试验证

最后作品的成品图如图所示:
image.png
① 摄像头
② 超声波
③ 机械臂
④ 光电传感器
⑤ 网络图传
⑥ 子板扩展
⑦ 无线串口
⑧ BM3823开发板
⑨ GPS导航仪
⑩ “火星车”底盘

针对最初的功能需求,我们分别对无线遥控、实时图传、基础避障、上位机显示以及机械臂抓取进行了实验,实验结果表明,基本达到了预期要求。

image.pngimage.png

作品内容来源于犇犇牛队,非开源,转载请标明出处。
欢迎大家参加极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动,10月1日截止~
推荐阅读
关注数
18728
内容数
130
基于Arm技术竞赛作品的分享,欢迎交流~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息