机器学习实验报告完整

机器学习实验报告完整
机器学习实验报告完整

基于AutoEncoder原理和L_BFGS 优化算法实现手写数字识别

目录

1 神经网络基本概念 (3)

1.1概述 (3)

1.2 神经网络模型 (4)

2 AutoEncoder原理 (5)

2.1 反向传播算法 (5)

2.2 Softmax回归 (7)

2.3 Stacked AutoEncoder (8)

2.4 微调过程 (9)

2.5 Sparse AutoEncoder (9)

2.6 Denoise AutoEncoder (10)

3 L_BFGS算法 (11)

3.1基本原理 (11)

3.2算法流程 (16)

3.3算法收敛性分析: (18)

4 基于AutoEncoder的手写数字识别 (18)

4.1 MNIST数据库 (18)

4.2 模型训练 (19)

4.3 模型测试 (19)

5 实验结果及分析: (19)

5.1 AutoEncoder (20)

5.2 Sparse AutoEncoder (20)

5.3 Denoise AutoEncoder (21)

5.4 实验结果汇总及分析 (22)

6 参考资料 (24)

AutoEncoder 实现手写数字识别

1神经网络基本概念

1.1概述

神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

神经网络由多个神经元构成,下图就是单个神经元的图1所示:

图1 神经元模型

这个神经元是以123,,x x x 以及截距1+为输入值的运算单元,其输出为

3

,()()()T W b i i i h x f W x f W x b ===+∑,其中函数()f ?被称作“激活函数”。在本次试

验中,我们选用sigmoid 函数作为激活函数()f ?

图2 sigmoid 函数图像

1.2 神经网络模型

神经网络就是将许多个单一的神经元联结在一起,这样,一个神经元的输出就可以是另一个神经元的输入。例如,下图就是一个简单的神经网络:

图3 神经网络示意图

我们用()l i a 第l 层第i 单元的激活值(输出值)。当1l =时,()l i i a x =,也就是第i 个输入值。对于给定的参数集合,W b ,神经网络就可以按照函数,()W b h x 来计算输出结果。以上述模型为例,计算步骤如下:

(2)(1)(1)(1)

(1)11111221331(2)(1)(1)(1)(1)22112222332(2)(1)(1)(1)(1)33113223333(3)(2)(2)(2)(2)(2)(2)(2),11111221331()

()()

()()

W b a f W x W x W x b a f W x W x W x b a f W x W x W x b h x a f W a W a W a b =+++=+++=+++==++

+ (2)

我们用()l i z 表示第第l 层第i 单元输入加权和(包括偏置),这样我们对上式就可以得到一种更加简洁的表示法:

(2)(1)(1)

(2)(2)(3)

(2)(2)

(2)

(3)(3),()()()

W b z W x b a f z z

W a

b

h x a f z =+==+== (3)

上述的计算步骤叫作前向传播。给定第l 层的激活值()l a 后,第1l +层的激活值(1)l a +就可以按照下面步骤计算得到:

(1)()()()(1)

(1)

()

l l l l l l z W a b a

f z

+++=+= (4)

2AutoEncoder 原理

2.1反向传播算法

自编码(AutoEncoder )神经网络是一种无监督的学习算法,它使用了反向传播算法,让目标值等于输入值,例如输入值为训练样本集合(1)(2)(3){,,}x x x ,则我们的输出值()()i i y x =。下图是一个自编码神经网络的示例:

图4 单隐层神经网络

自编码神经网络的主要参数是连接权重W 和偏置b ,我们尝试利用自编码神经网络学习一个,()W b h x x =,也就是说我们尝试逼近一个恒等函数,从而使得输

出?x

接近于输入x 。假设我们有一个固定样本集(1)(1)()(){(,),,(,)}m m x y x y ,它包含m 个样例。对于单个样例(,)x y ,其代价函数为:

这是一个方差代价函数。给定一个包含m 个样例的数据集,我们可以定义整体代价函数为:

以上公式中的第一项(,)J W b 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。

我们的目标是针对参数W 和b 来求其函数(,)J W b 的最小值。为了求解神经网络,我们将每一个参数()l ij W 和()l i b 初始化为一个很小的、接近于0的随机数,之后对目标函数求最优解。

梯度下降法中每一次迭代都是按照如下公式对参数W 和b 进行更新:

其中α是学习速率。更新参数W 和b

的关键步骤是计算偏导数。而反向传播算法是计算偏导数的一种有效方法。整体代价函数(,)J W b 的偏导数为:

反向传播算法的思路是:给定一个样例(,)x y ,我们首先进行前向传导算法,得到23,,L L 的激活值,包括输出层l n L 的输出值,()W b h x 。之后,针对第l 层的每一个节点i ,我们计算出其“残差”()l i δ,该残差表明了该节点对最终输出值得误差产证了多少影响。残差的定义如下:

对于1,2,3,,2l l l l n n n =--- 的各个层,第l 层的第i 个节点的残差计算方法如下:

1()()(1)()1()l s l l l l i

ji j i j W f z δ

δ++=??

'= ???

∑ (10)

需要我们计算的偏导数就可以写成下面的形式:

总的来说,利用向量化的表示,反向传播算法可以表示成以下几个步骤: 1. 进行前馈传导计算,利用前向传导公式,得到23,,L L 直至输出层l n L 的激活值。

2. 对于第l n 层(输出层),计算出残差:

()()()()()l

l

l

n n n y a f z δ'=--?

(12)

3. 对于1,2,3,,2l l l l n n n =--- 的各个层

()()()(1)()()()l l T l l W f z δδ+'=?

(13)

4. 计算最终需要的偏导数值:

()()(1)()(1)

(,;,)()(,;,)l l l l T W l b J W b x y a J W b x y δδ

++?=?=

(14)

5. 根据公式(7)更新权重参数:

()()()()()

()

(,;,)(,;,)

l l l l W l l b W W J W b x y b

b J W b x y ?=?+??=?+? (15)

2.2Softmax 回归

Softmax 回归模型是logistic 回归模型在多分类问题上的推广。在logistic 回归中,训练集由m 个已标记的样本构成:{}(1)(1)()()(,),,(,)m m x y x y ,其中输入特征()1i n x +∈?。由于logistic 回归是针对二分类问题的,因此类标记{}()0,1i y ∈。

假设函数如下:

我们的目的就是训练模型参数θ,使其能够最小化代价函数:

而在Softmax 回归中,类标签y 可以取k 个不同的值。因此对于训练集

{}(1)

(1)()()(,),,(,)m m x

y x y ,我们有{}()1,2,,i y k ∈ ,所以假设函数()h x θ形式如下:

其中112,,,n k θθθ+∈? 是模型参数。 Softmax 回归算法的代价函数如下:

其中{}1?是示性函数。

为了限制Softmax 回归在描述对象时候出现过拟合现象,我们加入了权重衰减项

2

1

2

k n

ij i j λ

θ==∑∑来修改代价函数,则整个代价函数变为: 经过这个权重衰减后(0)λ>,代价函数就变成了严格的凸函数,这样就可以保证得到唯一解。此时的Hessian 矩阵变为可逆矩阵,并且因为()J θ是凸函数,L-BFGS 等算法可以保证收敛到全局最优解。

2.3Stacked AutoEncoder

栈式自编码神经网络(Stacked AutoEncoder )是一个由多层自编码神经网络组成的神经网络,其前一层的自编码神经网络的输出作为厚一层自编码神经网络

的输入。对于一个n 层的栈式自编码神经网络,假定用(,1)(,2)(,1)(,2),,,k k k k W W b b 表示第k 个自编码神经网络的(1)(2)(1)(2),,,W W b b 参数,那么该栈式自编码神经网络的编码过程就是,按照从前向后的顺序徐行每一层自编码神经网络的编码步骤:

()()(1)

(,1)

()(,1)

()l l l l l l a f z z

W

a b

+==+ (22)

一种比较好的获取栈式自编码神经网络参数的方法是采用逐层贪婪训练法进行训练。即利用原始输入来训练网络的第一层,得到其参数(1,1)(1,2)(1,1)(1,2),,,W W b b ;

然后网络的第一层将原始输入转化为由隐层单元激活值组成的向量A ,接着把A 作为第二层的输入,继续训练得到第二层的参数

(2,1)(2,2)(2,1)(2,2),,,W W b b ,最后对后面的各层采用同样的策略训练参数。

2.4微调过程

微调(fine-tuning )是深度学习中的常用策略,可以大幅提神一个展示自编码神经网络的性能表现。从更高的视角来讲,微调将栈式自编码神经网络的所有层视为一个模型,网络中所有的权重只都可以被优化。

在栈式的自编码神经网络中,微调的实现主要分为以下几个步骤: 1. 对于输出层(l n 层),我们使用的是Softmax 回归分类器,该层的残差为:

()()()()l

l

n l

n n a J f z δ'=-??

(23)

其中()T J I P θ?=-,其中I 为输入数据对应的类别标签,P 为条件概率向量。

2. 对于1,2,3,,2l l l l n n n =--- 的各个层,利用公式(13),(14),(15),(16)计算残差,更新参数。

2.5Sparse AutoEncoder

稀疏自编码神经网络(Sparse AutoEncoder )的稀疏性可以被解释如下。如果当神经元的输出接近于1的时候我们认为它是被激活的,而输出接近于0的时候认为它是被抑制的,那么是的神经元大部分的时候都是被抑制的限制被称作稀

疏性限制。令(2)()

1?()i j j a x m ρ

??=?

?表示隐层神经元j 的平均活跃度。我们可以加入

一条限制?j ρ

ρ=,其中ρ是一个接近于0的稀疏性参数,也就是说该层的所有隐节点的平均活跃度是ρ,接近于0的。为了实现这一限制,我们在我们的优化目标函数中加入一个额外的惩罚因子,而这一惩罚因子将惩罚那些与ρ相差较大的

?j ρ

的情况,从而使得隐层神经元的平均活跃度保持在较小的范围之内。在本次实验中,我们选择相对熵来做我们惩罚函数,惩罚因子可以表示为:

这一惩罚因子具有如下的性质,当?j ρ

ρ=时,?()j KL ρρ =0,并且随着ρ和?j ρ

。KL 惩罚因子的函数图5所示:

图5 KL 惩罚因子

加入惩罚因子后,总体的代价函数就可以表示为:

2

1

?(,)(,)()s sparse j j J W b J W b KL βρρ

==+∑ (25)

2.6DenoiseAutoEncoder

当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为DenoiseAutoEncoder (简称dAE 模型)。DenoiseAutoEncoder 的模型如下:

图6 denoiseAutoencoder 原理

由上图可知,样本x 按照qD 分布加入随机噪声后变为x

,在本实验中,我们加入的噪音是对原始数据随机部分清0。dAE 可以直观的解释为:1.dAE 有点类似人体的感官系统,比如人眼看物体时,如果物体某一小部分被遮住了,人依然能够将其识别出来,2.多模态信息输入人体时(比如声音,图像等),少了其中某些模态的信息有时影响也不大。3.普通的autoencoder 的本质是学习一个相等函数,即输入和重构后的输出相等,这种相等函数的表示有个缺点就是当测试样本和训练样本不符合同一分布,即相差较大时,效果不好,明显,dAE 在这方面的处理有所进步。

3 L_BFGS 算法

3.1基本原理

机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是 L-BFGS 。

L_BFGS 算法是拟牛顿算法中广泛使用的一种优化算法。牛顿算法具有标准形式:121(f(x ))(x )k k k k x x f +-=-??。拟牛顿法是在牛顿法的基础上发展来的。牛顿法的基本思想是在现有极小值点估计值的附近对目标函数进行二阶泰勒展开,进而找到极小点的下一个估计值。因而,牛顿法具有二次收敛性;然而,牛顿法要求海森矩阵为正定阵,同时对海森矩阵的计算也意味着很大的计算代价,包括对海森矩阵求逆的过程。

随后,拟牛顿算法应运而生,拟牛顿法属于梯度法的一种,具有下面形式:

1,(x )k k k k k k k x x d d D f α+=+=-?,其中k D 是正定矩阵。该方法在迭代过程中通过对迭代方向k d 的调整,使其接近牛顿下降方向。它的特点是:收敛速度快,避免牛顿法的二次微分计算。相对于共轭梯度法,它的不足在于,在计算迭代方向k d 的矩阵向量乘法中,需要存储矩阵k D 。并被证明在解决有约束、无约束以

及大规模优化问题上比牛顿法更有效。拟牛顿算法的基本思想是不通过求偏导而直接构造出可近似海森矩阵(或海森矩阵的逆矩阵)的对称正定矩阵,在“拟牛顿条件”下优化目标函数。不同的拟牛顿算法则对应不同的构造海森矩阵或其逆矩阵的方式。

拟牛顿条件:

假定在第k 次迭代后,使用二次模型对目标函数f 在k x 处进行近似,?为求导操作:

1(p)2

T T

k k k k m f f p p B p =+?+

(26) 这里?表示求导,(0)k m 和(0)k m ?分别对应k f 和k f ?。k B 为n*n 对称正定矩阵,并且在每次迭代中会进行更新。

对上式求极值点可得:

1k k k p B f -=-? (27)

那么k p 则视为下一步迭代的搜索方向,在该方向上进行一维线搜索得到步长k α之后,将会确定下一步迭代的1k x +取值:

1k k k k x x p α+=+(28)紧接着,使用相似的方法,在1k x +处对该目标函数使用二次模型进行近似,可以得到:

11111(p)2

T T

k k k k m f f p p B p ++++=+?+

(29) 接下来将建立k x 点处和1+k x 点处的关系,即上式在k x 处和1+k x 处的梯度值应该和目标函数f 一致。因此,可以得到以下的关系:

111()k k k k k k k k m p f B p f αα+++?-=?-=? (30) 整理可得:

11k k k k k f f B p α++?-?= (31) 令1+?-?=k k k f f y ,1+==-k k k k k p s x x α 将得到以下关系式:

1k k k y B s += (32)

这就是割线方程,描述了目标函数自变量偏移量和梯度变化量之间的关系,

也就是拟牛顿算法需要满足的条件。其中1+k B 是对目标函数相应的海森矩阵的近似,假定对海森矩阵的逆矩阵进行近似,则可以得到另一等价的割线方程:

1k k k s D y += (33)

BFGS 算法是通过近似海森矩阵来实现的,同时1+k B 是对称正定矩阵。接下来给出1+k B 的构造方法。

BFGS 算法:

采用直接法进行构造,并定义矩阵1k B +的更新方式:

10=+=I k k k B B B B +?; (34)

为了保证k B 矩阵的对称正定特性,对?k B 按以下方式进行定义:

=T T k B uu vv αβ?+(35) 将上式和割线方程联立可得:

y =s +s s s +(s )(s )T T k k k k k T

T

k k k k B uu vv B u u v v

αβαβ+=+ (36)

括号中表示数值结果,并非向量结果。在这里,假定括号中数值分别是1和-1;之后,确定α和β的数值,可得:

1s 1s 1s 1s s +s s s +y T k T k T k T k

T T k k k k k k k

u u v v B uu vv B u v ααββαβ=?=

-=-?=

+=-= (37) 再令s ,y ==k k k B v u ,并进一步得到α和β的数值:

1y s 1s s T k k T k k k

B αβ=-=

(38)

最终得出了k B 的更新方程:

1s =+s s T T k k k k k k

k k T T

k k k k k

y y B s B B B y s B +-(39) 对上式应用Sherman –Morrison –Woodbury 公式将得到该方程的另一表示:

111111

1()()1()()T T T

k k k k k k k k k k k k T k k

k k T T T

k k k k k k k k k k k B I s y B I y s s s y s B D D I s y D I y s s s ρρρρρρρ--+-+++=--+=

?∴=--+ (40)

以上就是BFGS 算法的海森矩阵(或其逆矩阵)的估计值的更新方程。

L_BFGS 算法:

L-BFGS 算法是在BFGS 算法的基础上得到的,由于原始的BFGS 算法需要保存n*n 的矩阵,该存储量随n 成平方规模增长,为了减少存储量,减小内存开销,适应大规模的优化问题,L_BFGS 算法应运而生。L_BFGS 算法是对BFGS 算法的近似,其核心思想是不再存储完整的n*n 矩阵,而是仅仅保留m 个最近的n 维向量k y 和k s ,这样存储量就由2(n )O 降低至(m*n)O 。与此同时,算法性能也接近原始BFGS 算法(选取合适的m 值,依问题而定)。

紧接着,将给出L_BFGS 算法的具体原理。根据BFGS 算法中1+k D 的更新方程,可以根据公式展开得到1+k D 与0D 的关系,如下:

1100011100011121112112221111(...)(...)(...)(...)(...)(...)...

()()()()1,T T T k k k k k T T T T k k k k T T T T k k k k T T T k k k k k k k T T k k k k k T

k k k T

k k k k k T

k k

D V V V D V V V V V V s s V V V V V V s s V V V V V s s V V V s s V s s V I y s y s ρρρρρρρ+--------------=++++++=

=- (41)

很自然的,考虑L_BFGS 算法,如果k<=m-1,那么用来计算1+k D 的公式成立,无需修改;如果k>m-1(即k>=m )时,仅仅保留最近的m 个向量k y 和m

个向量k s ,则用来计算1+k D 的公式变为:

1110111211121132223112221(...)(...)

(...)(...)(...)(...)...

()()()T T T k k k k m k m k k T T T T k k k m k m k m k m k m k k T T T T k k k m k m k m k m k m k k T T T k k k k k k k T k D V V V D V V V V V V s s V V V V V V s s V V V V V s s V V V ρρρ+--+-+---+-+-+-+-+---+-+-+-+-+------=+++++111()T k k k k T

k k k s s V s s ρρ---+ (42)

那么可以将上述两种情况进行综合,令min{1,}x m k =-,则有:

1101111112111211222111(...)(...)(...)(...)(...)(...)...

()()()T T T k k k k x k x k k T T T T k k k x k x k x k x k x k k T T T T k k k x k x k x k x k x k k T T T k k k k k k k T k k k k D V V V D V V V V V V s s V V V V V V s s V V V V V s s V V V s s ρρρρ+------+----+---+-+-+-+-+--------=+++++1()T k T

k k k V s s ρ-+ (43)

在每步迭代中得到k D 后,在k x 处建立相应的二次模型,根据极值点条件:

k k k p D f =-? (44)

k p 将成为k x 处下一步进行搜索的方向,根据Jorge Nocedal Stephen J. Wright 《NumericalOptimization 》书中的介绍,这里给出一个计算1+?k k D f 的高效的算法:

0_1,..., (1)

()

k

T i i i i i

T i i i i Algorithm

L BFGS two loop recursion

q f for i k k m

s q q q y end for r D q

for i k m k y r

r r s end for return

r

αραβραβ--←?=--←←--←=--←←+--

3.2算法流程

以上给出了L_BFGS 算法的原理和算法流程,这部分将给出在具体优化过程中该算法的应用。通常,需要将L_BFGS 算法和线搜索方向配合起来使用,以达到不错的效果,其收敛性也能得到一定的保证。L-BFGS 可以被用来求解大型的无约束优化问题(Machine Learning 中的很多问题都可以用其求解,如Logistic Regress 等)。

这里首先给出一种广泛使用的非精确一维线搜索算法---Wolfe 非精确线搜索。非精确线搜索算法是指对目标函数来说,给出在x 点处沿着下降方向d 的步长值,使在x d α+处的函数值相比x 处的函数值有一定的下降。而不同的非精确一维线搜索算法通过构造不同的测试条件来达到使函数值取得一定下降的目的,本文仅给出满足(强)Wolfe 条件的一维非精确线搜索算法。

下面给出满足Wolfe 条件的可接受步长区间的图:

图7 Wolfe 条件的可接受步长区间的图

(1)1()()T k k k k k k k f x p f x c f p αα+≤+? (45) (2)2()T T k k k k k k f x p p c f p α?+≥? (46)

强Wolfe 条件:(2)2(())0T T k k k k k k abs f x p p c f p α?++?≤ (47) 这里条件1用来使x k k k p α+处的函数值有一定的下降值,条件2用来限定

x k k k p α+处的斜率应大于x k 处斜率的2c 倍;而强Wolfe 条件(2)的进一步限定了x k k k p α+处斜率值,使可接受步长落在某个波谷中。

当然,在该算法具体的实现中,仅仅有这些是不够的,当每次迭代步长落在不满足(强)Wolfe 条件的地方,需要使用插值算法给出新的步长值,这样才能够达到满意的结果。

下面给出Wolfe 非精确一维线搜索算法的流程:

1212_:

,, 1.04,0.9

_0(),_0()aL 0,aU 1.08,0:

(*),(*)1(*)_0*_0*2*_T T Algorithm Wolfe search initialize x d c E c old gtd g x d old f f x E step k calculate f f x step d gtd g x step d d

Wolfe f x step d old f c old gtd step Wolfe c old gtd =-=======+=+=+--=20(*)(2*_0((*))):

(10)

(20)

;:T T g x step d d or

Wolfe c old gtd abs g x step d d judge if Wolfe if Wolfe break else

aL step aU aU

outside insert for step

endif aL aL aU step inner insert for step

endif goto calculate return step

-+=++≤≤←←-←←-

现在已经介绍了线搜索以及L_BFGS 算法的相关内容。下面给出整体算法流程,用来实现实际的最优化问题。

01:,(),0:

(_max)(())

;(0)

()__*1k k k k

k

k k k k k

initialize x f x k loop while k k if g x epsilon break if k d g x else get d via Algorithm L BFGS end get

via

Algorithm

Wolfe search

x x d k k end while return

x αα+=<<===-=+=+-

3.3算法收敛性分析:

根据割线方程,1+k D 和1+k B 应为对称正定矩阵,这在0>T k k y s 时成立。当目标函数为凸函数,0>T k k y s 成立;然而对非凸函数来说,该不等式不一定成立,但是,如果线搜索算法满足Wolfe 或强Wolfe 条件,0>T k k y s 将成立。此外,线搜索算法中初始步长的选择也尤为重要。

4基于AutoEncoder 的手写数字识别

4.1MNIST 数据库

MNIST 数据集是由Google 实验室的Corinna Cortes 和纽约大学柯朗研究所的Yann LeCun 建有一个手写数字数据库,训练库有60,000张手写数字图像,测试库有10,000张。每一个手写数字大小为2828?像素。部分手写数字如下图所示:

图8 部分样本

4.2 模型训练

在本次实验中,我们将2828?像素的手写数字变换成1784?的列数据作为我们模型的输入x 。训练数据个数为60000组。训练目标为得到第一层自编码神经网络的11,W b ,第二层自编码神经网络的22,W b ,以此类推。Softmax 回归的参数θ。具体操作步骤见第二章。

4.3 模型测试

我们使用MNIST 数据集中提供的10000组数据对我们训练的模型进行准确度测试。

模型准确率=(分对样本数)/(总样本数)。

5实验结果及分析:

对于只有一个隐层的Autoencoder 的权重可视化,以及准确率,如5.1到5.3所示。总的实验结果和参数详见表1.

5.1 AutoEncoder

这是最原始的Autoencoder,在训练时没有引入稀疏项和白噪声。这个Autonecoder只有一个隐层。图9所示是该隐层的权值。隐层节点一共有196个。训练的具体参数可查后面的表1.

准确度:0.915

W可视化:

图9 Autoencoder权值可视化

结果分析:

从图中可以依稀的看出数字0到9,这是由于这是Autoencoder的第一层。Autoencoder虽然是神经网络。但是可以看成是线性的模型,又由于这是第一层的权值(总共也就一层),所以对数据的抽象程度不高,所以从权值中基本上能够看出0到9的数字。这一点在稀疏Autoencoder中表现的更加明显。

5.2 Sparse AutoEncoder

Sparse Autoencoder在Autoencoder的基础上引入了稀疏项,起到压缩信息的作用。具体说就是将输入数据用尽量少的神经节点来表示。这样就会尽量的保留

机器人控制技术基础实验报告

华北电力大学 实验报告 | | 实验名称:机器人控制技术基础 课程名称:机器人控制技术基础 实验人:张钰信安1601 201609040126 李童能化1601 201605040111 韩翔宇能化1601 201605040104 成绩: 指导教师:林永君、房静 实验日期: 2016年3月4日-3月26日 华北电力大学工程训练中心

第一部分:单片机开发板 实验一:流水灯实验 实验目的:通过此实验,初步掌握单片机的 IO 口的基本操作。 实验内容:控制接在 P0.0上的 8个LED L0—L8 依次点亮,如此循环。 硬件说明: 根据流水灯的硬件连接,我们发现只有单片机的IO口输出为低电平时LED灯才会被点亮,我们先给P0口设定好初值,只让其点亮一盏灯,然后用左右移函数即可依次点亮其他的灯。 源程序如下: #include sbit led_1=P0^0; sbit led_2=P0^1; sbit led_3=P0^2; sbit led_4=P0^3; sbit led_5=P0^4; sbit led_6=P0^5; sbit led_7=P0^6; sbit led_8=P0^7; void main() { for(;;) { led_1=0; display_ms(10);

led_1=1; led_2=0; display_ms(10); led_2=1; led_3=0; display_ms(10); led_3=1; led_4=0; display_ms(10); led_4=1; led_5=0; display_ms(10); led_5=1; led_6=0; display_ms(10); led_6=1; led_7=0; display_ms(10); led_7=1; led_8=0; display_ms(10); led_8=1; } } 第二部分:机器人小车 内容简介:机器人小车完成如图规定的赛道,从规定的起点开始,记录完成赛道一圈的时间。必须在30秒之内完成,超时无效。其中当小车整体都在赛道外时停止比赛,视为犯规,小车不规定运动方向,顺时针和逆时针都可以采用,但都从规定的起点开始记录时间。 作品优点及应用前景: 单片机可靠性高,编程简单单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是

最新西华大学机器人创新设计实验报告(工业机械手模拟仿真)

实验报告 (理工类) 课程名称: 机器人创新实验 课程代码: 6003199 学院(直属系): 机械学院机械设计制造系 年级/专业/班: 2010级机制3班 学生姓名: 学号: 实验总成绩: 任课教师: 李炜 开课学院: 机械工程与自动化学院 实验中心名称: 机械工程基础实验中心

一、设计题目 工业机器人设计及仿真分析 二、成员分工:(5分) 三、设计方案:(整个系统工作原理和设计)(20分) 1、功能分析 工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。特别适合于多品种、变批量的柔性生产。它对稳定、提高产品质量,提高生产效率,改善劳动条件和产品的快速更新换代起着十分重要的作用。机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人应用情况,是一个国家工业自动化水平的重要标志。机器人并不是在简单意义上代替人工的劳动,而是综合了人的特长和机器特长的一种拟人的电子机械装置,既有人对环境状态的快速反应和分析判断能力,又有机器可长时间持续工作、精确度高、抗恶劣环境的能力,从某种意义上说它也是机器的进化过程产物,它是工业以及非产业界的重要生产和服务性设备,也是先进制造技术领域不可缺少的自动化设备。 本次我们小组所设计的工业机器人主要用来完成以下任务: (1)、完成工业生产上主要焊接任务; (2)、能够在上产中完成油漆、染料等喷涂工作; (3)、完成加工工件的夹持、送料与转位任务; (5)、对复杂的曲线曲面类零件加工;(机械手式数控加工机床,如英国DELCAM公司所提供的风力发电机叶片加工方案,起辅助软体为powermill,本身为DELCAM公司出品)

机器人实验报告

智能机器人实验报告1 学院:化学与材料科学学院 学号: 2015100749 姓名:朱巧妤 评阅人:评阅时间:

实验1 电驱动与控制实验 (一)实验目的 熟悉和掌握机器人开发环境使用,超声传感器、碰撞传感器、温度传感器、颜色传感器等常见机器人传感器工作原理与使用方法,熟悉机器人平台使用与搭建;设计一个简单的机器人,并采用多种程序设计方法使它能动起来。 (二)仪器工具及材料 计算机、机器人实验系统、机器人软件开发平台、编程下载器等设备。 (三)内容及程序 实验内容: (1)碰撞传感器原理与应用; (2)颜色传感器原理与应用; (3)测距传感器原理与应用; (4)温度传感器原理与应用; (5)熟悉开发环境使用与操作;设计一个简单轮式移动机器人,并使用图形化编程方式实现对机器人的控制,通过该设计掌握机器人开发平台的结构设计、程序设计等基本方法。 实验步骤: 1)首先确定本次要做的机器人为货架物品颜色辨别的机器人。 2)根据模型将梁、轴、插销、螺丝等零件拼装成一个货架台 3)将货架台安装上可识别颜色的摄像头,并装在控制器上方,将两个摄像头的连接线分 别插入控制器的传感器接口,将显示器连接线插入传感器接口。 4)拼装完成后将控制器连接电脑,在电脑上运用Innobot软件对机器人进行颜色识别动 作的编程,拖动颜色传感器模块,对应选择数码管接口以及两个摄像头的接口,使机器人能将货架台上物品的颜色反应到数码管上。 5)将所编程序进行上传。测试看机器人是否能将颜色反映到显示器上完成所编动作。

(四)结果及分析 使用梁和轴以及螺钉拼装出货架台。 将拼装好的货架台装到传感器上。

六轴工业机器人实验报告

六轴工业机器人模块 实验报告 姓名:张兆伟 班级:13 班 学号:2015042130 日期:2016年8月25日

六轴工业机器人模块实验报告 一、实验背景 六自由度工业机器人具有高度的灵活性和通用性,用途十分广泛。本实验是在开放的六自由度机器人系统上,采用嵌入式多轴运动控制器作为控制系统平台,实现机器人的运动控制。通过示教程序完成机器人的系统标定。学习采用C++编程设计语言编写机器人的基本控制程序,学习实现六自由度机器人的运动控制的基本方法。了解六自由度机器人在机械制造自动化系统中的应用。 在当今高度竞争的全球市场,工业实体必须快速增长才能满足其市场需求。这意味着,制造企业所承受的压力日益增大,既要应付低成本国家的对手,还要面临发达国家的劲敌,二后者为增强竞争力,往往不惜重金改良制造技术,扩大生产能力。 机器人是开源节流的得利助手,能有效降低单位制造成本。只要给定输入成值,机器人就可确保生产工艺和产品质量的恒定一致,显著提高产量。自动化将人类从枯燥繁重的重复性劳动中解放出来,让人类的聪明才智和应变能力得以释放,从而生产更大的经济回报。 二、实验过程 1、程序点0——开始位置 把机器人移动到完全离开周边物体的位置,输入程序点 0。按下手持操作示教器上的【命令一览】键,这时在右侧弹出指令列表菜单如图: 按手持操作示教器【下移】键,使{移动 1}变蓝后,按【右移】键,打开{移动 1}子列表,MOVJ 变蓝后,按下【选择】键,指令出现在命令编辑区。修改指令参数为需要的参数,设置速度,使用默认位置点 ID 为 1。(P1 必须提前示教好)。按下手持操作示教器上的【插入】键,这时插入绿色灯亮起。然后再按

机器人实训报告

一、机器人擂台赛 1、实训目的 机器人擂台赛的目的在于促进智能机器人技术(尤其是自主识别、自主决策技术)的普及。参赛队需要在规则范围内以各自组装或者自制的自主机器人互相搏击,并争取在比赛中获胜,以对抗性竞技的形式来推动相关机器人技术在大学生、青少年中的普及与发展。可以用自己设计的机器人来参加擂台赛,同时掌握这个环节所展现出来的机器人技术。 机器人擂台赛未来的发展目标是:比赛中,两个使用双腿自主行走的仿人形机器人互相搏击并将对方打倒或者打下擂台。? 2、实训要求 在指定的大小擂台上有双方机器人。?双方机器人模拟中国古代擂台搏击的规则,互相击打或者推挤。如果一方机器人整体离开擂台区域或者不能再继续行动,则另一方获胜。机器人大小要求长、宽、高分别不能超过30cm、30cm、40cm 。 比赛场地大小为长、宽分别为是 2400?mm的台,台上表面即为擂台场地。有黑色的胶布围成。?比赛开始后,?围栏内区域不得有任何障碍物或人。? 3、比赛规则分析? 我们需要吃透比赛规则,然后才能在比赛规则允许的范围内,尽量让我们的机器人具有 别人不具有的优势。对上述的比赛规则分析得到以下几个重点:? 3、1需要确保自己不掉下擂台

需要有传感器进行擂台边沿的检测,当发现机器人已经靠近边沿立刻转弯或者掉头。擂 台和地面存在比较大的高度差,我们通过测距传感器很容易发现这个高度落差,从而判断出 擂台的边沿。如图所示,在机器人上安装一个测距传感器,斜向下测量地面和机器人的 距离,机器人到达擂台边沿时,传感器的测量值会突然间变得很大。由于红外测距传感器使 用方便,并且“创意之星”控制器可以接入最多 8 个红外测距传感器,我们可以将它作为首选方案。? 擂台地面时有灰度变化的,我们可以在机器人腹部安装一些灰度传感器,来判读机器人 覆盖区域的灰度变化,从而判读机器人相对场地的方向。可以通过整体灰度值来判读机器人 的位置是不是靠近边沿,如果机器人靠近边沿就转弯后者后退。? 3、2需要及时的发现敌方 这里我们使用红外接近开关作为寻找敌方的方案并不算优秀,红外接近开关的有效测量范围是 20cm,20cm 之外的物体是察觉不到的。我们可以改成红外测距传感器,它的有效测量范围是 10‐80cm,比较适合我们当前的使用场合。? 3、3需要迅速的推动敌方,将敌方退下擂台 我们可以想象,两只斗牛相互推挤,赢的一定是力气比较大的一方。?

机器人实验报告

一、机器人的定义 美国机器人协会(RIA)的定义: 机器人是一种用于移动各种材料、零件、工具或专用的装置,通过可编程序动作来执行种种任务的、并具有编程能力的多功能机械手。 日本工业机器人协会(JIRA—Japanese Industrial Robot Association):一种带有存储器件和末端执行器的通用机械,它能够通过自动化的动作替代人类劳动。(An all—purpose machine equipped with a memory device and an end—effector,and capable of rotation and of replacing human labor by automatic performance of movements.) 世界标准化组织(ISO):机器人是一种能够通过编程和自动控制来执行诸如作业或移动等任务的机器。(A robot is a machine which can be programmed to perform some tasks which involve manipulative or locomotive actions under automatic control.) 中国(原机械工业部):工业机器人是一种能自动定位控制、可重复编程、多功能多自由度的操作机,它能搬运材料、零件或夹持工具,用以完成各种作业。 二、机器人定义的本质: 首先,机器人是机器而不是人,它是人类制造的替代人类从事某种作业的工具,它能是人的某些功能的延伸。在某些方面,机器人可具有超越人类的能力,但从本质上说机器人永远不可能全面超越人类。

六轴工业机器人实验报告

六轴工业机器人模块 实验报告

六轴工业机器人模块实验报告 一、实验背景 六自由度工业机器人具有高度得灵活性与通用性,用途十分广泛。本实验就是在开放得六自由度机器人系统上,采用嵌入式多轴运动控制器作为控制系统平台,实现机器人得运动控制。通过示教程序完成机器人得系统标定。学习采用C++编程设计语言编写机器人得基本控制程序,学习实现六自由度机器人得运动控制得基本方法。了解六自由度机器人在机械制造自动化系统中得应用。 在当今高度竞争得全球市场,工业实体必须快速增长才能满足其市场需求。这意味着,制造企业所承受得压力日益增大,既要应付低成本国家得对手,还要面临发达国家得劲敌,二后者为增强竞争力,往往不惜重金改良制造技术,扩大生产能力。 机器人就是开源节流得得利助手,能有效降低单位制造成本。只要给定输入成值,机器人就可确保生产工艺与产品质量得恒定一致,显著提高产量。自动化将人类从枯燥繁重得重复性劳动中解放出来,让人类得聪明才智与应变能力得以释放,从而生产更大得经济回报。 二、实验过程 1、程序点0——开始位置 把机器人移动到完全离开周边物体得位置,输入程序点 0。按下手持操作示教器上得【命令一览】键,这时在右侧弹出指令列表菜单如图: 按手持操作示教器【下移】键,使{移动 1}变蓝后,按【右移】键,打开{移动1}子列表,MOVJ 变蓝后,按下【选择】键,指令出现在命令编辑区。修改指令参数为需要得参数,设置速度,使用默认位置点 ID 为 1。(P1 必须提前示教好)。按下手持操作示教器上得【插入】键,这时插入绿色灯亮起。然后再按下【确认】键,指令插入程序文件记录列表中。此时列表内容显示为: MOVJ P=1 V=25 BL=0 (工作原点)

机器人实验与技术实验报告

机器人技术课程实验报告 题目:机器人灭火 专业:自动化 班级: 101 姓名及学号: 2013年10 月 成都信息工程学院控制工程学院 一、设计目的: 1、通过本课程的学习和训练,了解有关机器人技术方面的基本知识,掌握机器人学所涉及的技术的基本原理和方法,得到机器人技术开发的实践技能训练。

2、巩固相关理论知识,了解机器人技术的基本概念以及有关电工电子学、单片机、传感器等技术。 3、通过使用机器人模型,编程处理机器人运动过程,分析机器人的控制原理,通过对其具体结构的了解。 4、培养自学能力和独立解决问题的能力,熟悉MT-UROBOT图形界面的编程与调试方法,熟练掌握平台的输入输出口进行控制。 二、设计任务: 使机器人能在迷宫内自主行走,能自己编写程序,让机器人完成相应的任务。 三、设计要求: 1、认真阅读教材中第1章和第2章的内容,学会工程项目的建立,应用程序的仿真与调试。 2、利用I/O口和传感器对机器人进行控制。(实验步骤和参考程序可参照使用说明中的第3章及第四章4.3节) 四、系统设计: 1、介绍所使用的硬件情况及工作原理: MT-UROBOT是一种供教学和研究的新型移动智能机器人。开关按钮控制MT-URO MT-UROBOT结构(如下:) OT 电源开关的按钮,按此按钮可以打开或关闭机器人电源。“电源”指示灯按下 MT-UROBOT 的开关后,这个灯会发绿光,这时可以与机器人进行交流了!“充电”指示灯当你给机器人充电时,“充电”指示灯发红光。“充电口”将充电器的相应端插入此口,再将另一端插到电源上即可对机器人充电。“下载口”“充电口”旁边的“下载口”用于下载程序到机器人主板上,使用时只需将串口连接线的相应端插入下载口,另一端与计算机连接好,这样机器人与计算机就连接起来了。“复位/MTOS”按钮这是个复合按钮,用于下载操作系统和复位。当串口通信线接插在下载口上时,按击此按钮,机器人系统默认为此操作为下载操作系统;如果你想使用其复位功能则需要将通信线拔下,按击此按钮,机器人系统认为此操作为系统复位。“RUN”键打开电源后,按击“RUN”键,机器人就可以运行内部已存储的程序,按照你的“指令”行动。“通信”指示灯“通信”指示灯位于机器人主板的前方,在给 MT-UROBOT 下载程序时,这个黄灯会闪烁,

工业机器人编程技术实训课程标准

工业机器人编程技术课程标准 一、课程基本信息 先修课程:电工技术基础、电气控制与PLC、电子技术基础 后续课程:工业机器人安装与调试实训 课程类型:专业必修 二、课程性质 “工业机器人编程技术”是机电专业的一门专业核心课,是在相关专业学习课程学完后的一门综合性课程。机器人技术是一门跨多个学科的综合性技术,涉及自动控制、计算机、传感器、人工智能、电子技术和机械工程等多种学科的内容。本课程的先导课程为:“电工电子技术”、“电气控制与PLC”、“机电设备故障诊断与维修”“工业机器人安装与调试”,经过这四门课程的学习,学生已具备机械部件故障诊断与维修方法、机电设备电器控制、电子产品焊装调试、软件编程和机械图和电器原理图的识读能力。已基本具备学习本课程的知识、技能基础。《工业机器人编程技术》后续课程为《自动化工业生产的安装与调试实训》,进一步学习生产自动化的能力与技能。本课程在专业教学与实践工作之间起了承前启后的桥梁作用,是工业机器人技术专业人才培养过程重要的环节。 三、课程的基本理念 以学生为主体,以工学结合为宗旨,以岗位职业能力的培养为重点,目的是强化学生的工程实践能力与创新能力。“工业机器人编程技术”课程在设计教学思路和理念时,采用基于项目教学的课程教学模式。根据专业人才培养目标及岗位群对学生岗位能力提

出的要求,明确课程目标,分析岗位工作过程,确定岗位典型工作任务,并根据典型工作任务整合教学内容,设计相应的实训项目,注重培养学生的专业能力、方法能力、创新能力和社会能力。 四、课程设计 该该课程是依据“机电一体化专业工作任务与职业能力分析表”中的职业岗位工作项目设置的。其总体设计思路是为以工作任务为中心组织课程内容,让学生在完成具体项目的过程中构建相关理论知识,发展职业能力。课程内容突出对学生职业能力的训练,并融合了相关职业资格证书对知识、技能和态度的要求。 通过对课程内容高度归纳,概括了工业机器人系统构成、机器手动操作、机器人编程控制、机器人参数设定及程序管理等,容的组织是由易到难,由浅入深,由基本理论知识到提高知识与技能训练。学生通过学习,基本掌握本课程的核心知识与技能,初步具备工业机器人现场编程能力以及有关的创新创业技能。 五、课程的目标 (一)总目标 本课程以面向就业岗位为导向,结合工业机器人技术能力目标,对本课程进行了知识体系重构。整个学习过程突出了职业性、实践性和实用性的特点。教学知识点由工业机器人的开关机操作到认识示教器,再到手动操作方法、自动运行方法,学习内容逐渐深化。通过本门学习领域课程工作任务的完成,使学生达到理论联系实际、活学活用的基本目标,提高其实际应用技能,并使学生养成善于观察、独立思考的习惯,同时通过教学过程中的案例分析强化学生的职业道德意识和职业素质养成意识以及创新思维的能力。 (二)具体目标: 1、知识:

《工业机器人》实验报告

北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验一:工业机器人认识 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解6自由度工业机器人的机械结构,工作原理,性能指标、控制系统,并初步掌握操作。了解6自由度工业机器人在柔性制造系统中的作用。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述工业机器人的机械结构、工作原理及性能指标。 2、描述控制系统的组成及各部分的作用。

3、描述机器人的软件平台及记录自己在进行实际操作时的步骤及遇到的问题以及自己的想法。教师批阅:

北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验二:机器人坐标系的建立 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人建立坐标系的意义;了解机器人坐标系的类型;掌握用D-H方法建立机器人坐标系的方法与步骤。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述机器人建立坐标系的意义以及机器人坐标系的类型。 2、深入研究机器人机械结构,建立6自由度关节型机器人杆件坐标系,绘制机器人杆件坐标系图。

教师批阅:

实验课程:工业机器人实验名称:实验三:机器人示教编程与再现控制 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人示教编程的工作原理,掌握6自由度工业机器人的示教编程与再现控制。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述机器人示教编程的原理。 2、详细叙述示教编程与再现的操作步骤,记录每一个程序点,并谈谈实验心得体会。教师批阅:

工业机器人实验报告

竭诚为您提供优质文档/双击可除工业机器人实验报告 篇一:《工业机器人》实验报告 北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验一:工业机器人认识 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解6自由度工业机器人的机械结构,工作原理,性能指标、控制系统,并初步掌握操作。了解6自由度工业机器人在柔性制造系统中的作用。二、实验设备 Fms系统(含6-DoF工业机器人)三、实验内容与步骤 1、描述工业机器人的机械结构、工作原理及性能指标。 2、描述控制系统的组成及各部分的作用。 3、描述机器人的软件平台及记录自己在进行实际操作时的步骤及遇到的问题以及自己的想法。 教师批阅: 北京理工大学珠海学院实验报告

实验课程:工业机器人实验名称:实验二:机器人坐标系的建立 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人建立坐标系的意义;了解机器人坐标系的类型;掌握用D-h方法建立机器人坐标系的方法与步骤。二、实验设备 Fms系统(含6-DoF工业机器人) 三、实验内容与步骤 1、描述机器人建立坐标系的意义以及机器人坐标系的类型。 2、深入研究机器人机械结构,建立6自由度关节型机器人杆件坐标系,绘制机器人杆件坐标系图。 教师批阅: 北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验三:机器人示教编程与再现控制 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人示教编程的工作原理,掌握6自由度工业机器人的示教编程与再现控制。二、实验设备 Fms系统(含6-DoF工业机器人)三、实验内容与步骤

1、描述机器人示教编程的原理。 2、详细叙述示教编程与再现的操作步骤,记录每一个程序点,并谈谈实验心得体会。 教师批阅: 篇二:工业机器人实验报告 工业机器人实验报告 姓名: 年级: 学号: 前言 六自由度工业机器人是个较新的课题,虽然其在国外已经具有了较完善的研究,但是在国内对于它的研究依旧停留在较低的水平上。机器人技术几种了机械工程、电子技术、计算机技术、自动化控制理论及人工智能等多学科的最新研究成果,代表机电一体化的最高成就,是当代科学技术发展最活跃的领域之一。在传统的制造领域,工业机器人经过诞生、成长、成熟期后,已成为不可缺少的核心自动化装备,目前世界上有近百万台工业机器人正在各种生产现场工作。在非制造领域,上至太空舱、宇宙飞船、月球探索,下至极限环境作业、医疗手术、日常生活服务,机器人技术的应用以拓展到社会经济发展的诸多领域。 一、六自由度机械手臂系统的介绍

工业机器人实验分析报告-机械-示教-离线编程

工业机器人实验报告-机械-示教-离线编程

————————————————————————————————作者:————————————————————————————————日期:

工业机器人实验报告 ——机器人示教与离线编程实验 班级:机械41 组别:第一组 组员:陈豪 2140101003 尹鑫鑫 2140101023 武文家 2140101020 指导老师:桂亮 西安交通大学 2017年 5 月 3 日

西安交通大学实验报告 第页(共页)课程:工业机器人实验日期:2017年 5月 3 日 专业班号机械41组别第一组交报告日期:年月日 姓名陈豪学号2140101003 报告退发:(订正、重做) 姓名尹鑫鑫学号2140101023 教师审批签字: 姓名武文家学号2140101020 实验一机器人示教实验 一、实验目的 1.了解机器人示教与再现的原理; 2.掌握机器人示教和再现过程的操作方法。 二、实验设备 1.模块化机器人一台; 2.模块化机器人控制柜一台。 三、实验原理 机器人的示教-再现过程是分为四个步骤:示教、记忆、再现、操作。 示教,就是操作者把规定的目标动作(包括每个运动部件,每个运动轴的动作)一步一步 的教给机器人。 记忆,即是机器人将操作者所示教的各个点的动作顺序信息、动作速度信息、位姿信息 等记录在存储器中。 再现,便是将示教信息再次浮现,即根据需要,将存储器所存储的信息读出,向执行机 构发出具体的指令。 操作,指机器人以再现信号作为输入指令,使执行机构重复示教过程规定的各种动作。 示教的方法有很多种,有主从式,编程式,示教盒式等多种。 四、实验步骤 1.接通控制柜电源,按下“启动”按钮; 2.启动计算机,运行机器人软件; 3.点击主界面“模块组合方式”按钮,按照实际情况选择已组合的模块设备,并点 击“确定”按钮; 4.点击主界面“机器人复位”按钮,机器人进行回零运动。观察机器人的运动,所 有模块全部运动完成后,机器人处于零点位置; 5.点击“示教”按钮,出现界面;

两轮机器人实验报告

机电综合实验报告 两轮机器人 姓名:付文晖 班级:车辆工程二班 学号: 20110402216 同组成员:张彬 20110402203 平梦浩 20110402103 2014年12月

目录 一、实验目的.................................................. - 2 - 二、实验设备.................................................. - 2 - 三、实验内容.................................................. - 2 - 四、实验原理.................................................. - 2 - 4.1、实验平台——C51+AVR 控制板........................... - 2 - 4.2、开发平台——Keil μVision2........................... - 4 - 4.3、开发辅助工具——USBASP程序下载器软件................ - 5 - 4.4、机器人定速巡航与日字行走............................. - 6 - 4.5、机器人触须导航....................................... - 7 - 4.6、机器人红外导航....................................... - 8 - 五、实验过程及结果........................................... - 10 - 5.1、定速巡航与日字行走.................................. - 10 - 5.1.1、直线向前行走.................................. - 10 - 5.1.2、向左转1/4圈.................................. - 10 - 5.1.3、向右转1/4圈.................................. - 10 - 5.1.4、向后退........................................ - 11 - 5.1.5、日字行走...................................... - 11 - 5.2、触须导航............................................ - 12 - 5.2.1、实验准备...................................... - 12 - 5.2.2、安装胡须...................................... - 13 - 5.2.3、测试胡须...................................... - 14 - 5.2.4、触须导航程序.................................. - 14 - 5.3、红外导航............................................ - 16 - 5.3.1、搭建IR发射和探测器对......................... - 16 - 5.3.2、为何要使用三极管9013 ......................... - 17 - 5.3.3、测试红外发射探测器............................ - 17 - 5.2.4、红外导航程序.................................. - 18 - 六、实验心得................................................. - 22 -

工业机器人实验报告

工业机器人拆装实验报告 学校:湖南大学 学院:机械与运载工程学院 专业:机自1201 姓名:吴子超201211020121 徐文达201211010122 纪后继201210010108 刘建国201204010110

前言 六自由度工业机器人是个较新的课题,虽然其在国外已经具有了较完善的研究,但是在国内对于它的研究依旧停留在较低的水平上。机器人技术几种了机械工程、电子技术、计算机技术、自动化控制理论及人工智能等多学科的最新研究成果,代表机电一体化的最高成就,是当代科学技术发展最活跃的领域之一。在传统的制造领域,工业机器人经过诞生、成长、成熟期后,已成为不可缺少的核心自动化装备,目前世界上有近百万台工业机器人正在各种生产现场工作。在非制造领域,上至太空舱、宇宙飞船、月球探索,下至极限环境作业、医疗手术、日常生活服务,机器人技术的应用以拓展到社会经济发展的诸多领域。 一、六自由度机械手臂系统的介绍 在本次综合创新型试验中我们用到的是六自由度机械手,其是典型的机电一体化设备,在该试验中我们主要是在对其机械臂进行拆卸,然后认真观察其内部机械结构,而后再进行组装,最后再运行整个机

械臂并检测其运动功能。在实验中我们所用的机械手臂实物图: 六自由度机械手臂是一套具有6个自由度的典型串联式小型关 节型机械手臂, 带有小型手抓式;主要由机械系统和控制系统两大部分组成,其机械系统的各部分采用模块化结构,每个部分分别由一个 伺服电动机来带动,每个电动机在根据控制要求以及程序的要求来运动从而实现运动要求;其机械系统主要包括以下六个组件,如图所示PSC Port0,1,2,3,4,5六个组件也就是底座,臂膀,手腕及夹持手指。每个组件由一个伺服电机驱动关节运动,组件1也就是由PSC Port0

机器人实验报告

机器人实验报告 院系:电气信息工程学院班级:XX级电气X班 姓名:XXX 提交日期:201X年X月X日

前言 作为先进制造业中不可替代的重要装备和手段,工业机器人已经成为衡量一个国家制造水平和科技水平的重要标志。机器人的应用越来越广泛,需求越来越大,其技术研究与发展越来越深入,这将提高社会生产率与产品质量,为社会创造巨大的财富。本文将从工业机器的发展历史,现状及未来趋势进行阐述。机器人技术作为20世纪人类最伟大的发明之一,自20世纪60年代初问世以来,经历了近50年的发展已取得显著成果。走向成熟的工业机器人,各种用途的特种机器人的实用化,昭示着机器人技术灿烂的明天。 一、发展历史 工业机器人诞生于20 世纪60 年代,在20 世纪90 年代得到迅速发展,是最先产业化的机器人技术.它是综合了计算机,控制论,机构学,信息和传感技术,人工智能,仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域.它的出现是为了适应制造业规模化生产,解决单调,重复的体力劳动和提高生产质量而代替人工作业.在我国,工业机器人的真正使用到现在已经接近20 多年了,已经基本实现了试验,引进到自主开发的转变,促进了我国制造业,勘探业等行业的发展.随着我国改革开放的逐渐深入,国内的工业机器人产业将面对越来越大的竞争与冲击,因此,掌握国内工业机器人市场的实际情况,把握 我国工业机器人的相关技术与研究进展,显得十分重要。 二、发展现状 在普及第一代工业机器人的基础上,第二代工业机器人已经推广,成为主流安装机型,第三代智能机器人已占有一定比重(占日本1998年安装台数的10%,销售额的36%) (1)机械结构:1) 已关节型为主流,80年代发明的使用于装配作业的平 面关节机器人约占总量的1/3.90年代初开发的适应于窄小空间,快节奏,360度全工作空间范围的垂直关节机器人大量用于焊接和上,下料.2)应3K 和汽车,建筑,桥梁等行业需求, 超大型机器人应运而生.如焊接树10米长,10吨以上大构件的弧焊机器人群,采取蚂蚁啃骨头的协作机构.3)CAD,CAE 等技术已普遍用于设计,仿真和制造中. (2)控制技术:1) 大多数采用32位CPU,控制轴数多达27轴,NC 技术,离线编程技术大量采用.2) 协调控制技术日趋成熟,实现了多手与变位机, 多机器人的协调控制, 正逐步实现多智能体的协调控制. 采用基于PC 的开放 结构的控制系统已成为一股潮3) 流,其成本低,具有标准现场网络功能. (3)驱动技术:1) 80年代发展起来的AC 侍服驱动已成为主流驱动技术用于工业机器人中.DD 驱动技术则广泛地用于装配机器人中.2) 新一代的侍服电机与基于微处 理器的智能侍服控制器相结合已由FANUC 等公司开发并用于工业机器人中, 在远程控制中已采用了分布式智能驱动新技术. (4)应用智能化的传感器:装有视觉传感器的机器人数量呈上升趋势,不少机器人装有两种传感器,有些机器人留了多种传感器接口. (5)通用机器人编程语言:在ABB 公司的20多个小型号产品中,采用了通用模化块语言RAPID.最近美国"机器人工作空间技术公司"开发了Robot Script V.10通用语言,运行于该公司的通用机器人控制器URC 的Win NT/95环境.该语言易学医用,可用于各种开发环境,与大多数WINDOWS 软件产品兼容. (6)网络通用方式:大部分机器人采用了Ether 网络通讯方式,占总量的41.3,其它采用RS-232,RA-422,RS-485等通讯接口. (7)高速,高精度,多功能化:目前,最快的装配机器人最大合成速度为16.5m/s. 位置重复精度为正负0.01mm. 但有一种速度竞达到80m/s; 而另一种并连机构的NC 机器人, 其位置重复精度大1微秒. (8)集成化与系统化:当今工业机器人技术的另一特点是应用从单机,单

智能机器人实验报告

机器人实验报告 1、 实验目的: 1、 认识“能力风暴”机器人,并会简单编辑程序,使其完成规 定动作。 2、 了解“能力风暴机器人内部构造,认识声音、光敏、碰撞等 传感器。 3、 了解AS多功能拓展卡,并能够简单应用。 2、 实验过程: 各组领取能力风暴机器人,老师对其进行讲解,然后各组对其观察,认识,并编辑一些小程序对其进行简单操 作。 1、认识能力风暴机器人 AS-UII有一个功能很强的“大脑”和一组灵敏的“感觉”器官。它不仅可以随着外部环境敏捷地作出反应,而 且还可以与你进行交流。它有听觉、视觉、和触觉,它还 会象人一样使用动作和声音,来表达与它周围世界互动时 的感觉。 开关:控制AS-UII电源的按钮。 电源指示灯:电源指示灯的颜色是绿色。开机时,这个灯会发光,告诉你机器人已经进入工作状态了!

充电指示灯:当你给机器人充电时,充电指示的红灯发光。 充电口:只要将充电器的直流输出端插在充电口上,再将另一端接到 220V电源上即可。 下载口:使用时只需将串口通信线的一端接下载口,另一端连接在电脑机箱后面的一个九针串口上。 “复位/ASOS”按钮:这是个复合按钮,用于下载操作系统和复位。 复位功能:在机器人运行程序的过程中,按下此按钮,机器人就会中断程序的运行。如果要重新运行程序,须按运行键。 下载操作系统功能:连接好串口通信线,打开机器人电源开关,在VJC1.5流程图编辑界面中选择“工具(T)--更新操作系统”命令,然后按下此按钮,即可下载操作系统。 运行键:机器人开机后,按击“运行”键,就可以运行最近下载的程序。 通信指示灯:通信指示灯位于机器人主板的前方,是一个黄色的小灯。在给机器人下载程序时,这个黄灯闪烁,表明下载正常,程序正在进入机器人的“大脑”。

先进机器人技术实验报告

先进机器人技术实验报告 一、实验目的 学习完《先进机器人技术》这门课程之后,在对机械手操作空间变换的知识有所掌握的基础上,通过实践中对机械手控制的操作,加深对机械手操作空间变换的认识。 二、实验仪器 STAUBLI TX90机器人 三、实验原理 机器人的程序编制是机器人运动和控制的结合点,是实现人与机器人通信的主要方法,机器人系统的编程能力极大的决定了具体的机器人使用功能的灵活性和智能程度。对机器人编程,要求能够建立世界模型,能够描述机器人的作业,能够描述机器人的运动,同时,也要有良好的编程环境。机器人编程语言一般的基本功能有运算、决策、通信、机械手运动、工具指令和传感器数据处理等,常用的机器人编程语言有AL、AUTOPASS、LAMA-S、VAL、ARIL、WAVE、DIAL、RPL 等,而在本次试验中的STAUBLI TX90机器人使用的编程语言就是VAL语言。 VAL语言是在BASIC语言的基础上扩展的机器人语言,它具有BASIC式的结构,并在此基础上添加了一批机器人编程指令和VAL监控操作系统,可连续实时运算,迅速实现复杂的运动控制。VAL语言的编程指令简明,且指令和功能均可扩展,其编程方法和全部指令可用于多种计算机控制的机器人。在本次实验中,通过在电脑软件界面上的编程,并通过模拟机械手末端的运动对程序进行完善,最终实现对STAUBLI TX90机器人操作末端的控制,写出每一位编程人员名字的最后一个字。本次试验的使用的编程语言是“begin”、“movej”和“end”。 四、实验过程 首先打开软件VAL Studio,在操作界面中,首先在程序页编写开头文字“begin”,换行,然后输入“waitEndMove”,换行,输入“end”,然后编译。 接着,转换到data界面,在界面中,开始定义机械手末端的运动坐标点、tTool1和mdesc1,定义完毕,转换回到编程界面,使用定义的运动坐标点,编写机械手末端的操作轨迹。 编写完毕后,要对程序进行编译,确定程序没有错误,然后再打开仿真机和三维机械臂仿真界面,调入编译好的程序,进行三维机仿真。 本次的实验任务是使用STAUBLI TX90机器人的末端操作机构写出自己名字的最后一个字,本实验报告中,机械手将会写的是“华”字,在AutoCAD软件中使用线条画出了“华”字如下,然后根据里面的坐标进行定义末端运动轨迹的坐标点。

机器人实验报告

机器人学基础 实验报告 中南大学机电工程学院机械电子工程系 2016年10月

一、实验目的 1.了解四自由度机械臂的开链结构; 2.掌握机械臂运动关节之间的坐标变换原理; 3.学会机器人运动方程的正反解方法。 二、实验原理 本实验以SCARA 四自由度机械臂为例研究机器人的运动学问题.机器人运动学问题包括运动学方程的表示,运动学方程的正解、反解等,这些是研究机器人动力学和机器人控制的重要基础,也是开放式机器人系统轨迹规划的重要基础。 机械臂杆件链的最末端是机器人工作的末端执行器(或者机械手),末端执行器的位姿是机器人运动学研究的目标,对于位姿的描述常有两种方法:关节坐标空间法和直角坐标空间法。 关节坐标空间: 末端执行器的位姿直接由各个关节的坐标来确定,所有关节变量构成一个关节矢量,关节矢量构成的空间称为关节坐标空间。图1-1是GRB400机械臂的关节坐标空间的定义。因为关节坐标是机器人运动控制直接可以操纵的,因此这种描述对于运动控制是非常直接的。 直角坐标空间: 机器人末端的位臵和方位也可用所在的直角坐标空间的坐标及方位角来描述,当描述机器人的操作任务时,对于使用者来讲采用直角坐标更为直观和方便(如图1-2)。 当机器人末端执行器的关节坐标给定时,求解其在直角坐标系中的坐标就是 正向运动学求解(运动学正解)问题;反之,当末端执行器在直角坐标系中的坐 图1-1 机器人的关节坐标空间 图1-2 机器人的直角坐标空间法

标给定时求出对应的关节坐标就是机器人运动学逆解(运动学反解)问题。运动学反解问题相对难度较大,但在机器人控制中占有重要的地位。 机器人逆运动学求解问题包括解的存在性、唯一性及解法三个问题。 存在性:至少存在一组关节变量来产生期望的末端执行器位姿,如果给定末端执行器位臵在工作空间外,则解不存在。 唯一性:对于给定的位姿,仅有一组关节变量来产生希望的机器人位姿。机器人运动学逆解的数目决定于关节数目、连杆参数和关节变量的活动范围。通常按照最短行程的准则来选择最优解,尽量使每个关节的移动量最小。 解法:逆运动学的解法有封闭解法和数值解法两种。在末端位姿已知的情况下,封闭解法可以给出每个关节变量的数学函数表达式;数值解法则使用递推算法给出关节变量的具体数值,速度快、效率高,便于实时控制。下面介绍D-H 变化方法求解运动学问题。 建立坐标系如下图所示 连杆坐标系{i }相对于{ i ?1 }的变换矩阵可以按照下式计算出,其中连杆坐标系D-H 参数为由表1-1给出。 齐坐标变换矩阵为: 其中描述连杆i 本身的特征;和描述连杆i?1与i 之间的联系。对于旋转关节,仅是关节变量,其它三个参数固定不变;对于移动关节,仅是关节变量,其它三个参数不变。

机器人足球仿真实验报告

机器人足球仿真 实 验 报 告

班级: 姓名: 学号: 年月日

实验一机器人足球比赛编程预备知识 1.实验目的 掌握RoboCup仿真机器人足球比赛相关知识点,具体内容如下: (1)Linux操作系统的熟悉及了解其基本操作。 (2)掌握Linux下如何进行C++编程,了解gcc编译器以及一些简单编辑工 具,如:vi、emacs、gedit、Anjuta、Kdevelope等。 (3)启动RoboCup仿真(2D)足球队的比赛。 2.实验设备 硬件环境:PC机 软件环境:操作系统linux 3.实验内容 (1)掌握Linux一些常用的命令 ●文件或目录处理 格式:ls [-atFlgR][name] 第一项是一些语法加量。第二项是文件名。 常用的方法有: ls 列出当前目录下的所有文件。 ls –a 列出包括以.开始的隐藏文件的所有文件名。 ls –t 依照文件最后修改时间的顺序列出文件名。 ls –F 列出当前目录下的文件名及其类型。以/结尾表示为目录名、以*结尾表示未可执行文件、以@结尾表示为符号连接。 ls –l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。 ls –lg 同上,并显示出文件的所有者工作组名。 ls –R 显示出目录下以及其所有子目录的文件名。 ●改变工作目录 格式::cd [name] name :目录名、路径或目录缩写。 常用的方法有: cd 改变目录位置至用户登录时的工作目录。 cd dirl 改变目录位置至dirl目录下。 cd ~user 改变目录位置至用户的工作目录。 cd ..改变目录位置至。 cd ../user 改变目录位置至相对路径user的目录下。 cd /../.. 改变目录位置至绝对路径的目录位置下。 ●复制文件 格式:cp [-r] 源地址目的地址

相关文档
最新文档