cozmo学习笔记1-两种运动控制方式
在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-两种运动控制方式相关推荐
- 软件测试学习 之 Python 两种执行方式——python和python -m 的区别
笔者使用的操作系统为windows 7,python解释器版为python3.7,pycharm版本为pycharm2018.3 如无特殊说明,代码均在此环境执行 目录 一般结论 简单例子 模块 作为 ...
- a - 数据结构实验之串一:kmp简单应用_串的两种模式匹配方式(BF/KMP算法)
串的两种模式匹配方式(BF/KMP算法) 前言 串,又称作字符串,它是由0个或者多个字符所组成的有限序列,串同样可以采用顺序存储和链式存储两种方式进行存储,在主串中查找定位子串问题(模式匹配)是串中最 ...
- android中资源文件的两种访问方式,Android_Android学习笔记-保存文件(Saving Files),Android设备有两种文件存储区域 - phpStudy...
Android学习笔记-保存文件(Saving Files) Android设备有两种文件存储区域: 内部存储和外部存储 ("internal" and "externa ...
- React基础学习笔记(一)-react前端项目的两种搭建方式
1.运行环境准备 需要先进行react项目的运行环境nodeJS的安装,具体安装流程可以参考: windows版本的安装配置帮助文档:https://www.cnblogs.com/liuqiyun/ ...
- SpringMVC基础学习之Controller的两种实现方式和RequstMapping注解的使用
前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...
- JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能
JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...
- 【Django】项目中调用深度学习模型model.predict()(Django两种启动方式runserver和uwsgi的区别)
目录 问题 测试 解决方法 Django两种启动方式runserver和uwsgi的区别 问题 部署含有深度学习模型的Django项目的uWSGI.Nginx服务器的时候,所有模块都可以正常运行,也可 ...
- 深度学习中的两种不确定性:偶然不确定性和认知不确定性(Aleatoric Uncertainty Epistemic Uncertainty)
转载:https://zhuanlan.zhihu.com/p/56986840 注: 本文中,概念.公式与实验均基于 Alex Kendall & Yarin Gal的论文:https:// ...
- TS学习笔记04 JS创建对象的方式
TS学习笔记04 JS创建对象的方式 首先我们回顾下JS中创建对象的方式 比如说我按照下面的创建了两个对象分别为stu1和stu2,比如说我现在想给这两个对象都添加一个新的方法,但是这两个对象 ...
最新文章
- Linux --进程间通信--共享内存
- 切记!MySQL中ORDER BY与LIMIT 不要一起用,有大坑
- 栈与队列5——汉诺塔问题
- Mol2vec | 一种无监督机器学习方法的分子亚结构向量表示
- selenium找不到元素
- JVM:堆中对象的创建?定位?可达性?
- OpenGL fragmentlist片段列表的实例
- 企业建设呼叫中心需要考虑哪些因素
- 图像分割-基本边缘检测roberts,prewitt,sobel,canny,laplace
- flowable实战(十四) 关于流程设计器 act_de_mode的表详解
- python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
- flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...
- 介绍几个 window 下面的terminal
- mysql乘法函数_数据库入门(MySQL):mySQL运算符与mySQL常用函数
- 5.接口参数过滤(phalapi框架总结)
- 速卖通API + 奇门 + 聚石塔 完整流程
- 自定义插入页面标签以及实现类似通讯录的首字母搜索
- 计算机网络的分类1:按网络拓扑结构分类,分为星型拓扑、环形拓扑、总线拓扑、树形拓扑、网状拓扑
- Python 读取HTML表格 pd.read_html()
- JQuery学习22篇(事件委托)