一、什么是电脑鼠
“电脑鼠”,英文名MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置(微型机器人),电脑鼠可以在不同“迷宫”中自动记忆和选择路径,采用相应的算法,快速地达到所设定的目的地。
二、电脑鼠控制系统分析
电脑鼠需要具备墙壁检测、电机控制、记忆选择路径等功能。
- 该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。
电机控制、墙壁检测和路径选择都是强实时功能需求。电机控制和墙壁检测都是周期性任务,任务周期一般为1ms。因此需要对其定时器中断事件进行实时响应,允许的实时延迟的数量级估计为微秒级。
- 如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?
需要设计电机控制任务、墙壁检测任务、运动控制任务(控制启动、停止和转向)、迷宫路径记忆选择任务。
- 这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?
电机控制任务、墙壁检测任务是时间触发,周期大约是1ms;运动控制任务、迷宫路径记忆选择任务是事件触发。
- 这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。
如下图所示,运动控制任务通过队列向电机控制任务发送电机转速值,电机控制任务根据转速值来控制电机;同时,迷宫路径记忆选择任务也依据墙壁检测任务的墙壁信息数据以及电机控制任务依据编码盘计算的位移,求解出电脑鼠在迷宫的具体位置,并向运动控制任务发送起停转向等指令。
- 这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。
不需要使用一些共享的硬件资源。