摘要: 1 前言 在这一项目中,我们采用了多线程的方式来处理不同任务的需求。在不同任务间必定会存在有一定的资源共享的情况,最简单的办法就是使用全局变量,但是这会带来一定的问题,如:资源读写的冲突等等。当然了,我们也可以使用一些常见的方法,如互斥量、信号量等等来解决这类问题。不过,Xenomai Native 阅读全文
posted @ 2017-01-10 21:44 路人233 阅读(689) 评论(2) 推荐(0) 编辑
摘要: 1 前言 考虑到命令行界面下编译程序并不如在 IDE 那么直观,再考虑到各位队友对 Linux 并不熟悉,如何大幅度地减轻整个项目的开发复杂度就是一个很重要的问题。 在 Linux 下有个很古老但很有用的自动化构建系统:make,它会读取当前目录下的 (或其它名字)作为配置文件,并依照规则全自动完成 阅读全文
posted @ 2017-01-09 16:09 路人233 阅读(475) 评论(2) 推荐(1) 编辑
摘要: 注: 本文涉及到的设计是很早就完成了,由于个人原因,到现在才发表。 1. 需求 出于文档结构化的思路考虑,有以下要求: 1. 相关联的模块应放在一起,关联程度较弱的模块应相互隔离。 2. 在命名方式上应当尽量遵寻约定俗成的方式,如 代表 documents 即说明文档、 代表 source code 阅读全文
posted @ 2017-01-09 15:11 路人233 阅读(440) 评论(2) 推荐(0) 编辑
摘要: 1 需求分析 1.1 插值算法的特征 + 输出参数(如位移、速度等)是时间的函数。 + 配置算法参数和触发计算是空间上相互独立的。 1.2 结构模型 根据1.1中的分析,参考《Head First 设计模式》,可以明显地认为这是属于典型的“策略模式”。因此,可以按照策略模式设计接口。 2 接口设计 阅读全文
posted @ 2017-01-02 17:26 路人233 阅读(431) 评论(2) 推荐(0) 编辑
摘要: 冰球游戏软件设计 信息流示意图 后台服务内部信息流示意图 注释 1. 为了平滑运动,尽量符合实际机器人开发中的条件,插值任务的时钟信号频率会远高于输出位置信息的时钟频率。 2. 冰球信号只在发生碰撞后才产生事件。 3. 插值任务、定时输出任务、调试信息输出任务已经实现。 编程作业 进度见 "Gith 阅读全文
posted @ 2016-12-20 22:12 路人233 阅读(311) 评论(1) 推荐(0) 编辑
摘要: 作业要求 见 "《实时控制软件设计》第三周作业" 1 阅读笔记——µC/OS 1.1 基本介绍 µC/OS是由Micrium公司研发的实时操作系统,以µC/OS II或µC/OS III为内核,附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器,如单片机、DSP等。它具有优秀的可移植性、 阅读全文
posted @ 2016-12-13 09:47 路人233 阅读(562) 评论(2) 推荐(0) 编辑
摘要: 状态机设计分析 根据要求,可以分为四个状态,令起落杆上限位传感器为TopSensor,下限位传感器为BottomSensor,汽车入闸传感器为CarIn,汽车出闸传感器为CarOut,则有 + S1:Idle 进入时设置通行灯为红灯,电机停止。 当汽车入闸传感器CarIn变为True时,转移到状态S 阅读全文
posted @ 2016-12-06 14:35 路人233 阅读(733) 评论(1) 推荐(1) 编辑
摘要: 下载 + 在 "Bitbucket" 上可以下载到最新的版本(截止目前为0.14版) + 或者直接用wget下载 编译 假设安装到/usr下 安装 注意,由于drawstuff没有默认安装 ,因此需要手动安装。 使用库 drawstuff在链接时需要同时链接X11、GL、GLU、m这些库,若使用cm 阅读全文
posted @ 2016-12-03 19:30 路人233 阅读(1121) 评论(2) 推荐(2) 编辑
摘要: 一、选用的控制系统简介 选用的系统案例为电脑鼠。电脑鼠是一微型自动走迷宫机器人,凭借自身的传感器来实时全自动寻迹行走。 由于传感器、电机种类等并不固定,在此案例中采用的基本硬件如下: 1. 测距:红外传感器,有0度、45度、90度等方向。 2. 轮子转速测量:与电机配合的光电编码器。 3. 电池电压 阅读全文
posted @ 2016-11-28 16:16 路人233 阅读(940) 评论(4) 推荐(0) 编辑