zoukankan      html  css  js  c++  java
  • 《实时控制软件设计》第三周作业

    一.阅读笔记:

    1. Xenomai简介:

    • Xenomai 是一种采用双内核机制的Linux 内核的强实时扩展。由于Linux 内核本身的实现方式和复杂度,使得Linux 本身不能使用于强实时应用。在双内核技术下,存在一个支持强实时的微内核,它与Linux 内核共同运行于硬件平台上,实时内核的优先级高于Linux 内核,它负责处理系统的实时任务,而Linux 则负责处理非实时任务,只有当实时内核不再有实时任务需要处理的时候,Linux 内核才能得到运行的机会。
    • Xenomai 基于Adeos(Adaptive Domain Environment for Operating System)实现双内核机制。Adeos 的设计目标是为操作系统提供一个灵活的、可扩展的自适应环境,在这个环境下,多个相同或不同的操作系统可以共存,共享硬件资源。目前,Adeos 是基于Linux 内核实现的,主要的应用是在Linux 的实时化方面,使基于Linux 的系统能满足强实时的要求(例如Xenomai 和RTAI3.2 以上版本都是基于Adeos 实现的)。在基于Adeos 的系统中,每个操作系统都是在独立的域内运行(但不一定所有的域实现的都是操作系统,也可以是完成其它功能的软件实体),每个域可以有独立的地址空间和类似于进程、虚拟内存等的软件抽象层,而且这些资源也可以由不同的域共享。
    • Xenomai 在Adeos 系统中的域优先级高于Linux 域,每当中断到来之后,Adeos先调度Xenomai 对该中断进行处理、执行中断相应的实时任务,只有当Xenomai 没有实时任务和中断需要处理的时候,Adeos 才会调度Linux 运行,这就保证了Xenomai的中断响应速度和实时任务不受Linux 的影响,从而提供了实时系统的可确定性。Xenomai 实时内核为开发强实时应用提供了丰富的功能,主要包括实时线程调度与管理、用户空间实时任务支持、线程同步服务、时钟服务、中断服务、动态内存申请和实时对象注册服务等。

    2. 团队项目

    2.1项目简介:

    完成一个团队项目,主要功能是实现一个两轴机械手的运动控制仿真,主要功能包括:

    • 用户接口任务:负责接收来自用户的请求,并发送运动指令给轨迹插补任务。
    • 轨迹插补任务:接收运动指令,实时计算各轴的位置和速度设定值。
    • 物理引擎接口:基于ODE开源物理引擎,创建一个两轴机械手及环境的物理模型,用轨迹插补任务输出的各轴位置和速度设定值控制模型的运动,并把实时状态反馈给轨迹插补任务。
    • 图形化用户接口:可基于qt把上述功能集成到一个GUI界面。

    2.2感兴趣模块:

    对物理引擎接口模块比较感兴趣,之前也有接触过Unity3D物理引擎。

    2.3团队协作开发的理解:

    团队有一致的集体目标, 团队要一起完成这目标。团队成员有各自的分工, 互相依赖合作, 共同完成任务。在一个控制软件项目中倾向于做仿真分析的任务。

    二.实时编程作业:

    1. 下载代码库并编译:

    2. 编程实现定位运动轨迹生成器:

    a simple motiom control demo

  • 相关阅读:
    学习 TList 类的实现[8]
    System.SetString 获取字符串
    System.Odd 判断一个整数是不是奇数
    问与答[2008331]
    System.Val 将字符串转换为数字
    事件自调用 回复 maxcool 的问题
    JS操作select相关方法:新增 修改 删除 选中 清空 判断存在 等
    自由人生 从容生活
    [引]智能设备开发演练:创建用于设备的 Windows 窗体应用程序
    gentle做的分页控件
  • 原文地址:https://www.cnblogs.com/syth/p/6169020.html
Copyright © 2011-2022 走看看