《实时控制软件设计》第三周作业

一、博客作业:

1. 阅读笔记

结合本周课堂所讲的实时操作系统知识内容,浏览如下商用和开源实时操作系统网站,写一段文字向其他同学简要介绍下某个实时操作系统的性能特点或进行操作系统间性能的比较:

  • Vxworks: www.windriver.com/products/vxworks
  • QNX:www.qnx.com
  • Xenomai: xenomai.org
  • Intime: www.tenasys.com/tenasys-products/intime-rtos-family/overview-rtos
  • Sylixos: www.sylixos.com
  • ucos: www.micrium.com

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

  • 用户接口任务:负责接收来自用户的请求,并发送运动指令给轨迹插补任务。

  • 轨迹插补任务:接收运动指令,实时计算各轴的位置和速度设定值。

  • 物理引擎接口:基于ODE开源物理引擎,创建一个两轴机械手及环境的物理模型,用轨迹插补任务输出的各轴位置和速度设定值控制模型的运动,并把实时状态反馈给轨迹插补任务。

  • 图形化用户接口:可基于qt把上述功能集成到一个GUI界面。

1)请思考你最擅长或最有兴趣参与哪一个模块的开发,并写在博客上。

2)除了编程,你可以以多种形式为一个软件项目做贡献,如团队管理、需求分析、功能定义、算法设计、仿真分析、软件测试、文档写作......,快速阅读邹欣老师《构建之法》一书前五章和邹欣老师的博客(http://www.cnblogs.com/xinz),请写下你对团队协作开发的理解,以及自己在一个控制软件项目中倾向于承担的角色或任务。

3. 请本着迭代优化的精神,参照Markdown格式不断对之前发表的博客进行文字和排版上的改进。

二、实时编程作业:

1. 下载代码库并编译:

用git下载课程github主页上的代码库到虚拟机

git clone https://github.com/RTCSD2016/simple_motion.git

如果虚拟机上尚未安装cmake工具,先安装cmake

sudo apt-get install cmake

进入源代码目录,运行

cmake .
make

如果编译成功,则运行程序,查看打印输出。

./simple_motion

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

在task_trajectory_generator任务中增加代码来处理来自task_command_sender的定位运动命令new_cmd,按照该命令中给出的位置、速度、加速度、减速度,实现一个梯形加减速(原理见数控技术教材)的运动轨迹生成器,当达到目标位置时,把new_cmd.Done设为true,主程序检测到new_cmd.Done为true时将结束运行。

编程要求:

  • 轨迹生成器的代码结构能充分体现出基于状态机的编程方法。
  • 把第一个可以运行的版本发布到自己的github账号上,并不断优化和提交。
  • 创建一个TODO.md文档写下自己的编程思路和下一步要做的工作。

遇到github使用上的问题可请教老师或助教。

3. 本课程后续的个人编程练习将是不断完善这个程序,在完成基本功能的基础上可以考虑后续的改进,每次改进都提交到github上:

  • 目前用全局变量实现任务间通信,如何使用xenomai提供的任务间同步和通信机制来更好的完成这一工作?
  • 目前只考虑单个定位命令的轨迹生成,如果连续接收到多个定位命令,如何进行命令的缓冲和运动轨迹的平滑工作?
  • 能否把运动轨迹以曲线图形方式显示出来并保存到数据文件中?
  • 能否以参数文件的形式保存轨迹生成器的参数,并实现对配置文件的读写?
  • 能否以S形加减速(设定Jerk值)生成更光滑的运动轨迹?

转载于:https://www.cnblogs.com/bingc/p/6147388.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;、本 3项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReadmE.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、资 1源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READMe.m文件(如d有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值