<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[P837091317的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/P837091317</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; P837091317]]></copyright><item><title><![CDATA[团队项目·冰球模拟器——任务间通信、数据共享等设计]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160650</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160650</guid><author>P837091317</author><pubDate>Tue, 10 Jan 2017 21:44:00 +0800</pubDate><description><![CDATA[1 前言
在这一项目中，我们采用了多线程的方式来处理不同任务的需求。在不同任务间必定会存在有一定的资源共享的情况，最简单的办法就是使用全局变量，但是这会带来一定的问题，如：资源读写的冲突等等。当然了，我们也可以使用一些常见的方法，如互斥量、信号量等等来解决这类问题。不过，Xenomai Native Skin 本身就提供了大量常用算法，简化我们的开发过程。因此，下文将着介绍如何利用 Xe...]]></description><category></category></item><item><title><![CDATA[团队项目·冰球模拟器——cmake 自动化构建系统的配置文件的编写]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160656</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160656</guid><author>P837091317</author><pubDate>Mon, 09 Jan 2017 16:09:00 +0800</pubDate><description><![CDATA[1 前言
考虑到命令行界面下编译程序并不如在 IDE 那么直观，再考虑到各位队友对 Linux 并不熟悉，如何大幅度地减轻整个项目的开发复杂度就是一个很重要的问题。
在 Linux 下有个很古老但很有用的自动化构建系统：make，它会读取当前目录下的Makefile（或其它名字）作为配置文件，并依照规则全自动完成相应的构建命令。但是有个坏处是：它相对来说比较难编写，不那么容易上手。因此又...]]></description><category></category></item><item><title><![CDATA[团队项目·冰球模拟器——文件结构设计]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160655</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160655</guid><author>P837091317</author><pubDate>Mon, 09 Jan 2017 15:11:00 +0800</pubDate><description><![CDATA[注：本文涉及到的设计是很早就完成了，由于个人原因，到现在才发表。
1. 需求
出于文档结构化的思路考虑，有以下要求：

相关联的模块应放在一起，关联程度较弱的模块应相互隔离。
在命名方式上应当尽量遵寻约定俗成的方式，如doc代表 documents 即说明文档、src代表 source code files 即源代码文件等等。

出于编程和源代码管理的角度考虑，有以下要求：

本项目采用...]]></description><category></category></item><item><title><![CDATA[团队项目·冰球模拟器——插值算法接口设计]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160649</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160649</guid><author>P837091317</author><pubDate>Mon, 02 Jan 2017 17:26:00 +0800</pubDate><description><![CDATA[1 需求分析
1.1 插值算法的特征

输出参数（如位移、速度等）是时间的函数。
配置算法参数和触发计算是空间上相互独立的。

1.2 结构模型
根据1.1中的分析，参考《Head First 设计模式》，可以明显地认为这是属于典型的“策略模式”。因此，可以按照策略模式设计接口。
2 接口设计
由于C++的自由度远比Java的高，故可以不完全按Java的设计模式处理实现问题。
2.1 算...]]></description><category></category></item><item><title><![CDATA[第四周作业]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160651</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160651</guid><author>P837091317</author><pubDate>Tue, 20 Dec 2016 22:12:00 +0800</pubDate><description><![CDATA[冰球游戏软件设计
信息流示意图

后台服务内部信息流示意图

注释

为了平滑运动，尽量符合实际机器人开发中的条件，插值任务的时钟信号频率会远高于输出位置信息的时钟频率。
冰球信号只在发生碰撞后才产生事件。
插值任务、定时输出任务、调试信息输出任务已经实现。

编程作业
进度见Github仓库
插值算法类的设计
已完成实现并且在simple_motion项目中使用，可以独立编译成库文件。...]]></description><category></category></item><item><title><![CDATA[第三周作业、实时操作系统µC/OS介绍及其它内容]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160647</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160647</guid><author>P837091317</author><pubDate>Tue, 13 Dec 2016 09:47:00 +0800</pubDate><description><![CDATA[作业要求
见《实时控制软件设计》第三周作业
1 阅读笔记——µC/OS
1.1 基本介绍
µC/OS是由Micrium公司研发的实时操作系统，以µC/OS-II或µC/OS-III为内核，附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器，如单片机、DSP等。它具有优秀的可移植性、功能可伸展性等特点，是抢占式的硬实时多任务操作系统。1
它是以源代码的形式分发，附有相当完善的资...]]></description><category></category></item><item><title><![CDATA[第二周作业、停车场门禁控制系统状态机]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160652</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160652</guid><author>P837091317</author><pubDate>Tue, 06 Dec 2016 14:35:00 +0800</pubDate><description><![CDATA[状态机设计分析
根据要求，可以分为四个状态，令起落杆上限位传感器为TopSensor，下限位传感器为BottomSensor，汽车入闸传感器为CarIn，汽车出闸传感器为CarOut，则有

S1：Idle

进入时设置通行灯为红灯，电机停止。
当汽车入闸传感器CarIn变为True时，转移到状态S2

S2: BarrierRising

进入时设置电机正转，保持通行灯状态
当上限位传...]]></description><category></category></item><item><title><![CDATA[Open Dynamics Engine for Linux 安装笔记]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160643</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160643</guid><author>P837091317</author><pubDate>Sat, 03 Dec 2016 19:30:00 +0800</pubDate><description><![CDATA[下载

在Bitbucket上可以下载到最新的版本（截止目前为0.14版）
或者直接用wget下载

wget "https://bitbucket.org/odedevs/ode/downloads/ode-0.14.tar.gz"
编译
假设安装到/usr下
# 解压
tar xf ode-0.14.tar.gz
cd ode-0.14

# 依赖安装
sudo apt instal...]]></description><category></category></item><item><title><![CDATA[第一周作业、典型实时控制系统案例分析]]></title><link>https://blog.youkuaiyun.com/P837091317/article/details/101160644</link><guid>https://blog.youkuaiyun.com/P837091317/article/details/101160644</guid><author>P837091317</author><pubDate>Mon, 28 Nov 2016 16:16:00 +0800</pubDate><description><![CDATA[一、选用的控制系统简介
选用的系统案例为电脑鼠。电脑鼠是一微型自动走迷宫机器人，凭借自身的传感器来实时全自动寻迹行走。
由于传感器、电机种类等并不固定，在此案例中采用的基本硬件如下：

测距：红外传感器，有0度、45度、90度等方向。
轮子转速测量：与电机配合的光电编码器。
电池电压测量：数字电流传感器。用于补偿。
电机：直流电机。
加速度计。
无线传输。

二、该系统有哪些强实时功能需...]]></description><category></category></item></channel></rss>