首页 上一页 1 2 下一页 尾页

初学者进.如何进入机器人的世界 点击:9758 | 回复:38



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-09 19:15:29
楼主

初学者进.如何进入机器人的世界


大家好!我是Lamp,机器人爱好者中的一员。


我在ROBOTDIY上发表过一篇《机器人DIY》后收到很多网友来信,希望我能教大家
制作机器人,本人由于有工作在身兼又有一些开发任务,所以不能一一回信望大家
原谅!为了弥补我的错误,我决定重新写一本通俗易懂的《机器人DIY》.

好开始讲课,本人随想随写,不到之处请大家原谅!

第一课 制作机器人的基础

在论坛上经常可以看到有人说:“我是菜鸟,制作机器人需要什么基础?”。其
实我可以回答大家:“基础就是你首先要学好数理化”,怎么样很意外吧!现在
我来给大家讲讲为什么这么说。机器人制作综合性很强,它涉及机械制造、计
算机、电子技术等很多领域,每一个领域都是以我们的数理化为基础的,还有就
是要充分利用互联网的资源自我学习。

以下是我在论坛发过的一篇贴子,希望大家用心体会。

高手的秘诀

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来
再参考别人的提示,你就知道自己和别人思路的差异。

2.别小家子气,买本书几十块都舍不得,你还学个P。为了省钱看电子书,浪费的时间绝对
超过书的价值。当然如果查资料,只能看PDF。

3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件,什么都不
懂,就盲目的问东问西,让人看起来很幼稚。

4.不要蜻蜓点水,得过且过,细微之处往往体现实力。

5.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

6.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。
.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍。

7.多实践,去焊板子、调试,去写去调,只用软件模拟,是永远成不了高手的。

8.保存好你做过的所有的源程序、PCB、原理图等----那是你最好的积累之一。

9.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会
自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相
关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

10 到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就
有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回
的。

11,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你
总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说
法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。

什么样的人是浮躁的人?

浮躁的人容易问:我到底该学什么;
----踏踏实实的学点基本的吧?单片机不知道是什么就想去学ARM?
c语言不会想搞LINUX?别老是好高骛远。
浮躁的人容易问:谁有xxx源码?--(你给人家多少钱啊?自己的劳动白送你?)
浮躁的人容易说:跪求xxx ---(就算网络也要点尊严吧?)
浮躁的人容易说:紧急求救---(其实只是个简单的课程设计)
浮躁的人容易说:有没有xxx中文资料?---一个字:懒。别说别的。E文不行?谁不是从
ABC学起的啊?
浮躁的人容易说:求xxx,我的email是xxx@xxx.com,然后消失 ---- 你以为你是大爷啊,人
家请你吃饭,还要喂到你口里不成?
浮躁的人容易问:做单片机有钱途吗----只是为了钱,搞不好技术的,你去抢银行好了。
浮躁的人容易说:哪里有xxx芯片资料?(其实大部分资料网络上都有,但是偏偏来找人
问,懒!)
浮躁的人分两种:只观望而不学的人;只学而不坚持的人;
浮躁的人永远不是一个高手。

lamp

看完后明白了吧,恭喜!你已经迈出了第一步。




楼主最近还看过



PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:03:51
21楼

star: ;程序开始 
clr p1.0 ;LED1亮 
acall delay ;调用延时子程序 
setb p1.0 ;LED1灭 
clr p1.1 ;换灯,同上 
acall delay 
setb p1.1 
clr p1.2 
acall delay 
setb p1.2 
clr p1.3 
acall delay 
setb p1.3 
clr p1.4 
acall delay 
setb p1.4 
clr p1.5 
acall delay 
setb p1.5 
clr p1.6 
acall delay 
setb p1.6 
clr p1.7 
acall delay 
setb p1.7 
ljmp star ;返回到开始循环 
delay: ;延时子程序 
mov r1,#50 
del0: 
mov r2,#100 
del1: 
mov r3,#100 
djnz r3,$ 
djnz r2,del1 
djnz r1,del0 
ret ;延时子程序结束,返回到调用处的下一句 
end 

请将上面的程序保存为 Test.asm,进行编译,并烧写到AT89C2051中,之后 

将2051安装到实验板中实验,这回肯定“流水”啦!

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:04:09
22楼

回过头,让我们看看延时子程序是怎样工作的: 
单片机内部有不少寄存器,这些寄存器在单片机通电时,你可以给他写入数据 (是单片机按你程序要求写的数据,而不是编程器写的),当第二次给他写入新 数据时,前次的数据就被新数据覆盖;当然也可以从寄存器中读取数据。当单片机没有电源供给时,寄存器内部的数据也随即消失;这些寄存器人们叫他RAM,而用编程器将我们编写的程序烧写到单片机中的存储器叫ROM;现在,我们应该清楚:RAM是让程序去使用的,ROM是我们编写的程序存放的地方! 
前面说过,单片机内部有不少RAM,本实验用的AT89C2051有多少寄存器?我们现在不必关心,现在只须知道单片机内部有名叫R0~R7 的这8个寄存器。这8个寄存器每个都由8个单独的位寄存器组成,最大存放数据为二进制的 1111 1111,十六进制 = FF,十进制 = 255。在使用时注意不要大于其有效范围。上面延时程序中,先用到 mov r1,#50 ,mov是移动的意思,该句是将50这个十进制数放到r1中;50是立即数,按汇编语言要求前面要加“#”号,汇编语言还规定,十六进制数后面要加“ H”,十六进制数的高位是字母时在字母前面还要加“0”,例如:#0F8H;二进制数后面加“B”,例如:#11110000B。十进制不加,例如:#100 。延时程序的第二、三句为 mve r2,#100 ;mov r3,#100 ;这两句意思同前。 

第四句中 djnz r3,$ 的意思是将 r3 里面的数减 1 后如果 r3 不等于 0 则跳 

到后面指定的程序位置,这里的“$”既要跳转的程序位置,“$”代表当前语句 

处,也就是说,r3不等于 0,程序返回再次执行本句。如果r3 减 1 后等于 0, 

程序结束本句,继续执行下面的语句。 

延时程序的最后一句是 ret ,意思是退出本子程序,返回到调用本子程序处的 

下一句。 

根据上面的解释,一进入延时子程序首先为 r1, r2, r3 寄存器装入我们需要 

的数据,然后先对 r3 进行减数,每次减 1 ,r3 减完后减 r2 ,减 r2 时就费 

事啦,因为 r2 每减 1 后不为 0 需要跳转到 del1 标号处执行下面的语句,此 

时 r3 再次装入数据100,并且还要再次对 r3 进行减数......,r2 减完后减 r1 

,减 r1的过程你研究研究看看。 

每执行 djnz rn,rel (rn 指 r0~r7,rel 指转移地址)指令一次,需要2个机 

器周期,单片机需耗时2uS(指本实验),若忽略装数等语句,延时子程序从开始 

到结束,单片机共耗时100*100*50*2nS,既1000000uS=1秒!若加上装数等语句的 

耗时,延时时间大于1秒。 

到此,我们做的流水灯已成功,原理大致也明白啦,若你自认为这一课你完全 

明白了,那请你将“流水灯”的流向改变一下,也可以改为两边向内流,内部向 

外流......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说, 

前面的编程方法是最最笨的!,不错!但玩单片机初期不必讲究语言的简练,只 

要能完成预先要求就好,这是初学者要知道的。那么还有更好的编程思路吗:有 

!请继续学习

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:04:27
23楼

单片机自学教材之用单片机做流水灯(三) 

第三节 

在上节课中让 LED 流水是去逐个控制P1端口的每个位来实现的,那么我们在 

程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让 

这个数据向高位移动不就实现“流水”效果啦?的确如此! 

可惜,8051没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指 

令,ACC是8051单片机内部算术逻辑单元中的一个“寄存器”(这里叫他寄存器是 

不正确的,但你可以先这样理解,ACC在指令中常写为A),他在数据传输和数据 

处理过程中作用十分重要,ACC为8位。他可与片内所有单字节寄存器交换数据, 

实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据 

先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以 

实现“流水”效果。 

程序如下: 

star: ;开始 
mov acc,#0feh ;ACC中先装入LED1熄灭的数据(即二进制的 1111 1110) 
mov p1,acc ;将ACC的数据送P1口 
mov r0,#7 ;因上句送到 p1口的数据就熄灭了一位, 
;所以将数据再移动7次就完成一个8位流水过程 
loop: ;数据移动循环 
rl a ;将ACC中的数据左移一位 
mov p1,a ;把ACC移动过的数据送p1口显示 
acall delay ;调用延时 
djnz r0,loop ;没有移动够7次继续移动 
ljmp star ;移动完7次后跳到开始重来,以达到循环流动效果 
delay: ;延时子程序,就是上节课中的延时子程序 
mov r1,#50 
del0: 
mov r2,#100 
del1: 
mov r3,#100 
djnz r3,$ 
djnz r2,del1 
djnz r1,del0 
ret ;延时子程序结束,返回到调用处的下一句 
end ;本汇编程序到此结束 

接下来,将上述程序编译,并烧写到前面我们的实验芯片中,流水效果与第二 

节课的一样。

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:04:45
24楼

其实8051单片机有111条指令,这111条指令好比以前我们使用数字传呼机时的 

“短语代码”一样,可以用几个“短语代码”去表示一句完整、通顺的语句段落 

。有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组 

合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会 

使程序简捷,费码减少,在编写较大程序时可以让程序存储器放得下你需要的代 

码。这也是单片机高手所追求的。当然,在程序存储器空间不成问题时,你不这 

样做但也可以达到预期的功能,这也不算错。 

单片机内部还有很多“部件”我们只是用到什么说什么,很不系统。但是我也 
不想系统的介绍这些,因系统介绍单片机结构和指令的书很多,何况写的远比我 
好,因此,希望你在看本讲座的过程中,还要结合正规的教材学习其更多的指令 和“部件”。 
可惜,8051没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令 
,ACC是8051单片机内部算术逻辑单元中的一个“寄存器”(这里叫他寄存器是不 
正确的,但你可以先这样理解,ACC在指令中常写为A),他在数据传输和数据处 
理过程中作用十分重要,ACC为8位。他可与片内所有单字节寄存器交换数据,实 
际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先 
放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实 现“流水”效果。
程序如下:
star: ;开始
mov acc,#0feh ;ACC中先装入LED1熄灭的数据(即二进制的 1111 1110)
mov p1,acc ;将ACC的数据送P1口 
mov r0,#7 ;因上句送到 p1口的数据就熄灭了一位, 
;所以将数据再移动7次就完成一个8位流水过程 
loop: ;数据移动循环 
rl a ;将ACC中的数据左移一位 
mov p1,a ;把ACC移动过的数据送p1口显示 
acall delay ;调用延时 
djnz r0,loop ;没有移动够7次继续移动 
ljmp star ;移动完7次后跳到开始重来,以达到循环流动效果 
delay: ;延时子程序,就是上节课中的延时子程序 
mov r1,#50 
del0: 
mov r2,#100 
del1: 
mov r3,#100 
djnz r3,$ 
djnz r2,del1 
djnz r1,del0 
ret ;延时子程序结束,返回到调用处的下一句 
end ;本汇编程序到此结束

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:05:00
25楼

第六课 传感器 
传感器是用于机器人对环境的感知就象人的眼睛有视觉、皮肤有知觉一样,然后 

把得到的信息转变成电信号供处理系统分析处理。 
传感器种类很多,你可以根据需要选择传感器比如用在方向就用方向传感器;用 

在视觉就用视觉传感器。这里只是说说实际选择起来就不这么简单了,要根据要 

求、参数进行选择. 

工作忙也就是懒的代名词,我这人就是这样,先写下这么多,好了下节课见.
_________________

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:05:24
26楼

第七课 驱动器 
驱动器的种类很多,我只讲两种比较常用的驱动器。 
1。减速电机(我们常在电动玩具中拆下的带齿轮箱的小马达,就是减速电机) 
由拖动电动机与齿轮减速装置耦合而成, 减速装置的作用用一句话概括,就叫做 

变速变扭,即增速减扭或减速增扭。为什么减速可以增扭,而增速又要减扭呢? 

设电机输出的功率不变,功率可以表示为 N = wT,其中w是转动的角速度,T是扭 

距。当N固定的时候,w与T是成反比的。所以增速必减扭,减速必增扭。 
减速电机一般用做机器人的动力驱动,也就是机器人的腿. 
2.伺服电机 
微型的伺服电机在无线电业余爱好者的航模活动中使用已有很长一段历史,而且 

应用最为广泛,国内亦称之为“舵机”,含义为:“掌舵人操纵的机器”。可见 

,微型伺服电机主要用作运动方向的控制部件。伺服电机本质上是可定位的电机 

。当伺服电机接受到一个位置指令,它就会运动到指定的位置。因此,个人机器 

人模型中也常用到它作为可控的运动关节,这些活动关节我们也常称它为自由度 .
2.伺服电机的优点: 
大扭力、控制简单、装配灵活、相对经济,但它亦有着先天的不足:首先它是一 

个精细的机械部件,超出它承受范围的外力会导致其损坏,其次它内藏电子控制 

线路,不正确的电子连接也会对它造成损毁,因此,很有必要在使用前先了解伺 

服电机的工作原理,以免造成不必要的损失。 
3.伺服电机内部结构: 
一个伺服电机内部包括了一个直流电机;一组变速齿轮组;一个反馈可调电位器 

;及一块电子控制板。其中,高速转动的直流电机提供了原始动力,带动变速( 

减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服电机的输出 

扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。 

4.伺服电机的工作原理: 
一伺服电机是一个典型闭环反馈系统,其原理可由下图表示: 

减速齿轮组由电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检 

测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其 

与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或反向地转动,使 

齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服电机精确 

定位的目的。 
5.伺服电机的控制: 
标准的伺服电机有三条控制线,分别为:电源、地及控制。电源线与地线用于提 

供内部的直流电机及控制线路所需的能源,电压通常介于4V—6V之间,该电源应 

尽可能与处理系统的电源隔离(因为伺服电机会产生噪音)。甚至小伺服电机在 

重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输 

入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms— 

2ms之间,而低电平时间应在5ms到20ms之间,并不很严格. 

简单的说伺服电机用在控制精度要求比较高的地方(比如机器人的手)。

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:05:40
27楼

第十课 机器DIY2 
上课讲了IO的输出控制,大家一定会问怎么分别控制4个发光二极管的亮和灭?别急 
这节课我就给大家讲讲怎么来做。 
1。启动电脑进入WIN98后,进入DOS窗口输入DEBUG回车。 
输入: 
-O 387,1 
你会发现D1亮了。 
再输入: 
-O 387,2 
你会发现D2亮了。 
再输入: 
-O 387,3 
你会发现D3亮了。 
再输入: 
-O 387,4 
你会发现D4亮了。 
通过上述方法,你可以任意安排LED的显示方式。 
以上只能手动控制LED的显示方式,现在我教大家怎么通过BASIC编程来控制LED的 

显示。 
请先下载basic编程软件(189k): 
http://wwwxuan.nease.net/diy/QBASIC.EXE 
下载后运行QBASIC.EXE,进入界面按一下ESC键后输入: 

10 cls 
20 OUT &h378, 1 
21 for a=1 to 100000:next a 
30 OUT &h378, 2 
31 for a=1 to 100000:next a 
40 OUT &h378, 3 
41 for a=1 to 100000:next a 
50 OUT &h378, 4 
51 for a=1 to 100000:next a 
60 OUT &h378, 0 
61 for a=1 to 100000:next a 
70 end 

输完后按F5键你就可以看到DEL依此闪亮。 
解释一下: 
10 cls ‘10是行号,CLS是清屏命令 
OUT &h378, 1 ‘点亮d1 
for a=1 to 100000:next a '延迟语句 
end ‘结束命令 
好了大家自己试一下吧,下节课我来教大家IO的输入控制.
_________________

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:06:33
28楼

第十三课 控制电机正反转 
控制电机正反转是机器人制作中不可缺少的一项,今天我来制作一个电机正反转 

电路. 
以下是需要的材料: 
1.玩具电机一只(电动玩具中都有) 
2。5v继电器2个(电子商店有卖2元/个) 
3。4N25光隔2个(电子商店有卖5元/个) 
4。四节1.5V电池(0.5元/个) 
先来做个电机正反转的实验。 
电机尾部有两条引线分别把线接在电池正负极上,电机转了注意一下它的旋转方向 

,然后再把电池极性换一下观察电机的旋转方向,电机反方向旋转了。 
控制电机正反转的秘诀就是:电源互换极性. 
明白了以上的道理,下面我们来按图把电路焊好。 
 
运行QBASIC.EXE,进入界面按一下ESC键后输入: 
10 cls 
20 IF (INP(&h379) and 8 ) /8=0 then OUT &h378, 1 
30 IF (INP(&h379) and 16 ) /16=0 then OUT &h378, 2 
40 goto 20输完后按F5键后,按下K1或K2你就可以控制电机正反转了。 
下节课在此基础上教大家做个自动避障小车.
_________________

第十四课 自动避障小车 
课上到这,大家是不是觉得越来越有意思了,如果我讲的好大家就顶一下,不然我 

就没有继续写的动力了。 
上节课我们只讲了控制一只电机还有D3、D4没有用上,是的我是有意留给大家自 

己去做,你再焊一块同样的板子接到D3、D4就可以了。 
把K1、K2换成触碰开关,一个自动避障小车就有了。 
下面我们来看小车工作的程序. 
运行QBASIC.EXE,进入界面按一下ESC键后输入: 
10 cls 
20 IF (INP(&h379) and 8 ) /8=0 and IF (INP(&h379) and 16 ) /16=0 then OUT &h378, 5
30 IF (INP(&h379) and 8 ) /8=1 then OUT &h378, 1 
40 IF (INP(&h379) and 16 ) /16=1 then OUT &h378, 8 
60 goto 20 
输完后按F5键小车就跑起来了。 
程序说明: 
1。K1、K2同时打开左右电机一起旋转。 
2。K1打开左转右停. 
3.K2打开右转左停. 
我就教这么多剩下的就靠你自己去发挥了。
_________________
由简单到复杂 
由有线到无线 
由分散到集中 
共同努力 成就未来

PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-08-12 19:07:04
29楼

第十五课 编程入门
看完以前的课程你已经可以制作一个简单的自动避障机器人,但是你会发现硬件比较容易制作软件就不那么容易了。
发现问题就好,答案:你要开始学习编程.
编程的书很多,我也就不教了。
这里只教初学者一个秘诀:你需要什么命令就去找这个命令.
下面用BASIC编程给大家讲一个编程实例:
1.编程要求:
a.在屏幕上显示"欢迎进入机器人控制系统"(找到命令为print)
b.点亮D1(找到命令为OUT)
C。延时(FOR 。。。TO。。)
C.清屏(找到命令为CLS)
2.运行QBASIC.EXE,进入界面按一下ESC键后输入:
10 PRINT "欢迎进入机器人控制系统"
20 OUT &h378, 1
21 FOR A=1 TO 100000:NEXT A
30 CLS
输完后按F5键运行。
通过以上,我们可以看出编程最基本的就是学会找到要使用的命令和学会命令的用法。

第十六课 机器人基础知识(补)
1.机器人的手
机器人要模仿动物的一部分行为特征,自然应该具有动物脑的一部分功能。机器人的大脑就是我们所熟悉的电脑。但是光有电脑发号施令还不行,最基本的还得给机器人装上各种感觉器官。我们在这里着重介绍一下机器人的“手”和“脚”。
机器人必须有“手”和“脚”,这样它才能根据电脑发出的“命令”动作。“手”和“脚”不仅是一个执行命令的机构,它还应该具有识别的功能,这就是我们通常所说的“触觉”。由于动物和人的听觉器官和视觉器官并不能感受所有的自然信息,所以触觉器官就得以存在和发展。动物对物体的软,硬,冷,热等的感觉就是靠的触觉器官。在黑暗中看不清物体的时候,往往要用手去摸一下,才能弄清楚。大脑要控制手,脚去完成指定的任务,也需要由手和脚的触觉所获得的信息反馈到大脑里,以调节动作,使动作适当。因此,我们给机器人装上的手应该是一双会“摸”的、有识别能力的灵巧的“手”。
   机器人的手一般由方形的手掌和节状的手指组成。为了使它具有触觉,在手掌和手指上都装有带有弹触点的触敏元件(如灵敏的弹簧测力计)。如果要感知冷暖,还可以装上热敏元件。当触及物体时,触敏元件发出接触信号,否则就不发出信号。在各指节的连接轴上装有精巧的电位器(一种利用转动来改变电路的电阻因而输出电流信号的元件),它能把手指的弯曲角度转换成“外形弯曲信息”。把外形弯曲信息和各指节产生的“接触信息”一起送入电子计算机,通过计算就能迅速判断机械手所抓的物体的形状和大小。
    现在,机器人的手已经具有了灵巧的指,腕,肘和肩胛关节,能灵活自如的伸缩摆动,手腕也会转动弯曲。通过手指上的传感器还能感觉出抓握的东西的重量,可以说已经具备了人手的许多功能。
   在实际情况中有许多时候并不一定需要这样复杂的多节人工指,而只需要能从各种不同的角度触及并搬动物体的钳形指。1966年,美国海军就是用装有钳形人工指的机器人“科沃”把因飞机失事掉入西班牙近海的一颗氢弹从七百五十米深的海底捞上来。1967年,美国飞船“探测者三号”就把一台遥控操作的机器人送上月球。它在地球上的人的控制下,可以在两平方米左右的范围里挖掘月球表面四十厘米深处的土壤样品,并且放在规定的位置,还能对样品进行初步分析,如确定土壤的硬度,重量等。它为“阿波罗”载人飞船登月当了开路先锋。
2.机器人的眼睛

人的眼睛是感觉之窗,人有80%以上的信息是靠视觉获取,能否造出“人工眼”让机器也能象人那样识文断字,看东西,这是智能自动化的重要课题。关于机器识别的理论,方法和技术,称为模式识别。所谓模式是指被判别的事件或过程,它可以是物理实体,如文字,图片等,也可以是抽象的虚体,如气候等。机器识别系统与人的视觉系统类似,由信息获取,信息处理与特征抽取,判决分类等部分组成。


机器认字
大家知道,信件投入邮筒需经过邮局工人分拣后才能发往各地。一人一天只能分拣2-3千封信,现在采用机器分拣,可以提高效率十多倍。机器认字的原理与人认字的过程大体相似。先对输入的邮政编码进行分析,并抽取特征,若输入的是个6字,其特征是底下有个圈,左上部有一直道或带拐弯。其次是对比,即把这些特征与机器里原先规定的0到9这十个符号的特征进行比较,与哪个数字的特征最相似,就是哪个数字。这一类型的识别,实质上叫分类,在模式识别理论中,这种方法叫做统计识别法。
 机器人认字的研究成果除了用于邮政系统外,还可用于手写程序直接输入,政府办公自动化,银行合计,统计,自动排版等方面。


机器识图
现有的机床加工零件完全靠操作者看图纸来完成。能否让机器人来识别图纸呢?
这就是机器识图问题。机器识图的方法除了上述的统计方法外,还有语言法,它是基于人认识过程中视觉和语言的联系而建立的。把图像分解成一些直线、斜线、折线、点、弧等基本元素,研究它们是按照怎样的规则构成图像的,即从结构入手,检查待识别图像是属于哪一类“句型”,是否符合事先规定的句法。按这个原则,若句法正确就能识别出来。
 机器识图具有广泛的应用领域,在现代的工业,农业,国防,科学实验和医疗中,涉及到大量的图象处理与识别问题。
机器识别物体
机器识别物体即三维识别系统。一般是以电视摄像机作为信息输入系统。根据人识别景物主要靠明暗信息,颜色信息,距离信息等原理,机器识别物体的系统也是输入这三种信息,只是其方法有所不同罢了。由于电视摄像机所拍摄的方向不同,可得各种图形,如抽取出棱数,顶点数,平行线组数等立方体的共同特征,参照事先存储在计算机中的物体特征表,便可以识别立方体了。

 目前,机器可以识别简单形状的物体。对于曲面物体,电子部件等复杂形状的物体识别及室外景物识别等研究工作,也有所进展。物体识别主要用于工业产品外观检查,工件的分选和装配等方面。
3.机器人的鼻子
人能够嗅出物质的气味,分辨出周围物质的化学成分,这全是由上鼻道的粘模部分实现的。在人体鼻子的这个区域,在只有五平方厘米的面积上却分布有五百万个嗅觉细胞。嗅觉细胞受到物质的刺激,产生神经脉冲传送到大脑,就产生了嗅觉。人的鼻子实际上就是一部十分精密的气体分析仪。人的鼻子是相当灵敏的,就算在一升水中放进二百五十亿分之一的乙硫醇(就是一种特殊的具有异常臭味的化学物质),人的鼻子也能够闻出来。
 机器人的鼻子也就是用气体自动分析仪做成的。我国已经研制成功了一种嗅敏仪,这种气体分析仪不仅能嗅出丙酮、氯仿等四十多种气体,还能够嗅出人闻不出来但是却可以导致人死亡的一氧化碳(也就是我们通常所用的煤气)。这种嗅敏仪有一个由二氧化锡,氯化钯等物质烧结而成的探头(相当于鼻粘模)。当它遇到某些种类气体的时候,它的电阻就发生变化,这样就可以通过电子线路做出相应的显示,用光或者用声音报警。同时,用这种嗅敏仪还可以查出埋在地下的管道漏气的位置。
 现在利用各种原理制成的气体自动分析仪已经有很多种类,广泛应用于检测毒气,分析宇宙飞船座舱里的气体成分,监察环境等方面。这些气体分析仪,原理和显示都和电现象有关,所以人们把它叫做电子鼻。把电子鼻和电子计算机组合起来,就可以做成机器人的嗅觉系统了。
4.机器人的耳朵
人的耳朵是仅次于眼睛的感觉器官,声波扣击耳膜,引起听觉神经的冲动,冲动传给大脑的听觉区,因而引起人的听觉。机器人的耳朵通常是用“微音器”或录音机来做的。被送到太空去的遥控机器人,它的耳朵本身就是一架无线电接收机。
 人的耳朵是十分灵敏的。我们能听到的最微弱的声音,它对耳膜的压强是每平方厘米只有一百亿分之几公斤。这个压强的大小只是大气压强的一百亿分之几。可是用一种叫做钛酸钡的压电材料做成的“耳朵”比人的耳朵更为灵敏,即使是火柴棍那样细小的东西反射回来的声波也能被它“听”的清清楚楚。如果用这样的耳朵来监听粮库,那么在二到三公斤的粮食里的一条小虫爬动的声音也能被它准确地“听”出来。
 用压电材料做成的“耳朵”之所以能够听到声音,其原因就是压电材料在受到拉力或者压力作用的时候能产生电压,这种电压能使电路发生变化。这种特就叫做压电效应。当它在声波的作用下不断被拉伸或压缩的时候,就产生了随声音信号变化而变化的电流,这种电流经过放大器放大后送入电子计算机(相当于人大脑的听区)进行处理,机器人就能听到声音了。
 但是能听到声音只是做到了第一步,更重要的是要能识别不同的声音。目前人们已经研制成功了能识别连续话音的装置,它能够以百分之九十九的比率,识别不是特别指定的人所发出的声音,这项技术就使得电子计算机能开始“听话”了。这将大大降低对电子计算机操作人员的特殊要求。操作人员可以用嘴直接向电子计算机发布指令,改变了人在操作机器的时候手和眼睛忙个不停而与此同时嘴巴和耳朵却是闲着的状况。一个人可以用声音同时控制四面八方的机器,还可以对楼上楼下的机器同时发出指令,而且并不需要照明,这样就很适宜于在夜间或地下工作。这项技术也大大加速了电话的自动回答,车票的预定以及资料查找等服务工作的自动化实现的进程。
 现在人们还在研究使机器人能通过声音来鉴别人的心理状态,人们希望未来的机器人不光能够听懂人说的话,还能够理解人的喜悦,愤怒,惊讶,犹豫和暧昧等情绪。这些都会给机器人的应用带来极大的发展空间。

cqu_rockwell-------------王者之师

  • 精华:16帖
  • 求助:0帖
  • 帖子:686帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2013-08-12 19:57:09
30楼

学习了!            

at66

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:247
  • 注册:2012年10月15日
发表于:2013-08-13 12:17:17
31楼

学习学习,谢谢楼主,希望能发些图片

小葛侠

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2013年9月04日
发表于:2013-09-04 22:42:22
32楼

受教了,楼主辛苦了  慢慢研读 好好学习

努力学习zd

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2013年5月25日
发表于:2013-09-14 15:55:33
33楼

努力学习,谢谢楼主的肺腑之言

scghjl

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2013年9月25日
发表于:2013-09-26 09:48:28
34楼

受教了,感谢楼主肺腑之言

lysGK

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 125回
  • 年度积分:0
  • 历史总积分:103
  • 注册:2016年7月08日
发表于:2016-07-09 11:09:03
35楼

多谢楼主,受教了楼主的指导

tony_1011

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2016年11月04日
发表于:2016-11-06 00:31:57
36楼

多谢楼主,受教了楼主的指导

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:211
  • 注册:2008年3月07日
发表于:2018-03-21 11:18:40
37楼

说的很实在

直线电机模组

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 89回
  • 年度积分:9
  • 历史总积分:151
  • 注册:2021年7月16日
发表于:2021-08-23 17:11:54
38楼

      NB~,能总结这样的出来不容易,我们光在一个直线模组直线电机DD马达这个板块还没有涉及软体和部分其它硬件都头大了。大神拜读~


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页