在cozmo的python sdk中的01_basics看到有两种运动控制方式,分别出现在02_drive_and_turn.py和05_motors.py。

简言之,两种方法一种是针对结果进行控制,一种是针对过程的控制。但是从根源上讲,其实也都是一样的。

在示例02中,对机器人是这样控制的:

robot.drive_straight(distance_mm(150), speed_mmps(50)).wait_for_completed()
robot.turn_in_place(degrees(90)).wait_for_completed()

第一行是对行进运动的要求,前进150mm,速度为50mmps。mmps这个单位是指每秒行进多少毫米(millimeters per second)。

第二行是对旋转运动的要求,逆时针旋转90°。

由下图可以看出,cozmo行进距离的精准度还是挺不错的。

顺便吐槽一句,图片不能大于5m可真麻烦啊。

再看示例 05的控制方式:

robot.drive_wheels(25, 50)
robot.drive_wheels(50, -50)

由于cozmo用的是同步带传动,所以对于速度的控制只要区分开左右侧就行。robot.drive_wheels(x, y)中的x是左轮的速度(单位mmps),y则是右轮速度。左右侧差速就可以实现机器人在二维空间的各种运动。

如果想要让cozmo“爱的魔力转圈圈”,那左右轮速度完全相反是最容易的,就像操控方向盘一样给机器人施加一个力偶产生纯转动。

最后,选择哪种控制方式肯定是要依实际情况而定,但是个人感觉第二种方式应该更实用,毕竟第一种方式也算是第二种方式的特例了。

cozmo学习笔记1-两种运动控制方式相关推荐

  1. 软件测试学习 之 Python 两种执行方式——python和python -m 的区别

    笔者使用的操作系统为windows 7,python解释器版为python3.7,pycharm版本为pycharm2018.3 如无特殊说明,代码均在此环境执行 目录 一般结论 简单例子 模块 作为 ...

  2. a - 数据结构实验之串一:kmp简单应用_串的两种模式匹配方式(BF/KMP算法)

    串的两种模式匹配方式(BF/KMP算法) 前言 串,又称作字符串,它是由0个或者多个字符所组成的有限序列,串同样可以采用顺序存储和链式存储两种方式进行存储,在主串中查找定位子串问题(模式匹配)是串中最 ...

  3. android中资源文件的两种访问方式,Android_Android学习笔记-保存文件(Saving Files),Android设备有两种文件存储区域 - phpStudy...

    Android学习笔记-保存文件(Saving Files) Android设备有两种文件存储区域: 内部存储和外部存储 ("internal" and "externa ...

  4. React基础学习笔记(一)-react前端项目的两种搭建方式

    1.运行环境准备 需要先进行react项目的运行环境nodeJS的安装,具体安装流程可以参考: windows版本的安装配置帮助文档:https://www.cnblogs.com/liuqiyun/ ...

  5. SpringMVC基础学习之Controller的两种实现方式和RequstMapping注解的使用

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...

  6. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  7. 【Django】项目中调用深度学习模型model.predict()(Django两种启动方式runserver和uwsgi的区别)

    目录 问题 测试 解决方法 Django两种启动方式runserver和uwsgi的区别 问题 部署含有深度学习模型的Django项目的uWSGI.Nginx服务器的时候,所有模块都可以正常运行,也可 ...

  8. 深度学习中的两种不确定性:偶然不确定性和认知不确定性(Aleatoric Uncertainty Epistemic Uncertainty)

    转载:https://zhuanlan.zhihu.com/p/56986840 注: 本文中,概念.公式与实验均基于 Alex Kendall & Yarin Gal的论文:https:// ...

  9. TS学习笔记04 JS创建对象的方式

    TS学习笔记04 JS创建对象的方式 ​ 首先我们回顾下JS中创建对象的方式 ​ 比如说我按照下面的创建了两个对象分别为stu1和stu2,比如说我现在想给这两个对象都添加一个新的方法,但是这两个对象 ...

最新文章

  1. Linux --进程间通信--共享内存
  2. 切记!MySQL中ORDER BY与LIMIT 不要一起用,有大坑
  3. 栈与队列5——汉诺塔问题
  4. Mol2vec | 一种无监督机器学习方法的分子亚结构向量表示
  5. selenium找不到元素
  6. JVM:堆中对象的创建?定位?可达性?
  7. OpenGL fragmentlist片段列表的实例
  8. 企业建设呼叫中心需要考虑哪些因素
  9. 图像分割-基本边缘检测roberts,prewitt,sobel,canny,laplace
  10. flowable实战(十四) 关于流程设计器 act_de_mode的表详解
  11. python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
  12. flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...
  13. 介绍几个 window 下面的terminal
  14. mysql乘法函数_数据库入门(MySQL):mySQL运算符与mySQL常用函数
  15. 5.接口参数过滤(phalapi框架总结)
  16. 速卖通API + 奇门 + 聚石塔 完整流程
  17. 自定义插入页面标签以及实现类似通讯录的首字母搜索
  18. 计算机网络的分类1:按网络拓扑结构分类,分为星型拓扑、环形拓扑、总线拓扑、树形拓扑、网状拓扑
  19. Python 读取HTML表格 pd.read_html()
  20. JQuery学习22篇(事件委托)

热门文章

  1. Visual Studio 19.0 资源视图加载失败
  2. 寻找第n个默尼森数。
  3. linux tcp keepalive,Linux下TCP的Keepalive相关参数学习
  4. 澳大利亚规模领先的鞋业公司与Boomi合作以加快电子商务和转型步伐
  5. 自己近一年做的产品,欢迎拍砖!
  6. 推荐一款免费的AI代码提示工具Codeium
  7. Python 交集,并集,差集
  8. 节假日 万年历 Api util
  9. 刨根问底:NLP中的曝光偏差问题的思考
  10. wargame behemoth writeup