VR4Robots R6 0 User Guide [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

VR4Robots REALTIME INTERACTION WITH VIRTUAL AND REAL WORLDS

Release 6.0 USERGUIDE

Page ii

CONTENTS VR4Robots® ............................................................................................................................................................ 1 Introduction........................................................................................................................................................ 1 Installing VR4Robots®......................................................................................................................................... 2 Configuring VR4Robots®..................................................................................................................................... 3 GENERAL ......................................................................................................................................................... 3 DEVICES .......................................................................................................................................................... 3 DATASERVER_API ........................................................................................................................................... 3 Translating CAD Models for VR4Robots® ............................................................................................................... 4 Introduction........................................................................................................................................................ 4 Issues to consider ............................................................................................................................................... 4 Application requirements ............................................................................................................................... 4 Names............................................................................................................................................................. 4 Hierarchy ........................................................................................................................................................ 4 Pivots .............................................................................................................................................................. 4 Material/Color ................................................................................................................................................ 5 File size ........................................................................................................................................................... 5 Translation .......................................................................................................................................................... 5 CAD to 3ds Max .............................................................................................................................................. 5 3ds Max to VR4Robots® ................................................................................................................................. 5 Key operations........................................................................................................................................................ 6 Robot and Item Control .......................................................................................................................................... 8 Robot Joint movements...................................................................................................................................... 8 Robot Cartesian movements (PoR)..................................................................................................................... 8 Direct Movement Dialog..................................................................................................................................... 9 Direct Joint Move............................................................................................................................................ 9 Direct PoR Move ............................................................................................................................................. 9 Teach Files .................................................................................................................................................... 10 Item Movements .............................................................................................................................................. 10 Pick and Place ................................................................................................................................................... 11 Lock and Unlock................................................................................................................................................ 12 Home position .................................................................................................................................................. 12 Phantom Omni.................................................................................................................................................. 12 Position and Log files ........................................................................................................................................ 13

iii

Page iv

Model Item Position File............................................................................................................................... 13 Operations Log File ....................................................................................................................................... 13 Operations .................................................................................................................................................... 13 MMI’s................................................................................................................................................................ 14 Simulation MMI Connection......................................................................................................................... 14 Control modes .............................................................................................................................................. 14 Joint Joystick Movements............................................................................................................................. 14 P-Position Movements ................................................................................................................................. 15 Teach Files ........................................................................................................................................................ 16 Using Teach Files .............................................................................................................................................. 17 Deter MMI ........................................................................................................................................................ 19 Startup .......................................................................................................................................................... 19 Joint movements .......................................................................................................................................... 19 PoR Movements ........................................................................................................................................... 20 Move/Teach files .......................................................................................................................................... 20 Item Setup ............................................................................................................................................................ 21 Configuration .................................................................................................................................................... 21 Grip Offset ........................................................................................................................................................ 22 Item Setup Workflow............................................................................................................................................ 24 Convert Catia Models ....................................................................................................................................... 24 Prepare The Model in 3ds Max......................................................................................................................... 24 Import the model in the simulation model ...................................................................................................... 26 Item Name Configuration ................................................................................................................................. 27 Item Grip Configuration.................................................................................................................................... 27 Item Snap Configuration................................................................................................................................... 30 Robot Setup Workflow ......................................................................................................................................... 31 3ds Max ............................................................................................................................................................ 33 Dataserver ........................................................................................................................................................ 35 Model hands ..................................................................................................................................................... 38 Networking VR4Robots® ...................................................................................................................................... 39 External Monitoring Setup................................................................................................................................ 39 Monitor On/Off Key.......................................................................................................................................... 39 Dataserver API .................................................................................................................................................. 39

v

Proprietary Notice. The information contained herein is confidential and proprietary information of Tree C Technology B.V. and shall not be divulged to any third party without the prior written consent of Tree C Technology B.V.

Page 0

VR4ROBOTS® INTRODUCTION VR4Robots® has been built on the foundation of VR4MAX® Navigator Pro from Tree-C Technology B.V. The complete functionality of VR4MAX® Navigator Pro is available within VR4Robots®. VR4MAX® provides a comprehensive capability for viewing and navigating in the virtual world as described herein. In addition it offers the user a wide range of tools for setting behaviors, creating animations, recording sessions, compiling large and complex virtual worlds, visualization optimization, redlining and more. All of this functionality is available within VR4Robots® but it is left to the reader to reference the full VR4MAX® manual for these additional functions and features. The full VR4MAX® manuals are available as pdf after installing VR4MAX®. Recommended Chapters to read from the VR4MAX® User Manual:   

The User Interface Navigating in the 3d world Cameras

When generating models for VR4Robots a basic knowledge of 3ds Max is required. When you are new to 3ds Max consider watching the Essential Skill Movies and work your way through the Tutorials both provided with 3ds Max. For more information on how to add VR4MAX® properties to a model in 3ds max also study the VR4MAX® Translator User Manual.

Page 1

INSTALLING VR4ROBOTS® Run the VR4MAX® and the VR4Robots® installers. The install programs will make sure that everything is complete and that you will be able to start immediately after installation. When you install any of the products, the licensing software will be installed automatically. To start, click the VR4Robots® icon in Start Programs, or from the shortcut on your desktop. When you run VR4Robots® for the first time after installation you will need to provide a license key to allow VR4Robots® to configure properly. The following information window will first appear.

Select “Enter Key” The following ‘Enter key’ window will appear.

This provides you with the Hardware fingerprint of the PC and gives you the opportunity to type in the VR4Robots® license key code. The Facility to Enter a Key is also available from the VR4Robots® Help dropdown menu and in the Windows Start Menu.

Page 2

CONFIGURING VR4ROBOTS® VR4Robots® has a number of configuration parameters stored in a file named ‘VR4Robots®.cfg’. This file is a plain text file which may be opened with Notepad. The parameters are intended to be edited by the customer but many installations will not require any changes to this file. Note: The ‘VR4Robots®.’ file must be located in the VR4Robots® working directory. Normally this working directory is “C:\Program Files\VR4Robots®\bin”.

GENERAL LinearSpeed: The linear speed at which a robot is driven in Cartesian mode is a function of the mouse displacement up to a maximum value. This parameter scales the linear speed maximum value. RotationalSpeed: The rotational speed at which a robot is driven in Cartesian mode is a function of the mouse displacement up to a maximum value. This parameter scales the rotational speed maximum value. ManualHandSize: The manual hand entity is given a default dimension approximately equivalent to a human hand (10cm diameter). This dimension may be changed by changing this scaling factor. ManualHandOffset: The manual hand appears in the middle of the screen at a fixed offset from the operator view point. The default value is 2 meters. ManualHandReach: When the manual hand is activated, the objects within a certain radius are found and the hand continually checked for collisions with these obstacles. A default of 1 meter is somewhat equivalent to a person’s reach. This parameter is also used to define the working area when the manual hand is driven by the Phantom Omni haptic device.

DEVICES Mouse2Button: A two button mouse is being used. Mouse3Button: A three button mouse is being used. SpaceMouse: A Space Mouse is being used. PhantomOmni: A Phantom Omni device is being used.

DATASERVER_API DataDir: This parameter defines the location of the database files. If you have multiple copies of the VR4Robots® application on the same network, it may be desirable to put the database files on a shared drive and to set this parameter accordingly. In this manner, all the applications can share the same database files. Database: This parameter defines the Database you want to use. Monitoring: This parameter defines the location of the Item monitoring file.

Page 3

TRANSLATING CAD MODELS FOR VR4ROBOTS® INTRODUCTION The majority of Virtual World simulations created for VR4Robots® using 3dsmax will be comprised of CAD part and assembly models from a wide range of CAD systems. These will have to be translated for use in 3dsmax and in some cases ‘simplified’ to produce an acceptable ‘frames per second’ (fps) when using the simulation in VR4Robots®.

ISSUES TO CONSIDER APPLICATION REQUIREMENTS Information on intended usage of the VR simulation will be required to guide model/simulation complexity.   

Complexity – number of parts, level of detail, realism required. Robots – type, interface requirements Response (fps) – real-time monitoring or off-line simulation

NAMES Are specific models names required to aid users? CAD naming is often less relevant when creating simulations from CAD models.

HIERARCHY Models are often grouped at CAD level to form assemblies of parts, each with its own co-ordinate reference point. The assembled group will have a unique co-ordinate reference point or ‘pivot’. This hierarchy will be present in 3dsmax when models are translated from their native CAD environment. Where CAD models are imported into 3dsmax via a format which flattens the part or assembly structure such as .stl, a hierarchy will be created in 3dsmax. Within 3dsmax, the model hierarchy may be altered with levels added or removed as required. This is useful for re-assembling a model in a manner more suitable for its intended purpose in a VR environment. Robots would typically have a hierarchical structure where each moveable part or ‘link’, was dependent on its predecessor. This arrangement can be created in 3dsmax and ‘tested’ to check dependencies.

PIVOTS All model geometry will have a local co-ordinate reference point about which it can be moved (translation or rotation). This point will have been set in the CAD environment but can be altered in 3dsmax. For many items and most robots, it will be necessary to move the local co-ordinate reference point or ‘pivot’ dependant on the function of the part. Page 4

For example, if a part is to be moved about a common centre, its ‘pivot’ will have to be moved to the common centre. If a robot linkage is being created, the parts will ‘pivot’ about each other.

MATERIAL/COLOR Models may require various materials (maps) and colors to be applied dependant on their function within the simulation. For example, color can be used to differentiate robots from their background and materials using image bitmaps can be used to simulate control panels and visual complexity without the use of complex modeling.

FILE SIZE Large CAD files may require splitting into smaller sub-assemblies to allow translation into 3dsmax, dependant on supplied file format and method of translation.

TRANSLATION There are a number of ways CAD models can be translated into 3dsmax but only one way to translate models from 3dsmax into VR4Robots®. As is the way with such things, some methods are more successful, some less so, though time and cost are key issues.

CAD TO 3DS MAX 3dsmax Native Import Formats: 3dsmax has many native import modes which may be used to import CAD and other source models (DWG, DXF, STL, VRML, 3DS). Third Party Translation Software: most major CAD and 3D Graphic models can be imported into 3dsmax using a range of third party translation products such as Right Hemisphere’s package Deep Exploration.

3DS MAX TO VR4ROBOTS® All VR4MAX®/VR4Robots® simulations (.vmx) must be created from within 3dsmax via the VR4MAX® Translator plug-in product. The VR4MAX® Translator User Manual is available in the Windows Start menu after installing.

Page 5

KEY OPERATIONS Remote handling tasks often consist of repetitive actions. To speed up the workflow the important operations can be done using Key operations. Movement functions: X

Joint move - move up to three joints with the mouse by holding down a mouse button and moving the pointer up and down. The first (left) mouse button will move the currently selected joint, the second (right) mouse button will move the joint preceding it, and the third (middle) button will move the one preceding that.

Z

PoR move - move the gripper or end of a robot in Cartesian (x-y-z) space. 6-degrees of freedom are achieved by assigning two degrees of freedom to each mouse button - holding a mouse button and moving the pointer up and down will move in one degree of freedom, while moving the pointer side to side will move in another.

C

Constrained move - this is used to move a robot along a pre-ordained path, such as a path that is known to be safe.

S

Pick/place item

Home

Returns robots and items to their default (zero) positions

Control and information functions: T

Toggles the roll lock of the avatar (so you can fly upside down)

J

Display joint positions window

G

Open/close group

M

Toggle network monitoring of robot positions

CTRL_Z

Undo last logged robot movement

SHIFT_Z

Redo last logged robot movement

SHIFT_C

Clear move operation log

O

Lock item to parent

P

Unlock item from parent

Input device functions: I

Toggle PoR device from mouse to SpaceMouse

D

Activate/deactivate phantom omni

F

Toggle force feedback for phantom omni

Page 6

Debug/Expert functions: W

Output parent transform of currently selected item to config file

K

Re-load model items/refresh model

SHIFT_S

Save POS/LOG file

SHIFT_L

Load POS/LOG file

Page 7

ROBOT AND ITEM CONTROL ROBOT JOINT MOVEMENTS A robotized manipulator can be controlled Joint by joint:    

selecting the joint Press X + LMB drag Press X + RMB drag Press X + MMB drag

to move the selected joint to move the joint one hierarchy lever higher to move the joint two hierarchy levers higher

ROBOT CARTESIAN MOVEMENTS (POR) The Cartesian move equates to moving the Cartesian coordinates of the tip of the robot in relation to the robot base by driving the joints in an appropriate manner. This is usually the most intuitive way to move the robot tip to a desired location.

Z

Y X

NOTE: to identify the axis the right hand rule can be used. By pointing the index finger forwards (X), the middle finger to the left (Y) and the thumb upwards (Z).       

selecting a part of the robot Press Z + LMB drag Up/Down Press Z + LMB drag Left/Right Press Z + Mouse wheel Press Z + MMB drag Left/Right Press Z + RMB drag Up/Down Press Z + RMB drag Left/Right

Move in X direction Move in Y direction Move in Z direction Rotate around X Rotate around Y Rotate around Z

By also pressing the “1” or “2” button on the keyboard while moving it is possible to restrict the movement to only one degree of freedom. NOTE: A robot will only have Cartesian move functionality if it is added to the VR4Robots® Kinematic Library.

Page 8

DIRECT MOVEMENT DIALOG Robots can also be moved using the Direct Movement Dialog. This dialog is showed when pressing “J” with a robot selected.

DIRECT JOINT MOVE To change one or more joint values select the joints that have to be modified (or select all by double-clicking the field above the selection fields) and enter the New Joint values. Choose for “Jump” to directly move the robot to the new position and “Animate” to make a move to the position.

DIRECT POR MOVE Select the PoR Tab for Cartesioan movements. Enter the required movement (in mm) and rotation (in degrees). Choose for “Jump” to directly move the robot to the new position and “Animate” to make a move to the position.

The Direct PoR Move can also be used in the Tool Frame space of the object picked by the robot. This is useful for easy navigation with complex tools (that are not aligned with the robot hand). To move in the Tool Frame select the Tool Frame box in the dialog.

Page 9

TEACH FILES The Direct Movement Dialog can also be used to save and load teachfiles.

NOTE: The OTL MMI teachfiles are different from the Direct Movement teachfiles and therefore not compatible with the Direct Movement Dialog

ITEM MOVEMENTS Items that are defined in the Item Database can also be moved in the simulation in the same manner as when driving a robot in Cartesian mode:       

Page 10

selecting the Item Press Z + LMB drag Press Z + LMB drag Press Z + Mouse wheel Press Z + MMB drag Press Z + RMB drag Press Z + RMB drag

Up/Down Left/Right Left/Right Up/Down Left/Right

Move in X direction Move in Y direction Move in Z direction Rotate around X Rotate around Y Rotate around Z

PICK AND PLACE All Items can be picked and placed by a Hand entity provided that they are not currently locked to their parent object. To pick an item, the Hand entity must be made to collide with an object and then the pick/place event triggered using “S”. Starting at the object, the model hierarchy will be searched upwards until an unlocked Item is found. The Item will become disconnected from its parent object and will now move with the Hand. To place an Item, the pick/place event must again be triggered “S”. If the Item is close to a pre-defined Position (entered in the database), then it will snap to this Position. Otherwise, if the item is in collision with an object, then it becomes the child of this object at the current offset. Otherwise, the item becomes a child of the root at the current offset. Before Picking “Weld01” with the DexterRight robot:

1

After Picking “Weld01” is a child of “DexterRight_Hand” :

The result of a Pick & Place attempt is shown in the Lower left corner of the viewport.

1

DexterRight_Hand is configured to be a Gripper by the “_Hand” name suffix. And because the Robot “DexterRight” is defined to have a gripper in the Robot Type Database Page 11

LOCK AND UNLOCK Items have a lock flag associated with them. This is used to determine whether the Item is currently rigidly attached to its parent object or not. This flag defaults to TRUE (meaning locked) for all Items on loading a model file. A locked Item cannot be Picked from its parent. The lock/unlock operations equate to an actual operation such as bolting or unbolting two objects together. To lock an item, select it and press once the ‘O’ key. To unlock an Item, select it and press once the ‘P’ key.

HOME POSITION The Home function is used to jump an item back to the start-up position. Select an item and press the “HOME” key.

PHANTOM OMNI VR4Robots® supports the Phantom Omni as an input/output device. If an item is selected when the “D” key is pressed, then the haptic device will be activated to drive this Item in Cartesian mode. Otherwise, the haptic device will be activated to drive the manual Hand entity. If the selected item is a Robot with a defined Cartesian move function, then the Robot tip will be driven to track the haptic device tip. Otherwise, the selected item is a component and this will be driven directly to track the haptic tip position. The blue button on the Omni device can be used to send Pick/Place items. The “F” key can be used to toggle the force feedback for the haptic device on and off. (By default the device is activated with force-feedback switched off.) When the Hand entity is being driven by the Phantom device, the white button on the stylus activates the lock/unlock action.

Page 12

POSITION AND LOG FILES VR4Robots® provides powerful facilities to track and record the movement of interactive Items. A VR4Robots® interactive session performs operations on the model Items resulting in changes in their positions and the model hierarchy. These changes can be saved either by recording the final positions or by recording the operations performed. NOTE: VR4Robots® is built onto VR4MAX® Navigator Pro. VR4MAX® Navigator Pro functionality allows operators to change and save model files. This functionality is different from the save and load functionality of VR4Robots® and care must be taken to avoid conflicts and confusion. An operations log is automatically started when a model is loaded into VR4Robots®. This log keeps track of all the Item movements and other operations performed using the VR4Robots® functions. NOTE: Position changes made using the VR4MAX® move tools will not be recorded in the VR4Robots® operations log and should therefore be avoided.

MODEL ITEM POSITION FILE Final position files are indicated by a ‘.pos’ extension to the file name. When loading a .pos file the items in the file, which are also present in the loaded model, will be moved to their stored positions. Other Items will not be affected. Multiple position files may therefore be applied in succession and have a combined effect on the state of the model.

OPERATIONS LOG FILE Operations log files are indicated by a ‘.log’ extension to the file name. When the load file function is triggered, a pop-up dialog box appears on the screen. Find and open the desired ‘.log’ file to cause it to be loaded. The operations will be performed and appended to the current log. If a file item is not found in the current model, then the operation is skipped.

OPERATIONS Undo Operation (CTRL Z): Undo a performed operation. May be used repeatedly to step back through the operation log. Redo Operation (SHIFT Z):Redo a performed operation. May be used repeatedly to step forward through the operation log. Clear Operations Log (SHIFT C): Clear the current log. This function only clears the log and does not undo the operations. It is used to generate a log session starting from a particular point (usually the start position should be saved either as a .log or a .pos file). Load (SHIFT L): Load Log or Pos file Save (SHIFT S): Save Log or Pos file

Page 13

MMI’S An MMI is a control application developed for a specific manipulator by Oxford technologies. These also include the safety features required in an application with “real” hardware connected. These MMI’s can also be used to control these specific manipulators in VR4Robots®. The MMI’s are not integrated in VR4Robots® but running as separate application that make a connection with VR4Robots®.

SIMULATION MMI CONNECTION To connect an MMI to the simulation start the simulation and the MMI. Press “M” in VR4Robots® to enable network monitoring (VR4Robots® Network Monitoring Enables). And press the “GO” button in the MMI.

CONTROL MODES A robot can be moved manually by using the “JOINT JOYSTICK” or “P-POSITION” function. Semi-Automatic control can be done using Teach or Move files.

JOINT JOYSTICK MOVEMENTS Press the “JOINT JOYSTICK” button to activate this control mode

Left Mouse drag the Joints that you want to control using the Joystick on the arrows indicating the Joysticks’ axis.

Now the Joystick can be used to move the assigned Joints. It is also possible to move these Joints with the mouse by Right Mouse select and drag the arrows in the Joint Joystick dialog. This control mode can be stopped pressing the “STOP/HALT” button.

Page 14

P-POSITION MOVEMENTS Press the “P-POSITION” button to activate this control mode

In this mode the Joint Values can be typed in directly by Left Mouse clicking the Joints

Type the desired value and click on the Joint to confirm. (or press the “Select All” button)

When all desired Joints are set press the “DO MOVE” button to start the robots movement to the new position

Instead of the “DO MOVE” button you can also choose “JUMP TO POSITION” to directly go to the new position.

Page 15

TEACH FILES To record and playback robot movements and positions the MMI Teach Files can be used. Go to Teach > Record New Teach File (or press Ctrl T) Position the robot in the required positions and press the FLY, CHECK or REST buttons to define the kind of action on the teached position.

FLY: The robot will Pass this point and continue to the next point

CHECK: The robot will Pass this point and continue to the next point unless the “CHECK REST” button is pressed during the movement to the point. Pressing this button will stop (REST) the robot on the teached point.

REST: The robot will move to the teached point and stop. From this REST situation the teached path can be continued by pressing the “START NEXT MOVE” button or aborted with the “CLOSE REPEAT FILE” button

When the path is finished press the Close Button. You will get a save dialog, make sure you don’t use spaces or illegal characters when choosing a name for the Teach file.

After naming the Teach file you’re asked to enter your Teach File Comment-line, this can be a description of what action is stored in the Teach file.

Page 16

USING TEACH FILES Start the MMI log in as “User” and type “User” for the password. Press the “GO” button to start the MMI.

To control the robot by playing teach files make sure the network connection between MMI and simulation is enabled by pressing “M” in VR4Robots®.

Load a Teach file by pressing the “OPEN REPEAT FILE” button.

Select and Open the required Teach file and press the “SEND REPEAT FILE” button.

Choose if you want to Run the whole Teach file or only a selection of moves. You can also choose the option to use all CHECK points as REST points and the option to automatically reset the velocity setting to 1. If the initial robot position is different than the position the robot had while generating the teach file the robot must be aligned to this position first. This can be done automatically using the “MANUAL ALIGN” function.

Pressing this button will set the joint values to the initial position, to make the movement to this position press the “SELECT ALL” button (all the changed joints are selected and highlighted) and press the “DO MOVE” button

Instead of the “DO MOVE” button you can also choose “JUMP TO POSITION” to directly go to the initial position.

After aligning the robot the teach file can be played and stopped using the “START NEXT MOVE”, “CLOSE REPEAT FILE”, “SUSPEND” and “RESUME” controls.

Page 17

The speed movements speed can be set by pressing the “GLABAL VELOCITY” button, this can also be modified when the robot is in REST.

Teach files can be opened and modified in a text editor

This can be useful when you want to change a position in a teach file but want to keep all other positions. This can for instance be a position you got by moving the robot manually with PoR or Joint Movements. These positions cannot be stored in the MMI but by pressing the “j” button in VR4Robots® a list is shown with the joint values of he selected robot. These values be used in P-Position control or to modify positions in the Teach files using a text editor.

Page 18

DETER MMI The Dexter MMI is different from the other MMI’s.

STARTUP After pressing the “GO” button you can choose the arm and axis you want to control.

JOINT MOVEMENTS First CTRL + RMB the master and slave axis to activate (Green) these

ALT + RMB + drag with the cursor above the activated master area to control the axis

Page 19

POR MOVEMENTS To make PoR movements all necessary axis need to be activated by CRTL + RMB clicking the master and slave axis.

LMB doubleclick S1, S2 or E1 to toggle PoR mode (when PoR mode is activated the yellow PoR mode field is showed.

MOVE/TEACH FILES Recoring Teachfiles with the FOM dexter MMI is not working > We Asked Edward Robbins (OTL) for feedback on this Issue.

Page 20

ITEM SETUP CONFIGURATION When a manipulator is defined to have a gripper in the Robots Type Database it is possible to Pick and Place Items in VR4Robots®. To make an object pick/place-able it has to be added to the DataServer Database. This Database can be started from the start menu:

Open the Item Name Database and add the Objects name to define it as an object that can be handled in VR4Robots®.     

Press >| Type the Item Name Type Component in the Item Type field press Save press OK

Open the Item grip Database and add the Objects name to define that the Item can be Picked/Placed with items defined as Gripper.

In the Grip Offset dialog the position and orientation of the Object relative to the Gripper can be defined. Page 21

GRIP OFFSET The position and orientation of the object in the gripper after picking is defined by the origin of the picked object. The objects origin will be aligned with the origin of the gripper object. The easiest way to manipulate the pick orientation and position is by manipulating the objects pivot in 3ds max. Another way to modify the pick orientation and position is changing the Item Grip Database default settings for the object in the Dataserver GUI. This enables you to have Grip Point on another position than the Items Pivot Point described by the Grip Offset. See the Item Setup Workflow how to configure the Grip Offset. Data like the Grip Offset is shown as a transformation Matrix. The examples below give an overview of how a transformation Matrix works.

Unpicked position of Item

Item Picked with Default transformation Matrix for the Grip Offset

X en Y flipped

Y en Z flipped

Page 22

X vector 0.5

Offset X

Offset Y

Offset Z

Page 23

ITEM SETUP WORKFLOW This workflow describes the process of loading a CATIA design of a Robot Tool in a VR4Robots® simulation as a pickable item.

CONVERT CATIA MODELS Use Deep Exploration and select the CATIA model (*.CATProduct) and save it as a .max or other 3ds max compatible format.

PREPARE THE MODEL IN 3DS MAX Open the model in 3ds Max and remove unwanted items like lights and camera’s that you don’t want to use in VR4Robots®. Check the scale of the model. If the scale is not correct select all objects and make a group and modify the scale of the group. Ungroup the group afterwards. If you want to manipulate the pivot of the part without modifying the original you can select everything and make a group (Select > Group > Group). In the Hierarchy Tab click “Affect Pivot Only” and move/rotate the pivot of the group to the required position.

Page 24

In this example the pivot is placed on the tip of the welding tool to make it easier to navigate with the tool, also when it is picked by the robot.

For easy positioning place a dummy object aligned on the position where the gripper/hand will hold the item and make the group a child of this dummy object.

In this example the dummy object is called “Box01” and the group containing the item is “Weld01”

Page 25

IMPORT THE MODEL IN THE SIMULATION MODEL Open a 3ds max model with the robot and the environment that you want to use with the new item and import the prepared model. Align the just added dummy object of the model with the hand/gripper. Using the 3ds Max Align Tool.

Detach the model from the dummy object.

Delete the dummy object. This dummy was only used for easy aligning the model to the hand/gripper.

Page 26

ITEM NAME CONFIGURATION Open the Item Name Database and add the Objects name to define it as an Item that can be handled in VR4Robots®.

    

Press >| Type the Items Name Type Component in the Item Type field press Save press OK

ITEM GRIP CONFIGURATION The next steps are to find out what the find the Grip Offset transformation matrix is that needs to be configured in the Database. Make sure the item is positioned correctly relative to the hand/gripper of the manipulator and export this model to .vmx. Open the .vmx in VR4Robots® and check if Modelhands is loaded in the model. If not it needs to be inserted first.   

Select the Root Node Insert | Model Browse to C:\Program Files (x86)\VR4Robots®\models and select ModelHands.vmx

Select the new item and attach the Item to the robot hand/gripper   

Select Item in the tree RMB Group | Attach Select Robot hand/gripper

Now the Item (Weld01) is a Child of the Robot hand/gripper.

Page 27

Select the Item and press W. This writes the transformation matrix of the item relative to its parent (the robothand) in the VR4Robots® logfile. The logfile can be found in the user directory. Open the file with a text editor and look for the lines displaying the parent transform of the Item (normally at the end of the logfile) 09/25/09 09/25/09 09/25/09 09/25/09 09/25/09 09/25/09 09/25/09

12:14:18 12:14:18 12:14:18 12:14:18 12:14:18 12:14:18 12:14:18

Parent (DexterRight_Hand) transform of Weld01: 0.499009 -0.853796 0.148381 0.343919 0.704912 0.499508 0.503578 0.401861 -0.504070 -0.146694 0.851111 -0.340058 0.000000 0.000000 0.000000 1.000000

Fill these values in the Grip Database for the Item.

Now check in VR4Robots® if the Item is picked and placed “S” correctly. it should not move when picking/placing and give messages about the Pick & Place Attempts in the Lower left corner of the viewport.

Page 28

The Item is now configured to be used in VR4Robots®. Because the Origin is on the tip of the Tool it can be moved relative to its own Pivot (Tool Frame) using PoR movements. This makes it possible to rotate the tool without moving the tip of the tool what can be crucial for precise positioning.

Page 29

ITEM SNAP CONFIGURATION When an item is ‘placed’ in VR4Robots®, the Item Snap database is searched for nearby defined locations for the item. If one is found, the item ‘snaps’ to this position, otherwise, the item is left at the position when the place event occurred. It is useful to define snap positions to make the operation simulation precise in reflecting the real world. Defined positions for components in the real world would be installed or storage positions. Handling tools might have many snap positions for each of the components that they handle. The Snap position and orientation is defined with the Pivot of the Item and the Snap Parent (the Tool Holder in this example). If necessary a transformation between these two pivots can be configured. This can be done with the same procedure used to find the transform matrix for the Item Grip Database.      

Page 30

Position the Item (Tool) and the Snap Parent (Tool Holder) Make the Item a child of the Snap Parent Select the Item Press W Open the VR4Robots® logfile Find the parent transform values and add these to the Item Snap Database

ROBOT SETUP WORKFLOW To use a new designed robot in VR4Robots® it needs to be configured for VR4Robots® using the workflow described in these steps. STEP 1 Work out on paper the location and orientation of the joint coordinate frames and record the DenavittHartenberg parameters. Zt Y4 Yt Z4 Y5 Xt

X5

L3

X4 Y3

X3 Z5 L2 Z3

Y2

L1

Z2

Y0

X2 D1 X0

X1 Z0

Zb

Y1 Z1 Yb

Xb

Link 0 1 2 3 4 5

alpha PI -PI/2 0 PI/2 -PI/2 PI/2

a 0 0 L1 0 0 0

d -L0 0 -D1 -L2 0 0

theta 0 PI/2 -PI/2 PI/2 0 0

Page 31

Assigning coordinate systems: Assign Zi along the axis of joint i -

For a revolute joint, the joint axis is along the axis of rotation For a prismatic joint, the joint axis is along the axis of translation

Choose Xi to point along the commom perpendicular of Zi and Zi+1 pointing towards the next joint. If Zi and Z i+1 intersect, then choose Xi to be normal to the plane of intersection.

-

Choose Yi to round out a right hand coordinate system -

The Y-axis is not used for Denavit Hartenberg so it is usually not drawn

DH parameters: ai-1: distance from Zi-1 to Zi along Xi-1 i-1: angle from Z i-1 to Zi about Xi-1 di: distance from Xi-1 to Xi along Zi qi: angle from Xi-1 to Xi about Zi

-

Transformation Matrix:

T

Page 32

Cos qi Cos ai 1 Sin qi Sin ai 1 Sin qi 0

Sin qi Cos ai 1 Cos qi Cos qi Sin ai 1 0

0 Sin ai Cos ai 0

1 1

i 1 Sin ai 1 di Cos ai 1 di 1

3DS MAX STEP 2 Note: A robot should be drawn with the joints at their zero position!!! Using the sketch created in step 1, create dummy frames in 3dsMax for the robot base and for each joint, and position and orient them as sketched. The convention for naming these dummy frames is: Base frame -> RobotName First joint -> RobotName_Joint_0 Second Joint -> RobotName_Joint_1 etc. Note: The frame descriptions in 3dsMax are in world coordinates with the angles described according to the Fixed XYZ convention. Note: For advanced manipulator structures with parallel links the numbering scheme is different. For example, a robot with 3 arms in parallel each with 3 degrees of freedom would be numbered as follows: Base frame -> RobotName 1st Joint of arm 1 -> RobotName_Joint_0 2nd Joint of arm 1 -> RobotName_Joint_00 3rd Joint of arm 1 -> RobotName_Joint_000 1st Joint of arm 2 -> RobotName_Joint_1 2nd Joint of arm 2 -> RobotName_Joint_10 3rd Joint of arm 2 -> RobotName_Joint_100 1st Joint of arm 3 -> RobotName_Joint_2 2nd Joint of arm 3 -> RobotName_Joint_20 3rd Joint of arm 3 -> RobotName_Joint_200 Note: For target models the robot name should be concatenated with _Tar, e.g. RobotName_Tar, RobotName_Tar_Joint_0 etc. STEP 3 Once the frames are positioned correctly, link them in a serial chain RobotName->RobotName_Joint_0->RobotName_Joint_1->RobotName_Joint_2 ... etc.

Page 33

STEP 4 Now link the robot geometries to the appropriate joint (the first joint that the geometry should move with).

STEP 5 You may need to add a final frame to attach tools to so that they are in the correct orientation. This cannot be a dummy frame so a small sphere or other suitable object should be used. This should be named RobotName_Hand. STEP 6 Export the robot from 3dsmax to .vmx using the VR4MAX® translator.

Page 34

DATASERVER STEP 7 Add a new entry into the robot name database, specifying the name to be the same as that given to the robot base frame (RobotName), and the type to be the same as the robot type created in step 6 (RobotType).

Page 35

STEP 8 Add an entry for the robot into the robot type database, specifying the type of the robot (e.g. RobotType), number of joints, whether it has a gripper/manipulator or not, the collision detection radius around the hand (workspace radius), and the transform from the final joint of the robot to the RobotName_Hand object, if re uired. When an item is picked with this Hand it will snap to the position of the last joint with the orientation and offset defined in Hand Frame. Note: Also the Hand geometry will snap to the position defined in Hand Frame so make sure it is configured properly.

0.2 m

Page 36

STEP 9 Add new entries into the robot joint database, with one entry for each joint specifying the Denavit Hartenberg parameters of that joint, including its type (Revolute or Prismatic) and the minimum and maximum values for the joint variable (either angle or distance, depending on the joint type).

Page 37

MODEL HANDS STEP 10 Once the model is exported open it in VR4Robots®. Click on the root of the item hierachy. Click 'Insert'>'Model' and then choose the modelhands file (C:\Program Files\VR4Robots®\models) to insert it and save the model. NOTES The key thing to remember is that Max models get translated to VR4MAX® models using the max system units and NOT the display units. It is a good idea to check everything is ok while within 3dsMax by selecting each joint frame in turn, moving it, and check that everything you expect moves with it!

Page 38

NETWORKING VR4ROBOTS® VR4Robots® can be used to monitor external Robot or Component position data. The Network Enabling Module is required to enable this functionality. Network enabling allows VR4Robots® to track real robots in real-time. If the robot and environment are modeled accurately, this feature provides a very powerful tool for navigating robots. Network enabling allows VR4Robots® to track actual tool and component positions in real-time. VR4Robots® can be connected to a tool-tracking system to give a visualization of tool/component locations in the environment. Network enabling also allows customers to monitor item positions in a VR4Robots® application and use these positions as targets for commands to an actual robot and thereby drive real robot positions. Network enabling allows VR4Robots® to be used in multi-user sessions. Model item positions can be monitored from other VR4Robots® sessions (and vice versa) so that operators can work co-operatively in the virtual world.

EXTERNAL MONITORING SETUP The Items to be monitored externally must be nominated in the ‘monitor.txt’ file (the location of this file is defined in the VR4Robots®.cfg file). The monitor.txt file contains a list of Items and the address of the servers where the position data is to be found. Any one item can only be monitored from a single location.

MONITOR ON/OFF KEY The external monitoring can be toggled on/off using the “M” key. NOTE: An item which is monitored externally will only receive updates when the position is changed at the remote location. The Item may, therefore, be also driven locally and will remain in this position until an external update is received. This functionality allows two VR4Robots® sessions to monitor each other and for them both to be allowed to drive the same Items.

DATASERVER API The VR4Robots® external interface is provided by the DataServer API library (provided with the installation). This library can be used to create a customer server which VR4Robots® can connect with in order to monitor the customer data. To create a server for VR4Robots®, the customer simply links this library to his application. The API provides a simple set of function calls to allow the customer to update the data in the server. The VR4Robots® applications themselves use the DataServer API library to create servers in order to allow multiple VR4Robots® applications to monitor each other as described above.

Page 39