Using a known example of a welding robot from the
NIST labs. I started my study to see how applicable VRML 2 was for investigating the
behaviours of robots. In this case the possible collision and interference
a robot arm may face while in operation and the ability to program the
task from a predefined program or realtime control.
The ability to detect collision of the robot with its environment is of
immense use to designers, who plan to use these robots in confined or remote
locations. In VRML 2 a collision detector can be used but only the viewer
itself can be effected by the collision dectection. It is not possible to
extend this to the entire robot. Unless each joint and link of the robot is also a viewpoint. By
adjusting the size of the avatar in the navigtion information node, the viewer can
travel with the robot to experience possible collsions. This is limited to a
bounding box shape. Complex shapes, such as curves and other objects that
cannot be effectively placed in a bounding box will pass through solids in
certain circumstances.
Animating the robot can be done by several means. Java, VRMLScripting and
keyframe animation. The problem with Java currently ( July '97) is that
it has a very buggy web browser that supports it and if it works on one
platform it is unlikely to work
on another. This isn't a problem with either VRML 2 or Java languages, but
to do with the fact that web browsers are still in their beta test versions.
VRMLScripting works almost universally. With large calculations and growing number of tasks
VRMLScripting becomes slow and not as effective as Java based programs.
VRMLScripting works well with easy calculations and is easily used within
the VRML 2 world without the
need for an EAI (External Authoring Interface). Keyframe animation is good for
predefined movements. This animation method runs into the least
amount of problems but doesn't allow the user to manipulate the robot and
is therefore only good as a sales and marketing tool rather than an
engineering application.
|