• 24小时机器人维修热线:020-82000787

子锐站内搜索 互联网
  • 广州子锐机器人技术有限公司
  • 服务热线:020-82000787(8:30-17:30)
  • 联系手机:15889988091(非工作时间)
  • 座机:020-82000787
  • 传真:020-32887675
  • 邮箱:gz@zr-robot.com
  • 广州市番禺区东环街金山谷创意八街1号109
  • 当前位置:首页 > 机器人资讯 > 基于JAVA3D的工业机器人建模与远程控制

基于JAVA3D的工业机器人建模与远程控制

时间:2017-11-14   点击:   来源:互联网   作者:匿名
简介:基于JAVA3D的工业机器人建模与远程控制 引言 机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人的应用情况,是一个国家工业自动化水平的重要标志。……

基于JAVA3D的工业机器人建模与远程控制

引言

机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人的应用情况,是一个国家工业自动化水平的重要标志。

Java3D是美国Sun公司为了弥补Java语言在多媒体及形编程方面的不足而推出的一系列标准扩展API,Java3D的推出使Java开发人员具备了开发三维视觉的小应用程序和应用程序,这些程序还具有与客户交互的能力。这使得Java在视觉上,互动性上产生了一次飞跃。

基于Java3D的这种特性,本文在利用Java3D便利的,面向对象的三维形程序设计来实现对工业机器人的建模与远程控制。

一工业机器人技术简介

现代机器人的历史是从1959年美国英格伯格和德沃尔制造出世界上第一台工业机器人开始的。机器人的发展大致经历了三个成长阶段。第一代为简单个体机器人,第二代为群体劳动机器人,第三代为类似人类的智能机器人。

机器人的外形是多种多样的,往往决定于它的功能,工作环境等,但有一个共同点:服从人类指令,代替人力自动工作。当然,由于机器人的智能仍然有限,所以某些特殊的场合仍然需要人类对其进行必要的控制,例如探测机器人。美国著名科普作家艾萨克.阿西莫夫为机器人提出了三条原则,即机器人三定律:

第一定律机器人不得伤害人,或任人受到伤害而无所作为;

第二定律机器人应服从人的一切命令,但命令与第一定律相抵触时例外;

第三定律机器人必须保护自身的安全,但不得与第一、第二定律相抵触。

这些定律构成了支配机器人行为的道德标准,机器人必须按人的指令行事,为人类生产和生活服务。

工业机器人是机器人家族中最重要的成员,它广泛地被应用于各种自动化的生产线上。工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成。操作机基本上分为两大类:一类是操作本体机构,它类似人的手臂和手腕,配上各种手爪与末端操作器后可进行各种抓取动作和操作作业,工业机器人主要采用这种结构。另一类为移动型本体结构,主要目的是实现移动功能,主要有轮式、履带式、足腿式结构以及蛇行、蠕动、变形运动等机构。壁面爬行、水下推动等机构也可归于这一类。控制器通常是由几级计算机系统构成,通过对各个传感器发回的信息进行计算后再发出相应的指令。侍服驱动系统由驱动单元和侍服驱动控制器两个部分组成,侍服驱动控制器负责控制驱动单元带动操作机朝减少偏差的方向动作。检测传感装置的作用是将各种外界环境参数发回控制器,例如温度,气压,www.zr-robot.com,受力等,这使得机器人能够与周围环境保持密切联系,对外界的各种变化做出及时的应变。

二JAVA3D技术

在Java语言推出并大获成功后,Sun公司开始考虑如何建立一个真正完整强大的Java平台。其中达成的一个共识就是要强化Java1.0内核平台中功能有限的形API。Sun公司在Java1.1将内核增强了不少,但始终缺了一点什么。好在Sun公司与其合作伙伴很快开发出了JavaMedia和CommuNIcationAPI,弥补了Java在多媒体编程方面的缺憾。其中两个最大的弱项,2D和3D形部分,分别由Java2D,3DAPI填补了空白。不过,Java2DAPI从Java1.2起是作为内核平台的API出现的,而Java3D则是在Java1.2推出后的稍晚些时候作为扩展API出现的。

Java3D的推出使Java开发人员具备了开发三维视觉的小应用程序和应用程序,这些程序还具有与客户交互的能力。这使得Java在视觉上,互动性上产生了一次飞跃。

Java3D的API属于低阶的API,这些低阶API为在场景结构中建立3D几何体提供了一种规范的,独立于底层硬件的方法,并提供了场景预编译等优化技术。这些API按作用可分为几个大的模块:基本场景和形体,形体的分组和几何变换,3D形文件的导入,光照和材质等等。这几个部分之间的关系如下所示:

由上可知,Java3D的场景构成可以有丰富的组合,而本文中机器人的操作机正是利用这种组合构造起来的。

三利用Java3D实现工业机器人计算机模拟的建模

在建模之前,需要进行总体外形的设计,绘制出草,确定各个构件的外形尺寸以及各个关节转动副之间的距离。这一点非常重要,因为这决定了在虚拟空间中各个构件的相对运动是否协调,合理。这一步完成后就可以进行部件3D模型的建立。

在Java3D中要构造一个复杂形体(Shape)大体上有两种办法。一种是利用Java3D中自有的API产生基本形体,然后再将这些基本形体组合。或者计算出这个复杂形体的各个顶点,然后利用生成面的API来形成这个形体。这种使用Java3DAPI来生成形体的方法,优点是对形体的操作比较方便,可以使形体在运行中产生变化。缺点在于这种建立3D模型的方法不直观,安川机器人维修,调试形状比较麻烦。另一种方法就是利用Sun公司或其他机构为Java3D开发的Loader来载入其他格式存储的3D模型,这些模型可以在诸如Maya,3Dmax,安川机器人维修,AutoCad等3D生成工具中可视化地生成。这种方法的优点显而易见,那就是建模非常简便,缺点在于在程序运行中这些模型的形状是不能改变的。因为本文是对工业机器人进行模拟,所以一些柔性的附件可以省略,余下的均为刚性部件,不会产生形变,所以采用后一种方法是适宜的。

本文中机器人所有部件的3D模型均由3Dmax建模,输出为Vrml97格式,然后利用VRML97-Java工作组提供的Vrml97Loader导入虚拟空间中。在建立部件模型的过程中需要注意的主要问题是要把形体的坐标系原点调整到这个部件的转动轴心处,这样在装配这些部件时就能比较容易地将其转动轴心调整至关节转动副轴线处。导入3D模型需要用到com.sun.j3d.loaders.vrml97.VrmlLoader和com.sun.j3d.loaders.Scene两个由Sun公司提供的类,其中VrmlLoader提供了用于载入形文件的方法,Scene对象则用来容纳载入的形。当Scene的对象中赋以形对象后,可使用TransformGroup对象装载该形对象中的3D模型,以便于今后对该3D模型的方位调整。整个过程如下:

Scenescene=null;

VrmlLoaderloader=newVrmlLoader();

TransformGroupmodule=newTransformGroup();

module.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);

module.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

try

{

scene=loader.load(fileName);//fileName为外部形文件名,本文中

//使用的为vrml文件*.wrl。

module.addChild(scene.getSceneGroup());

}

catch(Exceptione)

{

System.err.println(e);

System.exit(0);

}

TAG:
免责声明:本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的。如转载稿涉及版权等问题,请立即联系网站所有人,我们会予以更改或删除相关文章,保证您的权利。
扫二维码手机浏览
  • 广州子锐机器人技术有限公司
  • 地址:广州市番禺区东环街金山谷创意八街1号109
  • 电话:15889988091
  • 传真:020-82000787

Copyright © 广州子锐机器人技术有限公司版权所有 www.zr-robot.com     网站备案ICP:粤ICP备15095857号

留电回访
  • 您的姓名
  • 联系电话
  • 需要维修或帮助的产品型号及说明
  •  
24小时工业机器人维修热线:020-82000787(首次维修半价优惠)