机器人对关键帧信息的获取与处理

  • Hinge Joint

    • NAO机器人的所有关节均为Hinge Joint。每个关节定义为一个Hinge Joint
    • BodyModel类中的成员变量joint为一个存放了所有关节的vector,每一个关节是一个SIMJoint类型变量,SIMJoint类中只有角度一个成员变量
    • 在headers.h中将所有HJ的名称define为整数,对应每个关节在joint中的下标
  • Perceptor 和 Effector
    • Perceptor用于表示每个关节的状态,一个HJ perceptor信息只包含关节名称和关节角度,Perceptor信息由服务器送给机器人
    • Effector用于控制Hinge Joint动作,一个HJ effector信息只包含名称和角速度,Effector信息由机器人送给服务器
  • 机器人接收服务器信息并处理的流程
    • main函数调用Run()
    • Run中创建NaoBehavior类的对象behavior,初始化后循环调用behavior的Think()成员函数处理来自服务器的信息msg
    • Think函数调用NaoBehavior已经初始化的parser的parse()函数解析信息
    • parse函数逐个处理服务器信息中的各个字段,其中与关节动作有关的是parseHingeJoint()函数
    • parseHingeJoint函数将Perceptor信息中的角度提取出来并对BodyModel的joint变量进行更新
    • Think函数在根据解析的信息进行一系列操作后,最后调用了composeAction()函数
    • composeAction函数使用bodyModel的computeTorque()函数逐个计算各个关节的扭矩(或许是角速度),并将计算结果构成Effector信息发送给服务器
    • computeTorque函数调用关节对应effector的updateErrors()函数更新3个error并用更新后的结果进行计算,最终效果是实现了根据PID公式推定当前时刻关节角速度
  • 捕捉关键帧的工作方向
    • 首先令机器人执行某一技能,将机器人发送至服务器的所有Effector信息改为写入一个文件,并对这个文件进行读取处理得到各个时刻PID输出的角速度
    • 根据PID公式反推技能中每个关键帧的关节状态,注意 Apply Acceleration Sampling to Learn Kick Motion for NAO Humanoid Robot 这篇论文的PID反推公式需要修改

IND-gyc-第三周相关推荐

  1. 软件工程学习进度第三周暨暑期学习进度之第三周汇总

    第三周,本周并未将重心放在java学习上,只是在教数据结构的刘老师留的暑假作业PTA练习题上使用java进行编程,本周的重心主要放在机器学习上,javaweb只是了解了一部分jQuery的内容,优化了 ...

  2. 提高班第三周周记(中秋第一天)

    这是第三周,也是中秋节.没有月饼的中秋节.但我过得很充实.我很快乐,发自内心的. 中秋第一天早上贾琳师哥讲课.讲他为什么辞职来这里.他的确学成,有着令人羡慕的工资.可是他的问题让我触动. 提到了邓稼先 ...

  3. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  4. 在首次发布三周之后,MLflow迎来了0.2版本

    在今年的Spark+AI峰会上,MLflow团队推出了MLflow,一个开源的用于简化机器学习生命周期的平台.从首次发布到现在的三周时间里,已经有很多数据科学家和工程师对使用MLflow和为MLflo ...

  5. 清华贵系的期末大作业:奋战三周,造台计算机!

    大数据文摘授权转载自AI科技评论 作者 | 蒋宝尚 编辑丨陈彩娴 本科大三,正在学习计算机组成原理,能做个什么项目? 清华大学贵系说:造台计算机吧! 清华有门本科三年级必修课,名为<计算机组成原 ...

  6. 三周写出高性能的Python代码,这些小技巧你值得一试。

    1一个不上进的 Python 使用者 我是一个有 C 语言背景的开发者.最近转做了 Python,平时用 Python 还算 6,这周在给新员工分享工作之后,有个小孩跑来问我:"哥,你是学 ...

  7. 5月第三周全球域名解析商Top15:万网DNSPod份额上涨

    IDC评述网(idcps.com)05月27日报道:据域名统计机构WebHosting.info数据得知,在5月第三周(5月13日-5月19日)期间,全球域名市场基本保持稳定.与上周相比,美国域名解析 ...

  8. 2019-2020-3 《Java 程序设计》第三周知识总结

    2019-2020-3 <Java 程序设计>第三周知识总结 1.类的定义 语法格式如下(加[]表示可选项): [修饰符] class 类名 { 属性定义(声明) 方法定义(声明)} 2. ...

  9. 学号 20172326 《程序设计与数据结构》第三周学习总结

    学号 20172326 <程序设计与数据结构>第三周学习总结 教材学习内容总结 队列是先进先出的数据结构(FIFO)与栈不同,队列的两端可分别进行操作 first与front相同,返回首段 ...

  10. .INFO域名总量跌破700万,8月第三周净减51,477个

    中国IDC评述网08月23日报道:近日,据WebHosting.info公布的数据显示,截至2012年8月20日,全球.INFO域名注册总量已跌破700万个,为6,976,763个,8月第二周持续负增 ...

最新文章

  1. usaco Job Processing(mark)
  2. NeurIPS 2020论文评审结果出炉,提前拒稿、作者审稿惹争议,网友:改投别家吧...
  3. 腾讯医疗AI新突破:提出器官神经网络,全自动辅助头颈放疗规划 | 论文
  4. 使用LinqToExcel读取Excel
  5. 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法
  6. 数据结构与算法笔记 —— 十大经典排序及算法的稳定性
  7. Linux学习之嵌入式Linux编程文件IO(C语言版)
  8. 教你如何塑造JavaScript牛逼形象
  9. Vuejs 插值操作
  10. MySQL的lock tables和unlock tables的用法
  11. Windows server WSUS补丁服务器搭建
  12. sitemesh初步
  13. JavaScript正则表达式学习笔记之一 - 理论基础
  14. 如何设置二级域名解析(新手小白必看)
  15. CV2 找不到指定模块
  16. flappy bird java源码_Java实现Flappy Bird游戏源码
  17. 长短时记忆网络(Long Short Term Memory,LSTM)详解
  18. 计算机基础是不是java_计算机基础与java
  19. 2018数字化首席营销官峰会暨华鹰奖颁奖典礼即将召开
  20. 触屏手指滑动计算演示

热门文章

  1. 华为P30pro手机电路图
  2. word中如何单栏与双栏混排
  3. 牛客 - 把字符串转换成整数
  4. lower_bound()和upper_bound()的简单讲解
  5. tomcat无故宕机 哪位大神给看看
  6. 微信小程序--代码包压缩策略
  7. 上海大学计算机测试补考,16年上海大学计算机专硕经验总结
  8. RPG Maker MV插件系统详解与如何编写插件
  9. Python爬虫——浏览器实现抓包过程详解
  10. Java软件工程师需要掌握哪些知识技巧?