文章目录
-
- 1. NAO机器人概述
-
- 1.1 机器人传感器
- 1.2 机器人关节运动分类
- 1.3 机器人的自由度
- 数学基础
-
- 方位描述
- 坐标变换(重点是公式)
-
- 平移坐标变换
- 旋转坐标变换
- 复合变换
- 齐次变换(重点)
- 例题(类似试题)
- 2. Python基本语法
-
- 2.1 条件语句
- 2.2 while循环语句
- 2.3 列表
-
- 2.3.1 访问列表元素
- 2.3.2 操作列表常用方法
- 2.3.3 列表分片
- 2.3.4 列表加和乘运算
- 2.4 for循环
- 2.5 函数
- 3. NAO机器人编程基础
-
- 3.1 阻塞调用和非阻塞调用
- 3.2 内存
-
- 3.2.1 NAO状态数据
- 3.2.2 订阅事件数据
- 4. 运动控制
-
- 4.1 刚度控制
- 4.2 关节控制方法
- 4.3 运动控制方法
-
- 4.3.1 moveTo方法
- 4.3.2 move方法
- 4.3.3 moveToward方法
- 4.4 步态控制
- 4.5 时间轴指令盒
- 5.音频处理
-
- 5.1 音频数值化过程
-
- 5.1.1 采样
- 5.1.2 量化
- 5.1.3 编码
- 5.2 音频存储
- 5.3 ALAudioRecorder录音模块
-
- 5.3.1 ALAudioRecorder方法
- 5.4 ALSoundLocalization声音识别模块
- 6. 视觉处理
-
- 6.1 分辨率和颜色空间
- 6.2 ALPhotoCapture图像捕获
- 6.2 订阅图像
-
- 6.2.1 订阅图像的相关方法
- 6.2.2 订阅图像流程
- 7. 传感器
-
- 7.1 什么是DCM
- 7.2 DCM作用
1. NAO机器人概述
1.1 机器人传感器
- :触摸,按压,划过接触传感器可以触发接触传感器产生电信号,进而完成向机器人输入信息。
- :测量身体状态和加速度,包括两个陀螺仪和一个加速度计。
- 位置传感器:有36个测量机器人自身关节的位置。例如,在录制舞蹈时,位置传感器可以测量 机器人的关节数据,并最终存储以记录机器人的状态。
- :每只脚上有四个压力传感器来确定每只脚的压力中心的位置。行走时,NAO机器人根据重心位置调整步态以保持身体平衡。
1.2 机器人关节运动分类
对于连接机器人两个身体部位的关节,。
- (Roll):沿x轴向旋转称为横滚
- (Pitch):沿y轴向旋转称为俯仰
- (Yaw):沿z轴方向的旋转称为偏转

- 沿关节轴转动角度为正,转动角度为负
1.3 机器人的自由度
,称为机器人的运动自由,称为自由(Degree of Freedom),由DOF简写表示。
,因此,。除表列出的24个自由度外,,因此,。

数学基础
方位描述



坐标变换(重点是公式)
平移坐标变换

旋转坐标变换

复合变换

齐次变换(重点)

例题(考题类似)




2. Python基本语法
2.1 条件语句
score=75if score>=60: print ("Pass")else: print ("Fail")
score=75if score>=90: print ("Excellent")elif score>=80: print ("Very Good")elif score>=70: print ("Good")elif score>=60: print ("Pass")else: print ("Fail")
2.2 while循环语句


2.3 列表
- :列表由一系列按特定顺序排列的元素组成。
- 元素可以是。
- 与其他语言中的数组不同,。
- 列表包含多个元素,通常给列表指定一个表示复数的名称 (如letters 、digits 或names )。
- 用。
xs=[1,2,3,4,5]ys=["one","two","three","four","five"]zs=[1,"one",True]print xsprint ysprint zs输出结果为:[1, 2, 3, 4, 5]['one', 'two', 'three', 'four', 'five'][1, 'one', True]
2.3.1 访问列表元素
- 通过下标(索引)访问列表元素
- len()函数求出列表长度:len (grades)表示列表grades的长度
- 索引0表示第一个元素,索引-1表示列表最后一个元素
2.3.2 操作列表常用方法

2.3.3 列表分片
。
Python对列表提供了强大的分片操作,。创建列表分片,需要,中间用**冒号分隔。从起始索引到终止索引 (不含终止索引)**所对应的所有元素。

- 不指定起始索引,Python将自动从列表头开始
- 不指定终止索引,Python将提取到列表末尾
- 终止索引小于等于起始索引时,分片结果为空
- 两个索引都不指定时,将复制整个列表。
2.3.4 列表加和乘运算

2.4 for循环

- for循环例子
s=[]for i in range(1,11):s.append(i**2)print s输出结果为: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]。在Python 中,i的n立方用i**n 表示。
2.5 函数
函数代码块以,后接和,括,。 函数如果需要有返回的结果,利用。
def add(list): sum = 0 for i in list: sum+=i return sumarray = [1,2,3,4,5]count = add(array)print (count)
3. NAO机器人编程基础
3.1 阻塞调用和非阻塞调用
-
。只有在得到结果之后才会返回。也就是说,在顺序结构的程序中,只有在前一个调用结束后才能执行下一条语句
-
对于NAOqi任何阻塞调用的方法,如果,这样可以同时执行后面的语句
-
,。
eg:让NAO机器人行走与说话
from naoqi import ALProxyimport timemotion = ALProxy("ALMotion", "192.168.1.170", 