小龟机器人Python开发手册——舵机控制
概要
小龟主控板设计了一套基于舵机并行的运动模型,也就是同时提交两行舵机指令,会同步执行,而不是象传统的串行代码那样,先等待第一行舵机指令结束,再执行第二行舵机指令。基于这个接口,可以快速实现多个舵机的并行联动。
管脚集
在机器人结构中,通常每个结构单元都会由多个舵机组成,我们将这些多个舵机对应的管脚集,称为管脚集。
如:机械臂是由S1、S2、S3三个舵机组成,那么机械臂的管脚集是 [S1, S2, S3];
如:机器狗尾巴是由A1、S7两个舵机组成,那么尾巴的管脚集是 [A1, S7];
动作节点集
我们知道一个动作(比如:抬腿)可以分解成多个节点,比如先抬膝盖到指定高度,然后再抬小腿到指定高度两个阶段组成。
我们将这两个阶段称为两个节点,一组节点组成了一个完整的动作
单独每个节点的格式如:
[节点耗时, 节点停留, 舵机1的目标角度,舵机2的目标角度, ......]
分别意义如下:
节点耗时:代表期望用多少秒,将所有舵机旋转到目标角度。如果本节点内有多个舵机,则多个舵机都会消耗相同的时间到达指定角度;
节点停留:代表所有舵机到达本节点目标角度后,保持现有角度停留多少秒;
舵机N的目标角度:和管脚集对应的每个舵机期望旋转到的目标角度;
节点集则是由多个单一节点组合而成的数组集合:
[[节点1耗时, 节点1停留, 舵机1的目标角度1,舵机2的目标角度1, ......],
[节点2耗时, 节点2停留, 舵机1的目标角度2,舵机2的目标角度2, ......], ....
单舵机单角度运动
语法:
car.servo(管脚, 目标角度, 旋转耗时)
说明:
旋转指定管脚上的舵机到目标角度。
参数:
管脚:管脚的标准名称
目标角度:单位度,期望舵机最终到达的角度
旋转耗时:单位秒,期望舵机用多少时间完成从当前角度到达期望的目标角度的旋转工作。
范例:
#用5秒钟时间,将舵机A1从当前角度位置旋转到90度位置。
car.servo(A1, 90, 5)
#用1.5秒钟时间,将舵机S1从当前角度位置旋转到0度位置。
car.servo(S1, 0, 1.5)
单舵机连片运动
语法:
car.servo(管脚, 动作节点集, 重复动作时长)
car.servo(管脚, 动作节点集)
说明:旋转指定管脚上的舵机到目标角度。
参数:
管脚:管脚的标准名称
动作节点集:参考本文动作节点介绍篇章
重复动作时长:单位秒,重复整个动作多长时间后才结束。(本参数缺省的场合,为动作仅执行一次)
范例:
#按这个次序旋转A1管脚上的舵机:
#1、先用3秒钟时间旋转到0度,然后停留1秒钟;
#2、接着用1秒钟时间旋转到180度,不做停留;
#3、最后用3秒钟时间旋转舵机到95度。
car.servo(A1, [
[3,1,0],
[1,0,180],
[3,0,95],
])
多舵机连片运动
语法:
car.servo(管脚集, 动作节点集, 重复动作时长)
car.servo(管脚集, 动作节点集)
说明:旋转指定管脚上的舵机到目标角度。
参数:
管脚集:管脚集合,参考本文管脚集定义介绍篇章。
动作节点集:参考本文动作节点介绍篇章。
重复动作时长:单位秒,重复整个动作多长时间后才结束。(本参数缺省的场合,为动作仅执行一次)
范例:
#按下面次序依次同步旋转S1、S2、S3三个舵机:
#步骤1:用3.5秒钟时间,同时将S1旋转到0度、S2旋转到0度、S3旋转到0度,旋转完成后,并停留1秒钟;
#步骤2:用2秒钟时间,同时将S1旋转到180度、S2旋转到120度、S3旋转到90度,旋转完成后,并停留1.5秒钟;
#步骤3:用5秒钟时间,同时将S1旋转到30度、S2旋转到90度、S3旋转到180度,旋转完成后,并停留1秒钟;
car.servo([S1, S2, S3], [
[3.5, 1, 0, 0, 0],
[2, 1.5, 180, 120, 90],
[5, 1, 30, 90, 180]
])
小龟机器人Python开发手册——舵机控制相关推荐
- 认识一下小龟机器人主控板
简要 小龟机器人主控板采用乐鑫ESP32处理器,总共有23组可控制管脚,所以最多支持23个舵机.4个电机.10根可输入输出编程管脚.23根管脚全部支持输出控制. 正面插口说明 电源区 5V电源插口 由 ...
- 使用面包板和轻触按钮与小龟机器人主控板DIY电子琴
效果演示 DIY电子琴 材料准备 材料 数量 说明 小龟机器人主控板 1 面包板 1 轻触开关 7 杜邦线 若干 原理图 接线 将7个轻触开关均匀插入面包板,每个开关的一个管脚通过杜邦线连接小龟主控 ...
- 频率分布直方图组距如何确定_小猿圈Python开发之绘制频率分布直方图示例
现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助. 项目中在 ...
- python开发图形小程序_python小程序图画 python开发微信小程序
你用python写过哪些好玩的微信小程序? 首先要明确一点,python是后台语言,不能直接用python来写微信小程序的. 微信小程序是用javascript和css来写的. python只是用来给 ...
- matlab 频率分布直方图_小猿圈Python开发之绘制频率分布直方图示例
现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助. 项目中在 ...
- 小龟机器人图形编程第一课——小车动起来
知识点: 1.编程知识点(基础操作.修改参数.循环逻辑) 2.模块知识点(运动模块.车轮模块) 3.科学知识点(差速结构运动原理) 课前准备: 环境:网络及手机/电脑 准备:组装好的初始态小龟小车,并 ...
- 小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱
那天晚上 小明和你一样 在某个小网站上搜寻某些 私密的学习资料 突然看到论坛有人提供了 一个非常牛逼的资源 小明怀着激动的心情 下载了下来 他怀着激动的心情 打开了这个压缩文件 看到就只有这么一个 ...
- 小明用Python开发一个 【暴力破解压缩文件zip密码】,省了250块钱!
那天晚上 小明和你一样 在某个小网站上搜寻某些 私密的学习资料 突然看到论坛有人提供了 一个非常牛逼的资源 小明怀着激动的心情 下载了下来 他怀着激动的心情 打开了这个压缩文件 看到就只有这么一个 t ...
- python绘制直方图根据不同分类_小猿圈Python开发之绘制频率分布直方图示例
现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助. 项目中在 ...
最新文章
- Java byte 踩坑基础
- poj1182 and 携程预赛2第一题 带权并查集
- (转)编译Android源码的全过程
- 中国移动与清华大学达成战略合作,将共同研究6G
- iMindMate- A new mind mapping software.
- 【es】es API源码分析
- python字典实现原理-哈希函数-解决哈希冲突方法
- Enterprise Library 缓存应用程序块快速入门
- 在Python数据库连接池中如何创建请求连接的方案
- 7.2.Zeng_Cache(3) --- 前端
- 【论文研读】Category-level Adversaries for Semantics Consistent Domain Adaptation(cvpr2019)
- 不支持16位应用程序,%1和64位电脑不兼容问题
- The captain题目回顾
- 合伙企业怎么报所得税
- ICommand、ITool中调用要素闪烁/定位的方法
- 复正弦信号、实数信号的DFT
- 前后端分离项目,请求头中包含Authorizaton:XX,但是后端getHeader(Authorizaton) 获取不到
- 【游戏开发小技】TexturePacker生成的图集逆向切分成精灵小图(json | python | PIL | TextureUnPacker | 逆向 | 切图)
- 博士申请 | 香港理工大学智能计算实验室招收机器学习方向全奖博士/RA/博后
- 5G音视频时代还不学NDK开发吗?赶快收藏备战金九银十!
热门文章
- 基于auto.js的QQ好友动态秒赞系统
- 如何在matlab让adams模型里的电机旋转指定角度
- 农历十二月与二十四节气
- 【服务器存储数据恢复】华为OceanStor某型号存储raid5数据恢复案例
- linux怎么写用拼音写中文为什么出错,linux上的搜狗拼音用不了啦?快来看怎么解决...
- Qt 打包成绿色软件
- 7-11 冰岛人 (25分)
- 如何避免输入中文拼音时触发input事件?
- iOS逆向:keychain_dumper导出keychain报Operation not permitted
- ARM base instruction -- mul