Jack51 Manual

241
JACK USER MANUAL VERSION 5.1

Transcript of Jack51 Manual

Page 1: Jack51 Manual

JACK USER MANUAL VERSION 5.1

Page 2: Jack51 Manual

i

Copyright 2006 UGS All rights Reserved. This Manual and the software program(s) referred to herein are licensed to the user (the “Licensee”) pursuant to the terms and conditions set forth below and in the applicable UGS software license agreement. The Manual and software program(s) at all times remain the property of UGS. The information contained in this Manual and software program(s) is considered confidential to UGS and shall not be disclosed to any third party except as expressly authorized by UGS. No part of this work may be reproduced or transmitted in any form or by any means electronic or mechanical, including photocopying and recording or by any information storage or retrieval system, except as may be otherwise authorized in writing by UGS. The Jack software is supported, enhanced, marketed, and distributed on a worldwide basis by UGS The Jack software incorporates certain computer code and algorithms that are the intellectual property of the University of Pennsylvania (Penn), copyrighted by Penn in 1988, 1992, 1993, and 1994. Rights to use this intellectual property have been acquired by UGS under an exclusive license agreement with Penn Copyright 1988, 1992, 1993, 1994 University of Pennsylvania Jack is a registered trademark of the University of Pennsylvania, and is licensed exclusively to UGS This software uses the XLISP interpreter. XLISP-STAT 2.1 Copyright 1990, by Luke Tierney XLISP Version 2.1 Copyright 1989, by David Betz Disclaimer of Warranties and Limitations on Liabili ty UGS MAKES NO WARRANTY, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILIY OR FITNESS FOR A PARTICULAR PURPOSE REGARDING THIS MANUAL. UGS MAKES THIS MANUAL AVAILABLE TO LICENSEE SOLEY ON AN “AS-IS” BASIS. IN NO EVENT SHALL UGS BE LIABLE FOR ANY DAMAGES TO LICENSEE OR ANY OTHER PARTY WHETHER ARISING OUT OF CONTRACT OR FROM TORT INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, PROFITS OR BUSINESS, COSTS OF COVER OR ANY OTHER SPECIAL, INCEDNTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES, EVEN IF UGS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES. UGS’S CUMULATIVE LIABILITY SHALL NOT EXCEED THE LICENSE FEE PAID FOR USE OF THIS MANUAL AND A SINGLE-USER LICENSE OF THE SOFTWARE PROGRAM(S) REFERENCED IN THE MANUAL THIS MANUAL AND THE SOFTWARE PROGRAM(S) REFERRED IN THE MANUAL ARE INTENDED TO BE USED ONLY BY TRAINED PROFESSIONALS AND ARE NOT TO BE A SUBSTITUTED FOR PROFESSIONAL JUDGMENT. LICENSEE IS SOLELY RESPONSIBLE FOR ANY RESULTS OBTAINED FROM USING THE SOFTWARE INCLUDING THE ADEQUECY OF INDEPENDENT TESTING OF RELIABILITY AND ACCURACY OF ANY ITEM DESIGNED USING THE SOFTWARE. LICENSEE SHALL PROTECT, INDEMNIFY, AND HOLD UGS HARMLESS FROM ANY LOSS, COST, DAMAGES OR EXPENSE ARISING FROM ANY CLAIM THAT IS IN ANY WAY ASSOCIATED WITH THIS MANUAL OR THE SOFTWARE PROGRAM(S) REFERENCED IN THE MANUAL. Trademarks The following are trademarks of UGS: Virtual people. Virtual places. Real solutions., The digital people company, The digital people people. All other company, brand, and product names are the trademarks of their respective holders.

Page 3: Jack51 Manual

ii

TABLE OF CONTENTS

INTRODUCTION .................................................................................................................................................... IX

WHAT ARE THE JACK PRODUCTS? ...........................................................................................................................XI CLASSIC JACK.......................................................................................................................................................... XI VIS JACK .................................................................................................................................................................XI NX JACK ................................................................................................................................................................XII

New and Improved Feature Details for v5.1......................................................................................................xii TeamCenter Integration .................................................................................................................................................. xii JackCollaboration ........................................................................................................................................................... xii TSB................................................................................................................................................................................xiii Factory Equipment Library............................................................................................................................................ xiv File Archiving ................................................................................................................................................................ xiv Fatigue and Recovery Analysis...................................................................................................................................... xiv New Modules................................................................................................................................................................. xiv

HOW DO I USE THIS MANUAL?................................................................................................................................XV WHAT IS THE COURSE OBJECTIVE? .......................................................................................................................XVI WHO IS THE AUDIENCE?........................................................................................................................................XVI WHAT ARE THE SYSTEM REQUIREMENTS? ............................................................................................................XVI

CHAPTER 1: JACK’S INTERFACE........................................................................................................................1

CONTROL BAR...........................................................................................................................................................2 Menus...................................................................................................................................................................2 Icon Toolbar.........................................................................................................................................................3 Object Selector.....................................................................................................................................................3 Message Area.......................................................................................................................................................4 Move Controller...................................................................................................................................................4 Move - TO ............................................................................................................................................................5

Global vs. Local Transformations..................................................................................................................................... 6 Snap to Geometry ............................................................................................................................................................. 7

GRAPHICS WINDOW ..................................................................................................................................................8 Change View ........................................................................................................................................................9 Context Sensitive Menus ....................................................................................................................................10 Picking with the Middle Mouse Button ..............................................................................................................11 Space Bar Completion .......................................................................................................................................12

INTERNATIONAL MENUS..........................................................................................................................................12 CHAPTER 1 TUTORIAL: JACK’S INTERFACE..............................................................................................................13

Exercise: Control Bar Basics.............................................................................................................................13 Exercise: Object Selector...................................................................................................................................13 Exercise: Using the Mover Dialog.....................................................................................................................14 Exercise: Snap to ...............................................................................................................................................14 Exercise: Global vs Local ..................................................................................................................................15 Exercise: Navigating the Jack Scene .................................................................................................................16 Exercise: Context Sensitive menus.....................................................................................................................16 Exercise: Picking with the MMB........................................................................................................................17 Exercise: Space bar completion.........................................................................................................................18

CHAPTER 2: FILE MANAGEMENT....................................................................................................................19

NATIVE JACK FILES .................................................................................................................................................19 Environment.......................................................................................................................................................19 Figures ...............................................................................................................................................................21 Segments ............................................................................................................................................................21 Manipulations ....................................................................................................................................................22

File Archiving ................................................................................................................................................................. 22

Page 4: Jack51 Manual

iii

IMPORT....................................................................................................................................................................23 Import Formats ..................................................................................................................................................23 Import Formats for Texture Mapping & Visualization ......................................................................................24 Import Options ...................................................................................................................................................24 JT Features ........................................................................................................................................................25

Benefits: .......................................................................................................................................................................... 25 Limitations:..................................................................................................................................................................... 25

TRANSLATE SEGMENT FROM JT ..............................................................................................................................26 DECIMATE ...............................................................................................................................................................27 BATCH TRANSLATE FILES .......................................................................................................................................27 CAD EXPORT..........................................................................................................................................................27

VRML Export .....................................................................................................................................................27 IGES Export .......................................................................................................................................................28

CAPTURING IMAGES ................................................................................................................................................28 Screen Capture...................................................................................................................................................29 Rendering...........................................................................................................................................................30 External Applications.........................................................................................................................................30

CHAPTER 2 TUTORIAL: FILE MANAGEMENT............................................................................................................31 Exercise: Loading an Environment file..............................................................................................................31 Exercise: Saving Figures and Segments ............................................................................................................32 Exercise: JT Open and JT Import ......................................................................................................................32 Exercise: IGES Import and Export ....................................................................................................................35 Exercise: Jack’s Image Capture ........................................................................................................................36 Exercise: Alternate Screen Capture Methods ....................................................................................................36

CHAPTER 3: EDITING THE JACK ENVIRONMENT ............ ..........................................................................37

UNDO ......................................................................................................................................................................37 DELETE SCENE........................................................................................................................................................37 SCALE......................................................................................................................................................................37 MATERIALS .............................................................................................................................................................38

Color ..................................................................................................................................................................38 TEXTURES...............................................................................................................................................................40 KEY BINDINGS.........................................................................................................................................................40

Predefined Shortcuts ..........................................................................................................................................40 Custom Shortcuts ...............................................................................................................................................40

SYSTEM DEFAULTS..................................................................................................................................................41 CHAPTER 3 TUTORIAL: EDITING THE JACK ENVIRONMENT .....................................................................................43

Exercise: Figure Scaling....................................................................................................................................43 Exercise: Scaling the Environment ....................................................................................................................44 Exercise: Color Parameters...............................................................................................................................45 Exercise: Texture mapping ................................................................................................................................45 Exercise: Hot Keys (Shortcuts) ..........................................................................................................................46 Exercise: Customizing the workspace................................................................................................................48

CHAPTER 4: CHANGING YOUR VIEW OF JACK.............. .............................................................................49

CENTER ALL ............................................................................................................................................................49 ZOOM TO.................................................................................................................................................................49 MAKE ALL FIGURES VISIBLE...................................................................................................................................49 TOGGLE SEGMENT VISIBILITY .................................................................................................................................49 SHADE SCENE..........................................................................................................................................................50 WIREFRAME SCENE.................................................................................................................................................50 FIGURE PROJECTIONS..............................................................................................................................................50 TEXTURES ON/OFF..................................................................................................................................................50 VIEW CONTROL.......................................................................................................................................................50

Camera Position and Orientation......................................................................................................................51 Camera Field of View ........................................................................................................................................51

Page 5: Jack51 Manual

iv

Snapping and Attaching View ............................................................................................................................52 NAMED VIEWS.........................................................................................................................................................53 WINDOW PARAMETERS...........................................................................................................................................53

Create Windows .................................................................................................................................................53 Window Sets .......................................................................................................................................................54 Current Windows ...............................................................................................................................................54

STEREO PROPERTIES................................................................................................................................................54 OBJECT HIERARCHY ................................................................................................................................................56 TOGGLE LOG WINDOWS..........................................................................................................................................57 TOOLBARS...............................................................................................................................................................57 CHAPTER 4 TUTORIAL: CHANGING YOUR VIEW OF JACK ........................................................................................58

Exercise: Visibility .............................................................................................................................................58 Exercise: Shading Options.................................................................................................................................59 Exercise: Advanced View Control......................................................................................................................59 Exercise: Window Parameters...........................................................................................................................60 Exercise: Manipulating objects in the Object Hierarchy...................................................................................61

CHAPTER 5: WORKING W ITH HUMANS.........................................................................................................63

HUMAN SCALING (ANTHROPOMETRY) ....................................................................................................................63 CREATE ...................................................................................................................................................................64

Average Male and Female Manikins .................................................................................................................64 Basic...................................................................................................................................................................65 Advanced............................................................................................................................................................66

PROPERTIES.............................................................................................................................................................68 Postures..............................................................................................................................................................68

Posture Library ............................................................................................................................................................... 68 Skeleton..............................................................................................................................................................69 Anthro ................................................................................................................................................................70

HUMAN CONTROL ...................................................................................................................................................70 Human Control Manipulations ..........................................................................................................................71

Arms ............................................................................................................................................................................... 71 Feet ................................................................................................................................................................................. 72 Center of Mass and Pelvis............................................................................................................................................... 72 Head and Eyes ................................................................................................................................................................ 72 Shoulder.......................................................................................................................................................................... 73 Torso............................................................................................................................................................................... 73 Balance Behavior ............................................................................................................................................................ 73

ADJUST JOINT ..........................................................................................................................................................74 FOOTPRINTS.............................................................................................................................................................74 EYE VIEW ................................................................................................................................................................75 VIEW CONES............................................................................................................................................................76 SHAPE HAND ...........................................................................................................................................................77 CHAPTER 5 TUTORIAL: WORKING WITH HUMANS ...................................................................................................80

Exercise: Create a Human.................................................................................................................................80 Exercise: Human Scaling...................................................................................................................................80 Exercise: Human Postures.................................................................................................................................82 Exercise: Skeletal Structure ...............................................................................................................................82 Exercise: Basic Human Manipulation ...............................................................................................................83 Exercise: Adjust Joint ........................................................................................................................................84 Exercise: View Analysis .....................................................................................................................................84 Exercise: View Cones.........................................................................................................................................86 Exercise: Hand Postures....................................................................................................................................87 Exercise: Posturing Examples ...........................................................................................................................87 Exercise: Typing Example..................................................................................................................................88 Exercise: Climbing Ladder ................................................................................................................................90 Exercise: Grasping Crates.................................................................................................................................91 Exercise: Tool Use.............................................................................................................................................92

Page 6: Jack51 Manual

v

CHAPTER 6: CREATING & DISPLAYING OBJECTS........... ...........................................................................95

CREATE ...................................................................................................................................................................95 Site .....................................................................................................................................................................95 Joint ...................................................................................................................................................................95 Node...................................................................................................................................................................95 Face ...................................................................................................................................................................95 Light ...................................................................................................................................................................95 CAD Objects ......................................................................................................................................................97 Rectangular Solid...............................................................................................................................................97 Figure from Library ...........................................................................................................................................98

Factory Equipment Library............................................................................................................................................. 98 MODIFY GEOMETRY................................................................................................................................................99

Editing Segment Geometry.................................................................................................................................99 Merging Segment Geometry.............................................................................................................................100 Splitting Segment Geometry.............................................................................................................................100 Fix Segment Orientation ..................................................................................................................................100

Reroot Figure ................................................................................................................................................................ 100 Visible........................................................................................................................................................................... 101 Shaded/ Wireframe/ Transparent .................................................................................................................................. 101 Smooth Shading............................................................................................................................................................ 102 Trace ............................................................................................................................................................................. 103 Figure Ghosts................................................................................................................................................................ 104

CHAPTER 6 TUTORIAL: CREATING AND DISPLAYING OBJECTS..............................................................................105 Exercise: Creating a Site .................................................................................................................................105 Exercise: Create Joint......................................................................................................................................106 Exercise: Lighting ............................................................................................................................................108 Exercise: Modify Geometry..............................................................................................................................109 Exercise: Re-rooting an Object........................................................................................................................110 Exercise: Object Library..................................................................................................................................111 Exercise: Visibility ...........................................................................................................................................112 Exercise: Shaded, Wireframe, and Transparent ..............................................................................................112 Exercise: Shading Options...............................................................................................................................112 Exercise: Trace segment ..................................................................................................................................113 Exercise: Create Ghost ....................................................................................................................................114

CHAPTER 7: WORKING W ITH OBJECTS ......................................................................................................116 Attachments .................................................................................................................................................................. 116

PROPERTIES...........................................................................................................................................................117 Figure Properties.............................................................................................................................................117 Segment Properties ..........................................................................................................................................118 Site Properties..................................................................................................................................................119 Joint Properties................................................................................................................................................120 Face Properties................................................................................................................................................121

Reflection...................................................................................................................................................................... 122 Edge Properties................................................................................................................................................123 Node Properties ...............................................................................................................................................124

ADJUST JOINT ........................................................................................................................................................124 MOTORS ON/OFF...................................................................................................................................................125

Joint Motors .................................................................................................................................................................. 125 INTERACTIVE REACH.............................................................................................................................................126 PATHS....................................................................................................................................................................126 CHAPTER 7 TUTORIAL: WORKING WITH OBJECTS.................................................................................................127

Exercise: Figure Properties.............................................................................................................................127 Exercise: Segment Properties ..........................................................................................................................127 Exercise: Face Properties................................................................................................................................128 Exercise: Adjusting a Joint ..............................................................................................................................128

Page 7: Jack51 Manual

vi

Exercise: Joints and Motors.............................................................................................................................129 Exercise: Interactive Reach .............................................................................................................................131 Exercise: Creating & Editing a Path ...............................................................................................................132

CHAPTER 8: MEASURING & CHECKING UTILITIES:......... .......................................................................134

COLLISION DETECTION..........................................................................................................................................135 CONSTRAINT..........................................................................................................................................................137

Type of Goal ................................................................................................................................................................. 138 Goal .............................................................................................................................................................................. 138 Set Transform Location ................................................................................................................................................ 138 End Effector Type......................................................................................................................................................... 139 End Eff. Seg/Node/Site ................................................................................................................................................. 139 Starting Joint ................................................................................................................................................................. 139 Rooting Constraint ........................................................................................................................................................ 139 Orientational Relationship ............................................................................................................................................ 139 Positional Relationship ................................................................................................................................................. 140 Orientation <---->Position Weight ................................................................................................................................ 140 Relative Constraint Weight ........................................................................................................................................... 140

SIMULATION UPDATES..........................................................................................................................................141 MEASURE DISTANCE .............................................................................................................................................141

Scalar ...............................................................................................................................................................141 RULERS .................................................................................................................................................................142 MINIMAL DISTANCE..............................................................................................................................................143 LOGGING...............................................................................................................................................................143 SYSTEM GEOMETRY INFO......................................................................................................................................143 REACH ZONES.......................................................................................................................................................144

Advanced Reach Analysis ................................................................................................................................144 CHAPTER 8: MEASURING, CHECKING UTILITIES, AND ANALYZING JACK ..............................................................145

Exercise: Collision detection ...........................................................................................................................145 Exercise: Constraints.......................................................................................................................................147 Exercise: Scalar Measure ................................................................................................................................148 Exercise: Create Ruler.....................................................................................................................................149 Exercise: Minimal Distance.............................................................................................................................150 Exercise: Maximum Reach Analysis ................................................................................................................150

CHAPTER 9: ANIMATION SYSTEM MODULE................. .............................................................................152

ANIMATION WINDOW............................................................................................................................................153 Menu ................................................................................................................................................................153 Animation Window Icons .................................................................................................................................153 Timeline............................................................................................................................................................154

MOTION BASICS....................................................................................................................................................155 Generate...........................................................................................................................................................155 Set Frame 0 ......................................................................................................................................................156 Figure Motions.................................................................................................................................................158 Joint Motions ...................................................................................................................................................158 Timed Attachments...........................................................................................................................................158 Constraints.......................................................................................................................................................159 Path Motions....................................................................................................................................................159 Human Motions................................................................................................................................................160 Timed Behaviors ..............................................................................................................................................160 Camera Motions...............................................................................................................................................160

CHANNELSETS.......................................................................................................................................................160 Creating Channelsets.......................................................................................................................................160 Replaying Channelset Motions ........................................................................................................................161 Channelset Editor ............................................................................................................................................162

MOVIE EXPORT .....................................................................................................................................................162 Resolution ........................................................................................................................................................163

Page 8: Jack51 Manual

vii

Animation Options ...........................................................................................................................................163 Output Options.................................................................................................................................................164

ANIMATION TIPS ...................................................................................................................................................164 Constraint Vs Joint Motions: ...........................................................................................................................164 Generation: ......................................................................................................................................................164 Handprints and Footprints: .............................................................................................................................164 _Motcs File: .....................................................................................................................................................164 Motion Times (Motions not being generated):.................................................................................................165 Pose Figure Vs Joint Motion: ..........................................................................................................................165 Quickstart: .......................................................................................................................................................165

CHAPTER 9 TUTORIAL: ANIMATION SYSTEM MODULE..........................................................................................166 Exercise: Animation Window...........................................................................................................................166 Exercise: Basic Animation ...............................................................................................................................166 Exercise: Group manipulation.........................................................................................................................168 Exercise: Human Linear Walk .........................................................................................................................168 Exercise: Human Pose .....................................................................................................................................169 Exercise: Saving the Animation .......................................................................................................................170 Exercise: Human Path Walk ............................................................................................................................171 Exercise: Human Motions................................................................................................................................175 Exercise: Joint Motions, Interactive Reach and Timed Attachments ...............................................................177 Exercise: Timed Control ..................................................................................................................................181

CHAPTER 10: OTHER MODULES.....................................................................................................................183

MOTION CAPTURE – REAL-TIME ...........................................................................................................................183 MoCap Toolbar................................................................................................................................................183 Virtual Reality Devices ....................................................................................................................................183 Tracking ...........................................................................................................................................................184 Grasp ...............................................................................................................................................................184 Recording.........................................................................................................................................................184 Eye View Windows...........................................................................................................................................184 Playback...........................................................................................................................................................184

PLUG-INS ...............................................................................................................................................................184 AdvancedCommandGenerator .........................................................................................................................185 CPort ...............................................................................................................................................................185 CableGenerator ...............................................................................................................................................185 CameraTracking ..............................................................................................................................................185 GridGenerator .................................................................................................................................................185 MaterialReplace...............................................................................................................................................186 PatNets.............................................................................................................................................................186 PrincipleComponentManikins..........................................................................................................................186 PrintToJack......................................................................................................................................................186 RetargetChannelSet .........................................................................................................................................186 Sample..............................................................................................................................................................186 Sweeps..............................................................................................................................................................187 SyncSwimming .................................................................................................................................................187 TATReporter ....................................................................................................................................................187 JackCollaboration............................................................................................................................................187

CHAPTER 10 TUTORIAL: OTHER MODULES ...........................................................................................................191 Exercise: Jack plugins .....................................................................................................................................191

APPENDIX A: JACK TOOLBAR DEFINITIONS ............... ..............................................................................199

APPENDIX B: SYSTEM DEFAULTS..................................................................................................................200

COLOR:..................................................................................................................................................................200 GRAPHICS:.............................................................................................................................................................200 SOLVER: ................................................................................................................................................................201

Page 9: Jack51 Manual

viii

UI:.........................................................................................................................................................................202 UNITS: ...................................................................................................................................................................203 VIEWERS: ..............................................................................................................................................................203

APPENDIX C: SNAP DEFINITIONS...................................................................................................................205

CURSOR POINT: .....................................................................................................................................................205 SITE: ......................................................................................................................................................................205 SITE POSITION:.......................................................................................................................................................205 SITE ORIENTATION:................................................................................................................................................205 NODE POSITIONS:...................................................................................................................................................205 EDGE LINE: ............................................................................................................................................................205 EDGE POSITION: ....................................................................................................................................................205 EDGE ORIENTATION:..............................................................................................................................................206 FACE POSITION:.....................................................................................................................................................206 FACE CENTER: .......................................................................................................................................................206 FACE PLANE: .........................................................................................................................................................206 FACE ORIENTATION: ..............................................................................................................................................206 SQUARE ORIENTATION:..........................................................................................................................................206 GROUND PLANE: ...................................................................................................................................................206

APPENDIX D: ADDITIONAL JACK RESOURCES .............. ...........................................................................207

SUPPORT AND FEEDBACK ......................................................................................................................................207 ENHANCEMENT REQUESTS/PROBLEM REPORTS: ...................................................................................................207 PRODUCT SUPPORT WEBSITE: ...............................................................................................................................207 CUSTOMER INVOLVEMENT PROCESS: ....................................................................................................................208 SCRIPTING RESOURCES:.........................................................................................................................................208

Python and Tcl Scripts:....................................................................................................................................208 Python website:............................................................................................................................................................. 208 Python Books:............................................................................................................................................................... 208 Tcl\Tk Books: ............................................................................................................................................................... 208

Sample Scripts: ................................................................................................................................................208 Python Scripts: .............................................................................................................................................................. 208

APPENDIX E: .JK FILE DEFINITIONS (ADVANCED): .................... .............................................................209

.jk4.install: .......................................................................................................................................................209

.jk3rc:...............................................................................................................................................................209

.jk.log: ..............................................................................................................................................................209

.jk.views: ..........................................................................................................................................................209

.jk.log.tcl: .........................................................................................................................................................209

.jk.log.tcl~:.......................................................................................................................................................209

.jk.humans.simple: ..........................................................................................................................................209

.jk.humans.complex: .......................................................................................................................................209

.jk.mocap: ........................................................................................................................................................209 Jack51.bat: ......................................................................................................................................................210 Jack51_env.bat:...............................................................................................................................................210

APPENDIX F: EXTENDING JACK THROUGH SCRIPTING ....... .................................................................211

BASIC SCRIPTING...................................................................................................................................................211 TCL/TK ............................................................................................................................................................211 Python and Lisp ...............................................................................................................................................212 Exercise: TCL Log ...........................................................................................................................................212

GLOSSARY .............................................................................................................................................................213

INDEX ......................................................................................................................................................................223

Page 10: Jack51 Manual

Jack 5.1 User Manual UGS

ix

Introduction Because this user manual cannot begin to cover all of the features of Jack, a brief overview of Jack’s capabilities and potential applications is necessary. This is intended to give you the “big picture” and allow you to begin considering ways in which you can effectively apply Jack in your job, even before you undertake the training. Jack is a complete system for generating 3D environments or “virtual worlds” and interacting with them in a powerful graphical environment. Some of the areas where Jack excels are:

Creating and visualizing “digital mock-ups” of desi gns : Jack gives you all of the advanced graphical tools for creating concept models or importing design data to the virtual world. Design changes in Jack’s world are much less costly and time consuming than in ours. Analyzing human factors in designs : Occupant or operator reach, fit, comfort, and vision are all-important considerations in product designs. Too many products are designed without considering the people that will use them! Studying humans in the “simulated workplace ”: Jack can tirelessly perform operations in factories or offices to allow you to design the safest, most efficient, and most productive workplaces possible. Evaluating maintenance operations : Many designs are built without much consideration to the people that will maintain them, even though that is where much of the lifecycle cost of many large systems lies. Jack gives you the tools to evaluate maintenance operations even in the earliest product design stages. Training users : Your design simulations can serve double duty: training operators or maintenance people long before facilities are constructed or without the danger and lost productivity of “on line” training. Things we haven’t even considered yet … Jack gives you the tools you need to model complex systems, to study their motions, and to simulate how humans will work with them. Our users are constantly finding new, unique applications for Jack, and we hope you will also! (Of course, this training is the first step…)

Page 11: Jack51 Manual

Jack 5.1 User Manual UGS

x

Unlike many 3D design and visualization systems, Jack works natively with articulated figures. In simple terms, Jack’s world is full of moving objects, just like in real life. Jack provides a very powerful system for modeling articulated figures. Of course, one of the most demanding applications in this area is the human body! The focus in the development of Jack has been centered on creating the most accurate human body model available in any system. Jack’s greatest strength is in being able to “populate” the virtual world with simulated humans that have proper biomechanical, anthropometric, and ergonomic characteristics. Jack humans look and act like real humans . Jack humans understand balance, walking, and lifting. They have “strength” and can tell you if motions exceed their limits. And if the motion you define does exceed the limits, Jack can calculate a motion that won’t! You can model males and females of any stature, based upon validated population studies. Jack humans have the same joint limits as a typical human in the real world does. This sort of modeling, simulation, and analysis requires a powerful graphical viewing environment, an easy to use interface, and a complete set of command functions. Jack provides all of this. Jack gives you:

A System for modeling ANY articulated figure : a full hierarchical database, a complete joint library, active constraints, collision detection, and real time kinematics and dynamics simulation. Human Bodies : anthropometric scaling based on a database or your measurements; high fidelity biomechanics with complex joints, and a fully articulated hand and spine model; automatic grasping to part contours with precision or power grasps and a full hand shape library, path walking locomotion, head-eye coordination, and balance behaviors. Real-time viewing environment : interactive viewing, multiple windows, lights and cameras, textures, and mirrors (real time!), Complete rendering and animation system : goal based animation, and automated frame-by-frame production of movie files. Powerful extensions : macro language, dynamic module system, customizable menus, even embedded Lisp, Python, and Tcl/TK programming systems.

Page 12: Jack51 Manual

Jack 5.1 User Manual UGS

xi

Full VR system: complete, immersive capabilities; supports stereo glasses, boom or helmet-mount displays (HMDs), CyberGlove, full body motion tracking, and the Monkey posture input device.

What are the Jack Products?

Classic Jack Classic Jack is the base offering from UGS for Human Factors and Ergonomic Analysis. Classic Jack has several add on modules which will be covered in this paragraph and have separate training classes that are available. The first, 3D Body Scan can be used to create humans using existing body scans (such as the SAE CAESAR Scans). The second module, the Occupant Packaging Toolkit (OPT) can be used to maximize vehicle design for the occupant or user. And finally the third is the Task Analysis Toolkit (TAT), which is used in the manufacturing communities to design better workplaces and maximize the safety of workers. Both the OPT and TAT have separate training manuals which explain the capabilities of the modules in greater detail. These manuals can be obtained by contacting your UGS representative for an additional license (See Appendix E: Additional Jack Resources). Jack can also be extended through scripting.

Vis Jack VisJack is the Jack human model inside of VisMockup. It offers many of the same capabilities as Classic Jack. Just like Classic Jack, VisJack enables you to: • Insert digital men and women, and scale them by stature and weight • Define behaviors that condition how the digital humans react when

postured • Posture digital humans by manipulating their joints • Evaluate what digital humans can see from their point of view or

through the display of view cones • Evaluate the reach capability of digital humans Utilizing the functionality of Teamcenter’s advanced collaboration, conferencing, and visualization software, the VisMockup prototypes can be quickly and easily evaluated by a design team without the need for each individual to have access to, and knowledge of Classic Jack.

Page 13: Jack51 Manual

Jack 5.1 User Manual UGS

xii

NX Jack

Based on UGS’ industry-leading Jack human simulation and ergonomics analysis software, NX Human Modeling helps enterprises across industries improve the ergonomics of product designs and associated workplace tasks during the design phase. The software enables the positioning of varying sizes of digital humans directly within the virtual design environment. By incorporating digital human modeling capabilities within the NX solution, designers can easily factor in ergonomic specifications from the very beginning in the design process. In addition, users can take advantage of ‘design in context’ to conduct product validation within the integrated environment for a quicker, more efficient and seamless product development workflow.

The embedded human simulation functionality extends the validation process beyond simple form, fit and function into the science of ergonomics. The ability to evaluate ergonomic considerations in a time effective manner leads to superior quality products that optimally accommodate users.

What’s new in ClassicJack 5.1? The primary developments of this release include significant enhancement of the Teamcenter integration, updates for the Task Simulation Builder and a totally revamped and updated collaboration functionality (previously known as JackPort). In addition, support for the 5DT glove has been added to the Motion Capture Toolkit. New and Improved Feature Details for v5.1

TeamCenter Integration

• Collaboration Context (CC) application in TcEng manages both product structures and manufacturing process structures.

o Data can be scoped using configuration rules including revision rules, variant rules, and closure rules.

o JT data in a composition, occurrence group or a BOM item can be sent to Jack from CC using AI-Web Service.

o Jack data files are saved as Jack archive files in TcEng.

JackCollaboration

• The collaboration network supports a star topology consisting of a single server with 'N' connected clients.

• The machines in the network can be any combination of supported Jack OSs i.e. Windows, HPUX and IRIX.

Page 14: Jack51 Manual

Jack 5.1 User Manual UGS

xiii

• You can add a 'camera' to the collaboration network by typing its name into the Shared Environment Manager dialog.

TSB

• Simulation files (.tsf files) are now written compressed, generally resulting in much smaller file sizes, especially when using psurf-only geometry.

o not backward compatible with v5.0.1 (i.e. files written out in v5.1 cannot be loaded in v5.0.1)

o however, files created in v5.0.1 can be loaded into v5.1. • UI improvements:

o Actor moves can now be completed directly in the TSB UI by pressing the appropriate "Move" button on the active dialog.

o Reference actor support has been added for Location transformation edits. This allows you to use any Human or Object actor as a move reference, allowing for much easier editing of part placements, walk targets, etc.

o Human actors can now be selected as obstacles; however, like object actors, they are considered statically (un-moving) during the execution of an individual task.

o Getting Object actor bound to Jt figure without first defining Grasp Point actors results in appropriate error message instructing user to define at least one Grasp Point.

• Simulation improvements: o Improved walk target calculation for Get, Go, Put, Touch. o Human's arms now swing when not carrying an object,

making for more realistic animations. o Fixed several animation generation bugs related to

sudden posture jumps (particularly when using a Pose task).

o Improved hand orientation when handling objects. o Improved use of "Either Hand" grasp points. o Improved stepping behavior when reaching. o Improved head/eye behavior when handling objects. o Many error messages made more consistent and clearer. o Use grasp points or bbox centers to determine of

reaching for location below ground plane or above human's head.

• Editing simulation results: o Editing of Object paths in a Object actor's Move task. o Editing of Reach object paths in Human actor's Put task.

Page 15: Jack51 Manual

Jack 5.1 User Manual UGS

xiv

Factory Equipment Library

The Object Library now includes a wide variety of factory equipment for use in mocking up factories and factory workcells.

To load any of these into the scene execute Object->Create->Figure from Library... to bring up the Load Library File Dialog. The factory equipment files can be listed by clicking on Factory Equipment in the list of libraries.

Types of equipment include:

• A sheet metal bender • A control computer • Conveyor belts • Elevators • A fixture • A motor • A wooden pallet • A roller table • Roller surfaces

Some of the factory equipment has articulation for use in simulation. Joints for use in workcell tasks have names that are all in upper-case. Joints for adjustment such as height adjustment have names that begin with a capital letter and have the remaining characters lower-case. Dummy joints for just connecting parts are named all in lower-case letters.

File Archiving

• Archive files are now written out compressed, generally resulting in much smaller file sizes, especially when using psurf-only geometry.

Fatigue and Recovery Analysis

• The realtime fatigue and recovery bar graphs were updated to 'not' use the auto-scaling feature.

New Modules

• Human Reach o The Human Reach module quickly performs whole body

posturing based on a small number of inputs. Users can move handprints and a vision target to goal locations. Overall body posture is automatically computed including

Page 16: Jack51 Manual

Jack 5.1 User Manual UGS

xv

up to one step to reach the goals. Users have the option to indicate whether or not the human figure should keep the feet stationary (assumes a barrier is in front of the figure), and can indicate whether or not to match the hand print orientation exactly, or to allow the system to estimate a more ideal hand yaw orientation. Note that it is possible to set the hand goal locations such that they are not met by the posturing algorithm. Nevertheless, the posture should provide a very good starting point that can be easily tweaked using the traditional human manipulation tools.

• Advanced Hand o This module creates a much more detailed hand,

provides hand specific anthropometric scaling, and includes typical manufacturing postures for the hand. The new hand includes higher resolution geometry and modifications to the thumb articulation, including the addition of a thumb axis joint and modification to axes of rotation to allow more natural hand posturing. New human figures with the new hands are included, as are disembodied hand figures. The module includes a dialog for anthropometric hand scaling that allows the setting of hand length and hand breadth with either direct input, percentile values, or regressions. The proportions for each of the the finger link lengths are regressed to the inputs, as are the breadths and depths at the joints. Special scaling is applied to the finger link segments so that the segment geometry blends at the joints and through the range of motion. The module also includes a dialog for applying manufacturing hand postures. The hand posture dialog also includes a function for applying an estimate of the thumb axis angle after manually setting the thumb joint angles.

How do I use this Manual? The Jack User Manual is intended to be used as both a teaching tool and a reference document for current users. The manual contains detailed background information on each subject being discussed, references to additional publications, and step-by-step instructions for completing the tutorials. The tutorials will be located at the conclusion of each chapter, and will have the user follow a set of instructions for completing the tasks described in the chapter.

Page 17: Jack51 Manual

Jack 5.1 User Manual UGS

xvi

What is the Course Objective? The Jack Introductory Training Course (“Jack 101”) introduces users to the basics of using Jack, the Jack environment, the Jack software architecture, and specific human modeling techniques. Upon completing the tutorials in the user manual, users should be able to perform basic visual simulation and analysis, create and manipulate human figures, perform basic human factors analyses, create articulated models of general model geometry; perform basic customization of Jack for application specific development, and output results in graphical or video formats.

Who is the Audience? Beginning Jack users; some experience with graphical software tools is desirable; no programming experience is necessary; basic familiarity with human factors analysis, biomechanics, ergonomics, design, and computer graphics is helpful.

What are the System Requirements? Jack 5.1 runs on HP UNIX, SGI IRIX, and Windows workstations. The minimum system requirements are shown below, however, actual minimum system requirements may depend on the desired application. For example, if you will be working on large geometry sets or using motion capture, a faster machine may be required.

Windows SGI HP

OS Version 2000/NT IRIX - 6.5.x HPUX 10.20 or

higher

Processor 266MHz or higher O2 R1000 or

higher C180 or higher

Memory 256Mb or higher 64Mb or higher 64Mb or higher

Installation Disk Space 130Mb 160Mb 170Mb

Screen Resolution

1280 by 1024 pixels or higher

1024 by 768 pixels or higher

1024 by 768 pixels or higher

Page 18: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 1

Chapter 1: Jack’s Interface When you start Jack, you are presented with the Jack 5.1 graphical user interface. The default interface includes the GRAPHICS

WINDOW(S) where objects are rendered and a CONTROL BAR that contains standard menus and icons. In addition, Jack has an OBJECT HIERARCHY where a listing of the environment is displayed, SESSION LOG, and several scripting consoles.

Jack Startup

All of Jack’s windows are completely independent and can be moved to suit your preferences. The windows, menus, and toolbars used in Jack conform to standard Windows behaviors and methods of manipulation. Jack also contains several non-standard functions for convenience.

Page 19: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 2

Control Bar The CONTROL BAR is divided into four areas: the MENUS, the ICON

TOOLBAR, the MESSAGE AREA, and the MOVE CONTROLLER. It provides access to almost all Jack functions via menus and graphical icons. The figure below illustrates the main areas of the CONTROL BAR.

Control Bar

Menus The MENU LINE provides the starting point for Jack’s command structure. Menus are in standard windows format and can be accessed with a single click of the Left Mouse Button <LMB> . File, Edit, View as well as Jack specific issues involving Human, Object, Utilities, and Analysis are included. In addition, Jack provides a module system, which allows additional capabilities to be added to the software at run-time. A number of special purpose modules are available for Jack or you can easily create your own modules.

Menu Bar with Tear off Menu

Menus Move Controller

Message Area

Icon Toolbar

Page 20: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 3

Every menu has a perforation line indicating the “Tear-Off Bar” point. By selecting this line, you put the menu in a separate window that can be positioned anywhere within the Jack 5.1 desktop environment. This allows you to keep often-used menus available in the most convenient screen locations. Icon Toolbar The TOOL BAR icons give you quick access to commonly used functions.

Open File

Save Current Scene

Toggle Log Window

View Control

Zoom To

Toggle Object Hierarchy

Move Figure

Adjust Joint

Create Male Manikin

Create Female Manikin

Scale Human

Open Human Control Panel

Open Animation Window

Object Selector

Jack’s Toolbar Icons

All above icons perform an immediate action or pull up the appropriate dialog box except the OBJECT SELECTOR. This function effects subsequent actions in the Graphics Window and will be covered later in this manual. Note: It is always good practice to verify that the expected object type is displayed in the OBJECT SELECTOR ico n window before attempting any object manipulation. Object Selector The OBJECT SELECTOR works in conjunction with the GRAPHICS

WINDOW. The current object type determines which CONTEXT

SENSITIVE MENU is displayed when you <RMB> on the object or the Object type in a Pick mode.

Page 21: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 4

You can select any of Jack’s basic object types to influence CONTEXT SENSITIVE MENU: Figure, Segment, Site, or Joint (These will be defined in Chapter 2). You can select through the OBJECT

SELECTOR’S DROP-DOWN LIST or scroll through the basic object types by pressing the <MMB> in the GRAPHICS WINDOW. You can also access Window Parameters though context Sensitive Menus by Right Clicking away from objects in the GRAPHICS WINDOW. Pick Mode searches for specific object types in the GRAPHICS

WINDOW. In this case, the object type is automatically changed when you press the corresponding hand selector icon in Jack’s Dialog boxes. In addition to Jack’s Basic Object Types, you can select Faces, Edges, and Nodes . Message Area The MESSAGE AREA provides you with feedback on operations and “tool tips” as you interact with Jack. For example, when moving the mouse pointer over the TOOLBAR icons, you will see the description of each icon’s function. When moving the mouse cursor in the GRAPHICS WINDOW, the MESSAGE AREA will display the name of the “Object” currently under the mouse pointer. When reading data files, the MESSAGE AREA will give you feedback on the progress of the operation. NOTE: Watch the M ESSAGE AREA for useful information in many common interactions.

Message Area

Move Controller The MOVE CONTROLLER contains controls for moving all object types in the Jack environment. Since this is a major part of working with Jack, it is constantly in view and easily accessible. Use the Hand Selector to select the object to move. Jack utilizes a Cartesian coordinate system, simply a triad of X, Y, and Z axes in space, to define position and orientation. You can enter the coordinates in the MOVE CONTROLLER or interactively move objects using the mouse.

Page 22: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 5

Move Controller

You can move a figure along the x or z-axis by holding down the left mouse button <LMB> or right mouse button <RMB>, respectively. To move the figure up (along the y axis) use the middle mouse button <MMB>. A large red arrow indicates the selected direction of movement. You can also rotate a figure around any axis by holding down the <Shift> key and <LMB> , <MMB> or <RMB>. The 3D Reference (XYZ) can be relative to a global reference or a local reference specific to an object. However, the coordinates displayed in the MOVE CONTROLLER are always global coordinates. LMB Translate along the x-axis MMB Translate along the y-axis RMB Translate along the z-axis

SHIFT LMB Rotate about the x-axis SHIFT MMB Rotate about the y-axis SHIFT RMB Rotate about the z-axis

Commands for moving objects with the mouse

Note: Simultaneously holding down two of the mouse buttons allows you to move objects in the plane spanned by the two corresponding axes.

Move - TO This feature allows any figure to be moved based on an arbitrary reference point. Jack already had the ability to apply "snap" to a human figure's H-Point; this feature makes it possible to snap, or indeed apply any other move, to any figure, based on any existing Site or Node.

Page 23: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 6

JT figures do not have native Jack geometry, and in particular, no Nodes. For these figures, the "Move By Node" is not available. However, "Move by Site" presents an alternate method of moving these figures when the root site is defined at the scene's global origin rather than local to the figure's geometry. Create a site on the object's geometry by using the "snap-to-cursor" move command to set the site location. Now one can move a JT figure by a site on the geometry which makes transformation adjustment more intuitive.

For human Figures, a Move By Site other than the root may contradict some behaviors or constraints. For example, requiring that an Arm "hold relative to object" and then trying to move the human by its shoulder! Be aware that some combinations may cause the human figure to "collapse" under the contradictory demands. It is usually best to only move a human when its Balance behavior is "release".

Global vs. Local Transformations Movement operations described so far operate along the global coordinate axis. It is sometimes convenient to translate or rotate along an axis associated with the figure itself. Global and Local Transformations provide a method to interactively position an object relative to the global environment or its current orientation.

Global Transformation

Page 24: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 7

Local Transformation

Snap to Geometry Direct manipulation is well suited for global or gross movements but it can be difficult to adjust things relative to other objects. The SNAP

TO options provides a powerful way to precisely position objects relative to each other. They are available anytime you are using the MOVE CONTROLLER. The different snap to options are described below and more detailed definitions can be found in the Appendix. Cursor Point Cursor Position Only Site Site Position and Orientation Site Position Site Position Only Site Orientation Site Orientation Only Node Positions Node Position Edge Line Closest Point to an edge line Edge Position Closest Point to an edge Edge Orientation Align to an edge’s orientation Face Position Closest Point within a face Face Center Center of a face Face Plane Closest point on a face plane Face Orientation Align to a face orientation Square Orientation Align to the global reference Ground Plane Move so the lowest node is at y=0 H-point to Site Move the human’s H-point to a site

Snap Command Definitions

Page 25: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 8

Graphics Window The GRAPHICS WINDOW contains the 3D scene. You can have multiple GRAPHICS WINDOWS with different camera views or attachments in each and the GRAPHICS WINDOW can be resized at any time. The computation, graphics, user interface, and the total processing rates are displayed in the upper right hand corner. Additional information describing the overall efficiency of the scene is also presented here.

Graphics Window

Page 26: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 9

Change View Changing the view is a very basic operation in Jack. A view change can be done at any time just by holding down the <Ctrl> key. Whenever the <Ctrl> key is depressed mouse movement manipulates the camera location. Releasing the <Ctrl> key returns operation to whatever you were doing before.

View Coordinate Reference

A yellow cross hair or coordinate frame will appear in the window when you change view. This represents the focus point or View Reference of the camera. Notice that as you move the mouse with the <LMB> pressed the camera rotates about the center focus point. The focus point stays fixed relative to the geometry as you do this. Notice the difference between side-to-side mouse movement and up/down mouse movement.

Mouse movement with the <MMB> pressed translates the camera. The focus point moves relative to the geometry during the translation. Again, notice the difference between side-to-side movement of the mouse and up/down movement. Finally, the <RMB> zooms the camera in and out on the focus point. The only functional movement with the mouse when zooming is up/down.

Page 27: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 10

Depressing the <Ctrl> and <Shift> keys simultaneously manipulates the scene by moving the View Reference. Notice that now as you move the mouse with the <LMB> pressed the geometry in the scene rotates around the camera. Pressing the <MMB> translates the focus point relative to the camera. The geometry moves relative to the focus point. Notice that the end result is the same as when only the <Ctrl> key was depressed. Finally, the <RMB> pushes or pulls the focus point away from or towards the camera. The only functional movement with the mouse when pushing or pulling the focus point is up/down. Command Result CTRL LMB Rotate the camera CTRL MMB Pan CTRL RMB Zoom CTRL + SHIFT LMB Rotate the View Reference CTRL + SHIFT MMB Pan CTRL + SHIFT RMB Push/Pull the View Reference

Commands for changing view with the mouse

Note: A great mnemonic device is to remember:

Ctrl = C amera Shift = S pin Figure

Context Sensitive Menus Context sensitive menus allow you to easily access menu options that are specific to a certain type of entity (human figures, non-human figures, segments, joints, sites, nodes). The <RMB> provides rapid access to these context sensitive menus. The OBJECT SELECTOR ICON (on the Toolbar ) controls the type of entity that will be selected and which menu options will appear when you press the <RMB>. The OBJECT SELECTOR will be covered in more detail in subsequent chapters.

Page 28: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 11

Context Sensitive Menus

The Window pop-up menu that appears provides access to basic view and window commands. The Window pop-up menu is available anytime you hold down the <RMB> over an area of the window where there is no geometry, no matter what the OBJECT

SELECTOR ICON is set to. Context sensitive menus differ for different objects, as they will display only the options relevant to that object. Picking with the Middle Mouse Button When objects (figures, segments, sites, joints etc) are overlapping, close together or obscured by other geometry it can be difficult to indicate unambiguously which one you wish to select. Sometimes simply manipulating the view can help. At other times, an alternative method of resolving the ambiguity is needed.

Page 29: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 12

In Jack the <MMB> provides a way to resolve this ambiguity during a pick. If multiple selections surround the pick position, a SELECT

ENTITY DIALOG will appear that contains a list of these selections.

Select Entity

Space Bar Completion If you know the name of a figure, segment, site or joint you are trying to pick it can be easier to just type the name rather than trying to pick it with the mouse. SPACE BAR NAME COMPLETION makes it even easier. This feature is available in most text entry boxes.

Space bar completion

Note: Names are case sensitive.

International Menus Jack 5.1 allows users to customize the menus. For more information on available menus or customizing your own Jack 5.1 menus, please contact UGS.

Page 30: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 13

Chapter 1 Tutorial: Jack’s Interface This exercise is an introduction to the basic workings of Jack’s Control Bar and Graphics Window. You will execute basic commands using the Icon Toolbar, manipulate objects using the Move Controller, and learn how to navigate in the Jack scene. You will also learn shortcuts that will help you work quickly in the Jack environment. Exercise: Control Bar Basics ⇒ Open the file Chapter1.env FILE>OPEN

⇒ Create a human figure using the Medium Male Icon or Medium Female Icon

⇒ View the options available under the various Menus

⇒ Try using the “tear off option ” from the HUMAN Menu.

⇒ Move the cursor over the human figure.

Note: The message window content shows the name of the human figure the mouse is positioned over.

Exercise: Object Selector ⇒ With the OBJECT SELECTOR set to Figure, Right Click on a human

⇒ Hit Esc

Note: The Context Sensitive Menu contains Figure op tions.

⇒ Hit the MMB once in the GRAPHICS WINDOW

⇒ Right Click on a human again

⇒ Hit Esc

Note: The Context Sensitive Menu now contains Segme nt options. ⇒ Hit the MMB several times in the GRAPHICS WINDOW

⇒ Left Click on the OBJECT SELECTOR

Note: The O BJECT SELECTOR only scrolls through Figure, Segment, Joint, and Site when you use the MMB.

⇒ Set the OBJECT SELECTOR to Figure again

Page 31: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 14

Exercise: Using the Mover Dialog ⇒ Select the Hand Selector icon in the MOVE CONTROLLER to initiate a move

command.

⇒ Use the LMB to select a crate in the GRAPHICS WINDOW.

⇒ Interactively move crate1 with the Mouse buttons. When you are finished hit ESC.

⇒ Type in Crate0 and hit enter to initiate another move. Use the Text Entry Box in the MOVE CONTROLLER.

⇒ Move another crate.

⇒ Move all the small crates until they are placed onto the racks in the scene.

Your completed scene should look something like this.

Hint: Use the MESSAGE WINDOW to find the name of another figure. ⇒ Type in new coordinates. Use the Text Entry boxes in the MOVE

CONTROLLER. When you are finished hit ESC.

⇒ Use the EDIT>UNDO Menu command.

Note: The object returns to its last position. Exercise: Snap to ⇒ Move a human up.

⇒ In the MOVER DIALOG, select Ground Plane from the Snap Drop Down List

Note: The human figure moves so that the lowest nod e is at y = 0.

Page 32: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 15

Snapping to the Ground Plane

⇒ In the MOVER DIALOG, select Node Pos from the Snap Drop Down List

⇒ Select a node on the crate

Note: The human figure moves to that node position. ⇒ In the MOVER DIALOG, select Site from the Snap Drop Down List

⇒ Select a site on the cube

Note: The human figure changes position and orienta tion. Try other snap features. Exercise: Global vs Local ⇒ Start moving a large crate.

⇒ Hold down the LMB and translate the large crate along the x-axis.

Note: The x-axis that the box translates along is t he x-axis of the world. ⇒ Rotate the large crate about the y-axis. Approximately 45 degrees

⇒ Click on the local option in the MOVE CONTROL.

⇒ Hold down the LMB button and move the mouse to translate the large crate along the x-axis.

This time, the box translates along its own x-axis. Note: The local transform is interactive only. The values in the MOVE CONTROLLER are still relative to the global environment. ⇒ Experiment with local translations along other axes using the other mouse

buttons

Page 33: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 16

Local transform

⇒ Hit the Space Bar once to toggle back to moving along the global coordinate

axes

⇒ Hold down the LMB to see the result

⇒ Hit the Space Bar to toggle back to moving along the local coordinate axes

Exercise: Navigating the Jack Scene ⇒ Press and hold the CTRL key

Note: This Hot key initiates a Change View command. While the CTRL key is pressed a yellow cross hair appears in the window. This is your V IEW REFERENCE or focal point. ⇒ Use the Mouse buttons to navigate (Rotate, Pan and Zoom) the Jack scene.

⇒ Move the Jack’s palm to the VIEW REFERENCE. Notice that the camera now rotates around Jack’s palm.

⇒ Practice moving the VIEW REFERENCE to other objects

Make sure you try all the combinations of Mouse Buttons as well as the Shift Key. Exercise: Context Sensitive menus ⇒ Create a human figure

⇒ Right Click RMB on the human figure.

Examine the menu selections available.

Page 34: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 17

Note: The Move Command is also available in these m enus. ⇒ Right Click RMB in an open area in the Graphics Window. (Not on a figure)

Note: A menu appears in the G RAPHICS WINDOW with different menu options. Try selecting other objects in the Ja ck scene and note the menu selections. ⇒ Right Click RMB on the human Figure again.

Select the Snap View from the context sensitive menu.

Note: Notice the movement of the V IEW REFERENCE. Try snapping the view to other objects in the environme nt. ⇒ Next, Right Click RMB on the Human to access the Move command through

the context sensitive menu

⇒ Manipulate the figure. When you are through hit ESC.

Exercise: Picking with the MMB ⇒ Zoom the view onto the left hand of your human

⇒ Open the SITE PROPERTIES DIALOG from OBJECT > PROPERTIES > SITE PROPERTIES

⇒ Next, select a site on the palm using the MMB.

You may have to adjust the view over two sites. ⇒ When the SELECT ENTITY DIALOG appears, scroll through the selections and

note the highlighting in the graphics window.

⇒ With the select entity dialog still up use the MMB on the hand again

⇒ A new list should be generated

Select Entity for Sites

Page 35: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 18

Exercise: Space bar completion ⇒ Create another human and open crate.fig

⇒ Open the FIGURE PROPERTIES DIALOG from the OBJECT->PROPERTIES menu

⇒ Rather than picking a figure with the mouse, click in the Figure Name Entry Box .

⇒ Type the letter C

Note: Figure names are case sensitive. ⇒ Hit the space bar

The space bar completes the name as much as possible. ⇒ Hit the Tab or Enter to accept crate

⇒ Clear the figure name in the PROPERTY DIALOG by highlighting with mouse and hitting the backspace

⇒ Type the letter h and hit the space bar

The space bar completion will fill in human and beep. The beep indicates that the name could not be completely resolved. Note: File names are also case sensitive.

Page 36: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 19

Chapter 2: File Management Native Jack Files Jack provides a powerful hierarchical modeling capability that allows you to import or build articulated figures. The hierarchy is a familiar inverted tree structure, with individual objects having parent and child relationships. This is a very effective way to define even complex systems of interconnected parts - such as the human body. The diagram below illustrates the hierarchy graphically:

Jack Modeling Hierarchy

Environment (Command: File�Save�Scene) At the highest level, systems are defined as scenes or environment structures. The environment is a collection of “figures.” Each figure consists of one or more “segments.” Segments in a figure are connected to each other by joints. In other words, a figure is an assembly of segments. More importantly, the environment contains information required to regenerate a particular scene (for example: relative locations between figures, joint positions, size, and other constraints). These files have the extension .env. .env files contain:

• References to Figure Files (.fig) and Segment Files (.pss) - Figure and Segment Files can also be embedded in the

.env file • Relative Locations of the Figures • Joint Angles/Positions • Geometry Scaling

Page 37: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 20

• Constraints and Attachment Information .env files are also stored as ASCII text and can be opened/edited in a text editor. Environment files can reference the .fig and .pss files. This allows the user to reference one .fig or .pss file multiple times in the same environment file or in multiple environment files. This can help reduce the overall size of files associated with a given project. This is also useful if a figure is modified. If you would like to have that modified figure in every environment file in which it is referenced, replacing the old .fig file with the new .fig file will automatically make the changes to the files that reference that .fig file. This is also applicable to .pss files referenced in an .env file. If changes are made to the figure that occur more than once in an environment or a figure that is used in multiple environments, you will need to save the .fig file when prompted. If you do not save changes to the figure, the .fig file will be written to the .env file. Therefore, if you don’t save the figure, the .fig file will be embedded in the .env file. Other .env files cannot reference .fig files that are embedded in an .env file. To create a .fig file from a figure embedded in an .env file, simply open the .env file and save the figure. If you resave the environment, the .fig file will be referenced in the .env file. The .fig file will no longer be embedded in the .env file. It is a good idea to save the .fig file after you make any changes or before saving the .env file. This is only necessary if you modify the figure. If you have already saved changes to a .fig file, you will not be prompted to save the figure when you save the .env file. Note if you change visibility this will flag Jack to prompt you to save the .fig file when you save the .env file. If you say yes, the visibility changes will be written to the .fig file. If you say no, the visibility changes will be written to the .env file. It is important to understand what is not saved in an environment file. Reflections, view cones, skeletons, traces, ghosts, projections, and support glyphs are not saved with the .env file. Note: An Environment File (.env) includes all the i nformation required to recreate a scene. It contains informati on defining relative locations between figures, joint positions , size, and other constraints.

Page 38: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 21

Figures (Command: File�Save�Figures) Figures are a collection of one or more segments, as well as any associated sites, colors, and joints. This data is stored in a Figure (.fig) file. Figure files contain references to segment files (.pss), sites, material properties, and joint connections.

.fig files are also stored as ASCII text and can be opened/edited in a text editor. Figure files can reference the .pss files. This allows the user to reference one .pss file multiple times in the same figure file or in multiple figure files. This can help reduce the overall size of files associated with a given project. This is also useful if the geometry is modified. If you would like to have that geometry modified in every figure file in which it is referenced, replacing the old .pss file with the new .pss file will automatically make the changes to the files that reference that .pss file. If changes are made to the geometry, you will need to save the .pss file when prompted. If you do not save changes to the .pss file, Jack will use the last saved version of the .pss file. Therefore, if you don’t save the .pss file you will lose any of the changes you have made to the geometry. It is a good idea to save the .pss file after you make any changes to the geometry. This is only necessary if you modify the geometry. This includes merging or splitting segments. The addition of sites, joints, and changes in material properties are saved to the .fig file so there is no need to save the .pss file if you make any of these changes. Note: A Figure File (.fig) includes information abo ut which segments make up the figure, sites, colors, and joi nts connections. (Joint connections and limits are reta ined when a figure file is saved. Joint angles information is n ot contained in a figure file.) Select the Include attributes ch eck box to save attribute information (for example, color selection s) Segments (Command: File�Save�Psurf) Segments make up the lowest level of the hierarchy. They consist of tessellated geometry data that makes up an object. This data is stored as ASCII text in a Psurf (polygon surface) file that can be opened with any text editor. This format is consequently easy to view and edit. These files have the extension .pss. Two sample

Page 39: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 22

Psurf files are shown below in order to illustrate how segments are constructed. Note: Remember the properties of the different file types. A Psurf (.pss) file, also referred to as a segment file, only contains information defining a segment's geometry. A Figure File (.fig) includes information about whi ch segments make up the figure, sites, colors, and joints conne ctions. (Joint connections and limits are retained when a f igure file is saved. Joint angles information is not contained in a figure file) An Environment File (.env) includes all the informa tion required to recreate a scene. It contains informati on defining relative locations between figures, joint positions , size, and other constraints. Manipulations (Command: File�Save�Manipulations) A scene or figure whose positions you want to use again later may be saved as an .env file. Select the Include Camera check box to save the coordinates of the current camera viewpoint coordinates. Manipulations save the figure positions and joint angles. When loaded they allow you to reposition your loaded figures.

File Archiving (Command: File�Archive�Save File to Archive)

The save file to archive feature allows users to save a file to a specified directory, to be saved as one zip file, or both. Archive files are now written out compressed, generally resulting in much smaller file sizes, especially when using psurf-only geometry.

Page 40: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 23

Save File to Archive Dialog

Import (Command: File�Import) Jack is intended to be used with other design and analysis software packages. Thus, geometry import and export capabilities are necessary to allow the transfer of data to and from Jack. Typically, you will bring geometry data for the scene to Jack from external sources, perform your analysis, then export geometry to downstream processes for further use. Objects can be imported from CAD programs, opened from object libraries, or even created from basic CAD figures from within Jack. Import Formats Jack can directly open Vis (.jt) files and can import Vis (.jt), VRML 2.0 (.wrl), IGES(.igs, .iges), stereolithography (.stl), inventor (.iv), and optimizer (.csb) files directly. Command line translators are

Page 41: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 24

also available for these formats. In this chapter we will translate files from several of these formats. Translation can be accomplished from both the command line and directly from within the program. Format File Extension Vis (.jt) VRML 1.0 (.wrl) VRML 2.0 (.wrl) IGES 5.3 (.igs) Stereolithography (.stl) Inventor 2.1 (.iv) Optimizer 1.1 (.csb) Performer 2.1 binary (.pfb) Deneb IGRIP 1.2 parts (.igp, *) Cyberware (.cyb) BYU (.g) Visualization Toolkit (.vtk) Marching cubes (.tri)

Import Formats for Texture Mapping & Visualization Jack has the capability to use all of the above translators, and each has its own benefits and limitations. This section discusses the most commonly used translators and their features. Vis (.jt) files when opened directly will support textures, however when .jt files are imported into a scene the textures will be lost. VRML 2.0 is the only file format that will support textures when imported. The IGES 5.3 file format will import wireframe data. Import Options Several optimization and CAD options are available when importing data through the FILE�IMPORT menu. In addition, basic scaling for certain file types is available and the object type output by the translator can be changed. You can control what type of file is output using the Jack Type option. Jack type Output Psurf 1 pss file Figure 1 fig file and corresponding pss files Environment 1 env file and corresponding pss files

Page 42: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 25

Note: JT files can also be directly opened within t he jack environment. No node-based operations, such as Snap To face or node, are available for directly opened JT files . Functionality that allows the user to snap to a cur sor point has been added to facilitate working with directly open ed JT files. JT Features

Benefits:

• Direct Load (Improves load time by factor of a factor of 10 in many cases; Increases geometry handling capabilities including frame rate and size of files that can be loaded)

• Geometry should come in as it would in VMU (Appearance of JT geometry is much better that of same geometry imported using another format.)

• Swapping: This will enable users to access all the functionality not available with JT. The context menu can be used to access this functionality. Turns visibility of JT segment off and replaces with psurf. Note that textures will not be maintained.

• Environment files referencing JT can be loaded into Jack and VMU

Limitations:

• Joints within a JT figure: Segments within a JT figure can be jointed, however, joints cannot be created between a JT figure and another figure (native Jack or JT geometry). Attachments can be used to create the same type of behavior.

• Access to nodes, faces, and edges (includes no geometry editing capabilities): Several features have been added in Jack to help compensate for this.

- Zoom to: Allows users to zoom into any geometry in the scene (including JT).The first piece of geometry in line with the cursor will be selected - Snap to Cursor Point: Same behavior as above but works with move dialog.

• Collision detection is not supported with JT geometry: Use psurf swap to perform collision detection

• Joints created within a JT figure will not be maintained in VMU environment

• A single part of a .jt assembly cannot be loaded individually • Segment highlighting may not work on all files • Adjust Displacement: Can be used to move segments without

creating a joint.

Page 43: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 26

Translate Segment from JT (Command: Edit�Translate Segment from JT) In order to translate a single part/segment of a JT file, select “Translate segment from JT” either on the segment context sensitive menu or from the Edit menu. This option is also available from your segment context sensitive menu which is discussed in the next chapter. The original JT part will still exist but the visibility will be turned off. The translated part will constitute a separate figure, but is attached to the jt figure.

Functionality Psurfs JT

Translate to Native Jack ● ●

Display Assembly Hierarchy - ●

Display Settings ● ●

View Snap ● ●

Snap to Sites ● ●

Snap to Vertices ● -

Collision Detection ● -

Add Sites ● ●

Reroot Figure or Assembly ● ●

Rejoint Segments or Parts ● -

Move Figure or Assembly by Site ● ●

Move Figure or Assembly by Vertex ● -

Attach Figure To ● ●

Joint Psurf Segment to Figure or Assembly ● -

Joint Figures or Assemblies Together ● -

Edit Materials ● -

Texture Map ● Only in TcVis

Edit Geometry ● -

Create in Jack ● -

Trace, Ghost, or Create Swept Volume ● -

Export to VRML or IGES ● -

Page 44: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 27

Decimate Decimate is an external program used to translate .stl and .pss files. It is also useful for reducing the number of polygons. It is possible to run decimate in either command (batch) mode or in interactive mode. Note: Before a file can be decimated, all of the po lygons in the image must be triangulated. The decimate program ca n be used to triangulate these files as well.

Batch Translate Files (Command: File�Batch Translate Files) This command allows you to translate multiple files of the same format into Jack native (.pss) files. The translated files will be saved to the default home directory.

CAD Export (Command: File�Export) VRML or IGES output of a Jack scene is an option for generating 3-D version of you scene that you can share with others that don’t have access to the Jack software. Jack can export individual figures or the entire Jack Scene. VRML Export (Command: File�Export�VRML 1.0) Jack exports VRML 1.0. In both cases the segment definitions are preserved in the VRML format. Assembly information, however, is not saved.

VRML Export Dialog

Page 45: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 28

IGES Export (Command: File�Export�IGES 5.3) Jack also exports IGES 5.3. IGES export includes the option to save polygonal data as Bound Plane or Trim NURBS data. Selecting the preserve hierarchy option will maintain segment definitions (parts).

IGES Export Dialog

Capturing Images (Command: File�Screen Capture) Much of a designer or engineer’s job when using Jack is centered upon presenting analysis results for use in reports, design reviews, company intranets, documentation, and even marketing. This chapter will cover tools for creating high quality images, movies, reports, and presentations using Jack.

Page 46: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 29

Screen Capture

Screen images can be generated easily and imported into other applications. They can be included in documents, presentation, e-mailed to colleagues and even placed on web sites.

Image Dialog

Screen Capture Notice that you have the choice of several different file types to save the image as. The options are slightly different for the Windows and UNIX versions of the software. It is important to specify the proper extension for the file type you select.

Page 47: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 30

Rendering Selecting the Rendered check box generates a multi-pass rendered image of the window. This will smooth jagged edges (anti-alias) in the window image. Rendered images will take longer to create because of the drawing process. External Applications There are cases where you may want to capture screen images interactively, including areas outside of the GRAPHICS WINDOW. You may want to capture the entire screen, including Jack’s graphics, message, and command window or you may want to capture an image as you do something in Jack (e.g., to show the adjust joint or move glyphs during a manipulation). Platform Command Result Windows PrtScr Captures the entire screen Windows Alt + PrtScr Captures active window SGI type snapshot in shell Starts SGI screen capture utility

Page 48: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 31

Chapter 2 Tutorial: File Management This tutorial will introduce you to the Psuf, Figure, and Environment Files. You will also learn how to open files, import and export geometry, and how to capture images in Jack.

Exercise: Loading an Environment file ⇒ Delete the Scene from EDIT>DELETE SCENE

Note: This command will delete all objects in your graphics window.

⇒ Select the File Open icon

Note: The O PEN FILE DIALOG is a standard Windows format.

Open File Dialog

⇒ Select the file Chapter2.env from the Training folder and hit the Open button.

This command will close the OPEN FILE DIALOG and load a previously saved environment into your graphics window. Your graphics window should look similar to the following.

Page 49: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 32

Chapter_2.env

⇒ Move the cursor over the human figure and the boxes (do not select anything) .

Note: The message window content changes when posit ioned over the cubes or the human figure. Exercise: Saving Figures and Segments ⇒ Open barrel.fig (this is a figure file)

⇒ Save the segment barrel FILE>SAVE>PSURF. Select Save Segment PSURFS.

⇒ Select the barrel as the segment you are saving and select OK.

⇒ Name the barrel segment newbarrel.pss

⇒ Open newbarrel.pss . OPEN>FIGURE>NEWBARREL.PSS

Note: The barrel.fig file saved material colors. Fi gures save scale and color; segments (or PSURFS) do not save c olor. ⇒ Add more barrels to your scene, and stack them in a corner.

⇒ Save your changes by saving the scene/environment (Name your scene MYChapter 2.env ) FILE>SAVE>SCENE.

Exercise: JT Open and JT Import ⇒ Delete the scene EDIT->DELETE SCENE and select the FILE->OPEN option

⇒ Choose the file Jack_Cell3.jt in the folder Files for Import Export

Page 50: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 33

⇒ Select Open

⇒ Notice the JT file of a workcell comes in rotated about Jack’s grid.

Jack_Cell3.jt when OPENED

⇒ Move the entire JT Figure by selecting the move controller and rotating the figure -90,0,90.

Note: Many files coming from CAD systems will need to be translated (or moved) by rotating them if you wish to have the file align to Jack’s grid. That is because in Jack Y=Up and in CAD Z=Up.

⇒ Open the OBJECT HIERARCHY

Page 51: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 34

Object Hierarchy Assembly Tab after IMPORTING a JT File

⇒ Expand the figure and segment lists. Notice that the ASSEMBLY tab expands to show you the original assembly of the JT figure. This is only available when you open a JT directly.

⇒ Now lets IMPORT the same JT file (Jack_Cell3.jt)

⇒ Delete the scene to start with a clean slate EDIT->DELETE SCENE and select FILE->IMPORT

⇒ Select the file Jack_Cell3.jt

⇒ Select TRANSLATE

⇒ The file is now being translated. Once it has completed you should see the word SUCCESS. Hit CLOSE on the Import Log Window.

⇒ Now lets review the Object Hierarchy again. This time you should not see any files in the Assembly Tab. However if you expand the figure Jack_Cell3 in the Flat Tab you should see all the segments of the file.

Object Hierarchy Flat Tab after Opening a JT File

Page 52: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 35

⇒ What is the difference between JT IMPORT and OPEN? JT IMPORT translates all the parts of the assembly to Jack figures and segments. JT OPEN keeps the files as JT within Jack.

Exercise: IGES Import and Export First we will open the file MYChapter2.env, then we will import and export iges files. ⇒ Delete your scene EDIT->DELETE SCENE

⇒ Select the menu option FILE->OPEN and choose MYChapter2.env. If you did not save a MYChapter2.env, you can use the file in the folder with the name Chapter3.env.

⇒ Select the menu option FILE->IMPORT, then select IGES from the filter pull-down.

⇒ Choose the file iges_solid.iges from the Folder Files for Import Export

⇒ Select TRANSLATE

⇒ Select CLOSE on the Import Log Window once you see the import was a SUCESS

⇒ You should see a small part in the center of the grid. You have now imported an iges file. You may need to move your human to see the part.

⇒ Select the menu option FILE->EXPORT->IGES 5.3

⇒ Notice you have the option of exporting a single figure or the entire scene.

⇒ Select Single Figure

⇒ Select the hand and choose a barrel in your scene and hit OK.

⇒ Name the barrel and hit SAVE

⇒ You have now exported an Iges version of the barrel.

Exporting a Single Figure to IGES

Page 53: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 36

Exercise: Jack’s Image Capture ⇒ Use MYChapter2.env for this section. If you already have it open you can

proceed to the next step. If you do not have a file named MYChapter2.env then you can use Chapter3.env.

⇒ Select the menu option FILE->SCREEN CAPTURE

⇒ Notice you have the option of capturing any Jack window.

⇒ Choose the TJ Window if it is not already selected.

⇒ Click Ok. You should now see the Save As menu come up.

⇒ Name your new screen capture file (it will be .jpeg file format)

⇒ Hit the Save button. You have now created an image file.

Exercise: Alternate Screen Capture Methods ⇒ (NT) To copy an image of the entire screen, press the PRINT SCREEN key

⇒ (NT) To copy an image of the Window that is currently active, press Alt+PRINT SCREEN

⇒ (NT) Paste this image in a document in applications such as Word, Power Point or Paint using the Paste option on the Edit menu

⇒ (SGI) Type snapshot at the Unix shell prompt.

You will see the snapshot control button appear over the Jack window. ⇒ (SGI) Move the mouse over the snapshot button; press and hold the Ctrl key

– the cursor should change to the image of a camera.

⇒ (SGI) Click and drag the “rubber band” box over the screen area you want to capture.

You should see the red bounding box for snapshot. ⇒ (SGI) Move the mouse cursor to the snapshot button, and click the right

mouse button. You should see the snapshot menu.

⇒ (SGI) Select the “Save as snap.rgb ” option. The file will be placed in the directory where you launched Jack.

⇒ (SGI) Quit ‘snapshot’ by moving the mouse over the ‘snapshot’ button and selecting the exit option from the menu.

Page 54: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 37

Chapter 3: Editing the Jack Environment The Jack environment can be edited using commands such as undo, delete, and scale. You can also edit materials in the environment, add textures to figures in the environment, or customize your environment by changing background colors.

Undo (Command: Edit�Undo) Use this command to undo the last completed command. Multiple invocations of the undo function will step backwards through the command history.

Delete Scene (Command: Edit�Delete Scene) Use this command to clear the Jack window of all objects in the environment.

Scale (Command: Edit�Scale�Scene/Figure/Segment) Jack allows you to scale segments, figures and the whole environment. Notice that the SCALE FIGURE DIALOG allows for both uniform scaling in all directions and non-uniform scaling where each axis is scaled by a different amount.

Scale Figure Dialog

Note: When scaling the whole environment, human fig ures will not be scaled. Human figures are scaled in a separa te dialog using anthropometry.

Page 55: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 38

You also have the option of scaling interactively – the change will take place immediately – or waiting for the Apply button to be picked to have the scaling take place. The scale factor when you scale interactively is always relative to the size of the figure or segment when it is selected. The size indicated by a scale factor of 1.0 does not change. Another option is scaling relative to the global or local axis. This effect is noticed when the object is rotated. When scaling relative to the global axis the object may appear to distort. Note: Global scaling is not saved in Jack’s .env or .fig format. To recreate this effect the effected segment must be saved globally as a psurf.

Materials (Command: Edit�Materials) One of the most basic display parameters in jack involves color. In Jack, the appearance of objects in the environment depends on the material properties of the surface as well as the parameters of the light sources in the scene. Color Predefined or user defined colors can be used when creating materials. These are three component RGB color definitions that are used to define the ambient and diffuse parameters in a specific ratio. The parameters of the surface materials are: Ambient: The color of the surface when not illuminated by a light sources.

Diffuse: The color of the surface when illuminated by white light.

Specular: The color of the specular highlights of the object.

Glossiness: An integer exponent describing the specular scattering of the surface. The lighting model simulates specular highlights using the cosine of the angle between the viewing direction and the reflected light ray, raised to the glossiness exponent. If this exponent is large (approximately 50), the specular highlights are small and focused. If the exponent is small the highlights are broad.

Page 56: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 39

In most cases, objects will be assigned a material color from the CAD system; however, Jack will randomly assign colors if one is not provided.

Material Properties Dialog

Page 57: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 40

Note: Material names are associated with the defaul t color the object was assigned when it was loaded. Changing th e color will not change the material name.

Textures (Command: Edit�Textures) Texture maps are a useful way to add interesting detail and realism to your scene without adding a lot of extra geometry. Jack uses the concept of a texture plane to determine how to map the image file onto the surface or surfaces you select. The relative position and orientation of the plane and the texture faces determine how the image will be projected.

Texture mapped Monitor

Key Bindings (Command: Edit�Key Bindings) Predefined Shortcuts As with many software packages, menus in Jack can be accessed using the <Alt> or <Ctrl> key plus the underlined letter in the menu name as an alternative to picking the menu item with the mouse. Jack predefines two such key combinations: <Ctrl-e> and <Ctrl-v> . The <Ctrl-e> combination invokes the Adjust Joint Dialog while the <Ctrl-v> combination invokes the Change View Dialog. Custom Shortcuts In Jack, custom key bindings, or “hot keys”, can be created for any menu option and for any Tcl script (more about Tcl in later

Page 58: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 41

chapters) to allow quick selection without using a mouse. Any hot keys that you define are remembered until you change them.

Key Bindings

System Defaults (Command: Edit�System Defaults) Jack allows you to customize many features within the working environment. The SYSTEM DEFAULTS DIALOG contains settings and controls for the graphics window and the system. Any changes that are made to the System Defaults will remain in effect until the Factory Defaults are restored. This dialog has several tabbed pages that define the current system defaults for various components of Jack. To display a page, click its tab. To modify any system default, select the appropriate page, make desired changes, and then click the Apply button to save all changes on all pages. If you dismiss the dialog without applying the changes, you lose all changes since opening the dialog or the last time you clicked Apply . The pages available from the System Defaults dialog are (see Appendix for more details):

• Color: Defines colors used in the Jack environment. Among objects with colors defined on this page are: background, grid, site, node, and rotation wheel.

• Graphics: Specifies how objects appear in the Graphics Window.

Page 59: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 42

• Solver: Defines parameters used to control the 3D geometry solver used by Jack.

• UI: Determine how the user interface (UI) handles warnings from library files, whether dialogs always remain on top of the Graphics Window, and how many files to retain in the most recent file list (on the File menu).

• Units: Selects units of measure preference (English vs. metric) and magnitude (e.g., mm, cm, m). Also specifies increment (e.g., .5, 1, 2, ...) in units selected. You can specify units for angle, density, distance, force, mass, torque, and volume.

• Viewers: Select and define parameters used by the Graphics Window viewers. (To improve performance adjust the screen size culling and fixed frame rates)

• Jt Options: Allows jt parts to be rotated when opening.

System Defaults Dialog

Page 60: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 43

Chapter 3 Tutorial: Editing the Jack Environment This tutorial with allow you to customize your work environment by changing materials and colors of geometry and your workspace. The features overviewed in this tutorial will allow you to create realistic looking environments. Exercise: Figure Scaling ⇒ Delete your current scene by choosing EDIT->DELETE SCENE

⇒ Open the file Chapter3.env

⇒ Lets change the size of one of the barrels.

⇒ Choose scale from EDIT->SCALE->FIGURE Notice you have the option of scaling the whole scene, a figure, or a segment.

⇒ Using the hand selector, select the barrel as the figure you would like to scale.

⇒ Select the local scaling option.

⇒ Use the arrows to adjust the size up and down. You can scale by all axes or individual axes.

Note: The entire figure changes size interactively when you have the Update Interactively box checked. ⇒ Dismiss the SCALE DIALOG

⇒ Rotate the barrel approximately 30 degrees about the Z-axis

⇒ Open the FIGURE SCALE DIALOG again

⇒ Pick the barrel again

⇒ Select the global option instead of the local option.

⇒ Scale the X and Z axes by 5

Page 61: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 44

Note: The barrel becomes distorted because it is sc aling the object along the global axis.

Distorted Barrel

⇒ Scale the X and Z axes back to 1

⇒ Select the local option

⇒ Scale the X and Z axes by 3

Note: The figure is not distorted this time because the figure is scaled along its local coordinate system. Exercise: Scaling the Environment ⇒ Create a human

⇒ Select Edit---Scale---Scene

Page 62: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 45

⇒ Type in 1 for X, 10 for Y, and 1 for Z and hit apply

Note: An information dialog will appear which state s humans are not scaled in the scene. ⇒ Hit OK.

Note: Scaling the Environment scales everything glo bally. ⇒ Type in 10 for X, 1 for Y, and 10 for Z and hit apply

Note: Now everything has been scaled up except huma ns along every axis.

Exercise: Color Parameters ⇒ Delete the scene and re-open Chapter3.env.

⇒ Lets change the color of the barrels.

⇒ Open the EDIT->MATERIALS->MATERIAL PROPERTIES menu

⇒ Select one of the faces on a barrel.

⇒ Select a predefined color or create your own by adjusting the ambient, diffuse, and specular options.

⇒ Hit APPLY.

⇒ You have now changed the color of the barrel to your new color.

⇒ Use these same steps to change Jack’s shirt and pant colors.

Exercise: Texture mapping ⇒ Now we are going to apply a texture to the top of the table you see in your

scene. Move your view over to the table.

⇒ Select the EDIT->TEXTURES->CREATE TEXTURE OBJECT menu option

⇒ Select plane for the object type and hit the Create button. This will create the texture plane to project the image through.

⇒ Move the texture plane in front of your table top and align it with the top face of the table using the Align to Face pick button. Note: You can move the texture plane just like any other figure in the scene.

⇒ Select the texture file using the Browse button. Look in the Textures Folder, and select a texture.

⇒ Hit the Apply button

⇒ Notice that the texture plan now displays the image file you selected. The texture mapping dialogue box has automatically switched to the second tab.

⇒ Position the camera, the table, and the texture face so that when you look through the texture plane at the cube the image in the texture plane falls where you want it to be on the table.

Page 63: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 46

⇒ Select the top two faces of the table as the faces you want texture mapped as the target

⇒ Click the Tile Texture button off

⇒ Hit Apply

⇒ Move the texture plane out of the way so you can see the cube (you can delete the texture plane if you want)

⇒ You should now see the texture on the table top.

Texture mapped tale top and texture plane in move m ode

Exercise: Hot Keys (Shortcuts) ⇒ Select the EDIT->KEY BINDINGS menu option

⇒ Click on the <Control-Key-e> and then Edit button

Note: Ctrl+e is bound to the ADJUST JOINT DIALOG . You can change the binding if you wish. ⇒ Enter a p in the Key Stroke text box , and pick the Control option

⇒ Select menu pick for the type of thing to bind.

⇒ Expand the human menu by clicking on the box next to the word Human . Select the Properties option

⇒ Click on the Bind button to add to list of key bindings. Hit Apply to actually have the key binding take affect

⇒ Dismiss the KEY BINDING DIALOG

⇒ Type Ctrl+p . The HUMAN PROPERTIES DIALOG should be on the screen.

Page 64: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 47

Note: Key bindings will still be set next time you use Jack. You don’t have to reset the shortcuts every time you use Jack.

⇒ Open the KEY BINDINGS DIALOG again

⇒ Click on the <Control-Key-p> in the list of key bindings

⇒ Click on the Edit button

Notice that this shows what is currently bound to the Ctrl+p . You can change the binding if you wish.

Page 65: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 48

Exercise: Customizing the workspace ⇒ Open the SYSTEM DEFAULTS DIALOG from EDIT>SYSTEM DEFAULTS

⇒ Change the Background color under the COLOR TAB

⇒ Change the units displayed under the UNITS TAB

Note: Jack allows you to customize many features wi thin the working environment. Try changing other values in t he SYSTEMS DEFAULTS DIALOG and note the changes.

System Defaults Dialog: Color and Units Tabs

Page 66: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 49

Chapter 4: Changing Your View of Jack This section includes information on changing the visibility of figures, creating new window sets, and the state of figures (wireframe, transparent, etc). It also discussed options for viewing the environment.

Center All (Command: View�Center all) This feature will reposition the entire scene in the center of the workspace.

Zoom To (Command: View�Zoom To) Zooms into the point selected on the screen.

Make All Figures Visible (Command: View�Make All Figures Visible) This command will unhide all objects previously made invisible. This is a global command that will turn every figure and segment on in the Jack scene.

Toggle Segment Visibility (Command: View�Toggle Segment Visibility) This command will reverse the visibility of all objects in the environment. This will globally toggle the visibility of every segment in the Jack scene.

Before and After Toggle Segment Visibility

Page 67: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 50

Shade Scene (Command: View�Shade Scene) This command will convert wireframe objects to shaded objects.

Wireframe Scene (Command: View�Wireframe Scene) This command will convert shaded objects to wireframe.

Figure Projections (Command: View�Figure Projections) Note Jack also provides a method of creating orthographic views within the Perspective windows. These PROJECTIONS are viewed on planes defined by the edges of the ground plane. Projections are very useful for helping to position objects in three dimensions. Projections are more compact than opening multiple windows and can save having to continually adjust the view to make sure that two objects are properly positioned.

Human Figure Projections

Textures On/Off (Command: View�Textures On/Off) This command will toggle the display of texture maps on and off.

View Control (Command: View�View Control)

Page 68: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 51

Most of the time you will control the view simply by holding down the <Ctrl> key. However, additional options for manipulating the view are accessible from the VIEW CONTROL DIALOG. The VIEW

CONTROL DIALOG allows you to set the position of the camera.

View Control Dialog

This dialog gives you options for changing or setting specific view parameters for Jack GRAPHICS WINDOWS. You can use the icon to select specific GRAPHICS WINDOWS. Camera Position and Orientation (Command: View�View Control) The camera position in the GRAPHICS WINDOW is defined in terms of a global vector. You can edit the XYZ Translational and Orientational aspects of this vector in the Text Entry boxes. Camera Field of View (Command: View�View Control) Jack defines the view in the GRAPHICS WINDOW using a Field of View Angle. This angle measures the vertical and horizontal dimensions of the viewing frustum. You can change the field of view by editing the appropriate entry box.

Page 69: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 52

Field of View set to 40x40 degrees and 100x100 degr ees

Note: Do not use the Field of View as a means of zo oming in and out on objects. With extreme angles the View co mmand can become difficult to manipulate. Also, lowering the Field of View will not create a 2D-window effect. Jack has 2 D-windows for this purpose. These will be covered later. Snapping and Attaching View (Command: View�View Control) Snapping the view is a convenient way to explicitly control where the focal point of the camera is relative to objects in the scene. The snap function is the same command available in an Object’s Context Sensitive Menu. Attaching a camera allows you to connect the camera to a particular object in the scene. The camera will keep the same relative position to an object as it is moved in the environment. When the view is attached to a site the view is always oriented to look down the local (–Z ) axis of the site. Attaching a camera view is very useful for creating views from the human’s eyes. Sites with the z-axis pointing into the head (and thus the –z pointing out) already exist on the head (between the eyes) and on each eyeball. We will learn more about this in the next chapter.

Page 70: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 53

Named Views (Command: View�Named Views) Frequently used views can also be saved allowing you to easily position the camera in a specific location. This camera location can then be used in this environment, as well as in other environments you may be working with. This is a useful tool for capturing images for presentation material.

Named Views Window

Window Parameters Manipulating views in Jack is key to effective interactive use and, ultimately, your productivity. This section covers some advanced viewing and window management operations that allow you customize how you see your scene in Jack. Perspective and orthogonal views are available in the create windows option. The user can display both perspective and orthogonal views can be displayed simultaneously, or two perspective or orthogonal views simultaneously.. Create Windows (Command: View�Create Windows)

Page 71: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 54

Since much of the work you do in Jack involves interactive feedback in the GRAPHICS WINDOW, Jack provides the ability to create and look at multiple views. Window Sets (Command: View�Window Sets) This command will arrange the display of the Jack environment into the specified window arrangements: Full Screen (the default view), Four Panels, Two Panels/Vertical, Two+One/Vertical, and Two+One/Horizontal.

4 Panel Layout - 1 Perspective 3 Orthogonal

Note: In 2D windows the view cannot be rotated. Pan and zoom are the only controls that can be used to chan ge the view.

Current Windows (Command: View�Current Windows) This command allows you to select which window in the set to display as the current (working) window.

Stereo Properties (Command: View�Stereo Properties) You can immerse yourself into Jack’s world with the latest in virtual reality techniques, including stereo glasses, boom- or helmet-mounted displays (HMDs), CyberGlove, full-body motion tracking,

Page 72: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 55

or the Monkey posture input device. This command allows the user to set up the stereo viewing window parameters.

Page 73: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 56

Object Hierarchy (Command: View�Object Hierarchy) The OBJECT HIERARCHY provides an alternative view of your scene that clearly shows the relationship between different figures and their component parts. It can be expanded or collapsed to help view the current scenes underlying structure. It initially contains a listing of all Figures in the current environment. These individual Figures can be expanded to display their segments and joints. Individual segments can be expanded to access their sites. Finally, individual joints can be expanded to display the connection segment-site combinations.

Object Hierarchy Window

The OBJECT HIERARCHY can be used to select specific objects as well as access context sensitive menus <RMB>. This is a useful feature when you know the name of the object you wish to manipulate but do not know its location in the environment.

Page 74: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 57

Object Hierarchy

Toggle Log Windows (Command: View�Toggle Log Window) This command will toggle the display of the Jack log file.

Toolbars (Command: View�Toolbars) This command allows the user to customize the display of the Icon Toolbar.

Page 75: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 58

Chapter 4 Tutorial: Changing Your View of Jack This tutorial with allow you to move around in the Jack scene and set the environment up to allow for optimum visibility of key areas of interest using multiple viewing windows. Within this tutorial you will also work with changing textures and visibility of objects in the scene. Exercise: Visibility ⇒ Delete the scene

⇒ Open the file Chapter4.env from the training folder

⇒ Right Click on a crate and select DISPLAY > VISIBLE

⇒ From the Object Hierarchy, turn the crate back on (make it visible) by right clicking on the crate and then choosing DISPLAY > VISIBLE

⇒ Change the Object selector to segment

⇒ Turn off the segment human.bottom_head

⇒ Turn off the segment human.lower_torso

⇒ Turn off the segment human.right_upper_leg

⇒ Turn off the segment barrel.barrel, and table.table

Segment Visibility

⇒ Toggle the segment visibility from VIEW > TOGGLE SEGMENT VISIBILITY

This toggles visibility for all segments. Note the results in the graphics window. ⇒ Turn off the segment human.bottom_head

⇒ Toggle segment visibility again

Page 76: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 59

Note: The head is now visible with the other scene. ⇒ Make everything visible from VIEW > MAKE ALL VISIBLE

Note: M AKE ALL VISIBLE will make the whole scene visible. Exercise: Shading Options ⇒ Delete the scene and open Chapter4.env again.

⇒ Now let’s change the shading options of the entire scene.

⇒ Select the menu option VIEW->WIREFRAME SCENE

⇒ You should now see the entire scene as wireframe.

⇒ To get back to shaded mode, select VIEW->SHADED SCENE

Wireframe Scene

Exercise: Advanced View Control ⇒ Next, open the VIEW CONTROL DIALOG

Note: The graphics Window is currently TJ_Window.

⇒ Rotate and change the view

Note: While the Move Button in the V IEW CONTROL DIALOG is selected you do not need to hold down CTRL.

⇒ Click on the Move button to turn off the interactive move.

⇒ Change the vertical field of view to 60

Page 77: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 60

Note: This changes the window perspective. As the f ield of view increases the area seen by the camera increase s.

⇒ Change the horizontal field of view to 90

The horizontal and vertical fields of view can be changed independently. ⇒ Change the vertical field of view to 40

⇒ Change the horizontal field of view to 60

⇒ From the VIEW CONTROL’S Snap Drop Down Dialog select node

⇒ Select a node on a human

Note: The view reference moves to the node. This co mmand is similar to Snap View.

Snapping the view to a node

⇒ Now let’s attach the view to a node. Choose a node on the human head.

⇒ Notice the view in the TJ Window has changed to the view from the node on the human head.

⇒ To detach the view from the node on the human head, select Detach.

Exercise: Window Parameters This exercise will introduce you to different window and viewing options within Jack. You will create new windows and edit perspective views. ⇒ Using the LMB shrink the TJ_WINDOW to about half the original size.

⇒ Select the menu option VIEW->CREATE WINDOWS->NEW WINDOW and note the different types

Page 78: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 61

⇒ Create a new perspective window

A new window should appear on the desktop ⇒ Pick a Window and use CTRL to change view. Notice the different

perspective.

⇒ Use the RMB to bring up the Window Context Sensitive Menus and delete TJ_VIEW_2

⇒ Create a non perspective window (X, Y or Z)

⇒ Finally, select one of the preformatted layouts such as VIEW: WINDOW SETS: FOUR PANELS

Exercise: Manipulating objects in the Object Hierarchy This exercise is an introduction to the basic workings of the Object Hierarchy. ⇒ Delete the scene

⇒ Create a human figure

⇒ Open the Object Hierarchy

⇒ You should see a list of all the objects in the scene.

⇒ Right click on the human in the object hierarchy.

Page 79: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 62

Context Sensitive Menu on the Human

Note: The context sensitive menus from the G RAPHICS WINDOW are duplicated in the O BJECT HIERARCHY. ⇒ Select the hand selector from the MOVE FIGURE DIALOG

⇒ Pick the human from the OBJECT HIERARCHY

⇒ Move the human. Hit ESC when finished.

⇒ You can also access other functions by expanding the figure.

⇒ Click on the plus sign (+) to expand the human figure. You will see the options segments and joints.

⇒ Click on the plus sign (+) for joints. The hierarchy will show all of the joints in the human figure.

The Plus and Minus Signs Expand the Figures

⇒ Scroll down to an elbow joint

⇒ Access the ADJUST JOINT DIALOG for the elbow using the OBJECT HIERARCHY

Page 80: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 63

Chapter 5: Working with Humans The Jack human figure is built upon the basic modeling elements you have learned in previous sections. However, Jack’s human models are much more complex than anything you’ve dealt with up to this point. Jack’s human model consists of 71 segments, 69 joints (many of which are multi-axis and multiple degree of freedom joint complexes), and 135 degrees of freedom! On top of that, behaviors and constraints are at work in human figures, controlling realistic human responses automatically. Although this chapter is only an introduction to Jack’s human figure, it is probably the most important in this course.

Male, Female, and Child Figures

Human Scaling (Anthropometry) One of Jack’s most powerful features is the ability to accurately scale human figures. This allows you to evaluate designs for a variety of people without requiring prototypes and test subjects, as well as, creating manikins that represent individuals.

Page 81: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 64

95th , 50th , and 5 th Percentile Statures

Anthropometry in Jack is particularly useful because of Jack’s ability to quickly modify body dimensions “on the fly”. That is, you can build an environment, create the human figure and define the environmental constraints (such as “keep your foot on the brake pedal”), and then modify the human figure’s measurements. You don’t have to re-do your analysis for each different scale! This makes doing many simulations with wide coverage of population percentiles very straightforward. Jack uses the ANSUR (Army Natick Survey User Requirements) 1988 anthropometric database to create its human manikins. Jack’s link lengths and bony dimensions such as head and foot breadth are regressed from the user specified stature. Jack’s fleshy dimensions such as abdominal depth and arm size are regressed from stature and weight. Both the basic and advanced scaling methods discussed in the upcoming paragraphs use this regression method.

Create (Command: Human�Create) Average Male and Female Manikins Default humans are readily available from the TOOLBAR and represent an “average” US male and female. This statistics are based on the 50th percentile value for stature from the Ansur-88 survey (1988 US Army Anthropometric Survey).

Page 82: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 65

Create Male and Female Icons

Basic (Command: Human�Create�Custom) This brings up the Build Human dialog, which allows the user to create custom humans. From the default Build Human panel the user can create male or female figures of a specified height and weight as well as child sized figures corresponding to a specified age.

Human Scaling Icon

The basic HUMAN SCALING PANEL lets you create manikins based on custom or percentile values for height and weight. Statistical algorithms are used to size the other human dimensions and create the human manikin.

Basic Human Scaling Dialog

Page 83: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 66

Advanced (Command: Human�Create�Custom�Advanced Scaling) The Advanced Scaling Panel allows for additional control over the human dimensions by letting the user specify a number of anthropometric measurements for the human. Jack also allows you to model humans of any dimension, not just “5th and 95th” models. The advanced HUMAN SCALING PANEL lets you create manikins using specific anthropometric dimensions. Jack’s Anthropometric Dimensions Stature Foot Breadth Abdominal Depth Foot Breadth Ankle Height Hip Breadth Acromion Height Interpupil Distance Arm Length Shoulder Elbow Length Biacromial Breadth Sitting Acromial Height Bideltoid Breadth Sitting Eye Height Buttock Knee Length Seated Height Elbow Rest Height Sitting Knee Height Elbow-Fingertip Length Thigh Clearance Foot Length Thumbtip Reach Hand Breadth Head Height Hand Length Head Length Head Breadth

Page 84: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 67

Advanced Scaling Dialog Beyond creating and scaling manikins, the panel serves the function of measuring manikins. When a human figure is selected all of the measures for that human will be displayed on the panel. Note: To scale for multiple dimensions with a prede fined stature and weight, start with simple scaling and s cale for stature and weight first. Then use the advanced sca ling dialogue to specify other dimensions.

Page 85: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 68

Properties (Command: Human�Properties) In Jack, human figures are like other types of figures, except they have pre-defined sites, segments, joints, and constraints. There are also special ways of manipulating them and describing their motion (see Human Control dialog). Properties in this dialogue that are common to all figures will be further discussed in the next chapter.

Figure Properties Dialog

Postures (Command: Human�Properties� Postures) The human figure has many joints. Without easy methods to save, store and reuse all or some joint positions, posturing the figure for each new task simulation would be difficult and time consuming. There are a number of ways in Jack to save postures of the whole human figures as well as postures of parts of human figures such as hand shapes.

Posture Library The Posture Library contains whole body postures designed to set commonly used working positions. Joint angles as well as behaviors are set when the posture is activated. Consequently, they are often used as a starting point when posing your manikin in the environment.

Page 86: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 69

Saved Human Postures

Skeleton (Command: Human �Properties�Display Tab) Figures with joints have an underlying linkage structure that can be displayed. Specifically, the joint locations and the segment structure between these joints are displayed.

Human Skeletal View

Page 87: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 70

Note: Making the human figure transparent will allo w you to view the skeleton more clearly. Anthro This tab is only available for human figures. The tab allows you to view any additional humans you have saved.

Human Control (Command: Human�Human Control) With this many joints and segments posturing the human by individually manipulating every joint using the ADJUST JOINT DIALOG would be tedious. Human controls and human behaviors that you will learn about in this section help to make this task easier. The Human Control dialog box is accessed from the Human Control entry of the Human menu or by selecting the human control icon from the Icon Toolbar. This dialog box allows the user to set behaviors and manipulations for any selected human figure from a single dialog panel. The human manipulation options are accessed on the right side of the HUMAN CONTROL PANEL. These options allow you to interactively manipulate the human figure. Human behaviors are accessed from the left-hand side (i.e., the one with red buttons) of the panel. These behaviors define the desired reactions to other objects in the environment. It is important to note that all of the settings in this dialog box are immediately applied to the human figure as they are changed. This allows you to quickly navigate through all of the behavior parameters and view or change the desired settings. Note also that for the manipulation options, there is a Start button that will be activated by default when a new manipulation mode is chosen. However, if you use the Escape key to end an interaction, you will have to re-select the Start button to initiate another interaction with the selected segment. Note: Use the H UMAN CONTROL PANEL (Human����Human Control) for multiple joint manipulations, and the Adjust Jo int dialog menu for a single joint analysis.

Page 88: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 71

Human Control Dialog

Note: All constraints (behaviors) will be reset whe n a new posture is selected from the Posture Library. Human Control Manipulations

Arms When you start arm manipulation you will automatically be moving from a site located at the center of the palm. The End Effector is the palm and the default Starting Joint is the shoulder. The arm will adjust in order to follow this goal site. The waist may also be used as the Starting Joint allowing the torso to be included in the movement. Note: The arm manipulation is really a special case of the interactive reach. Arm behaviors allow you to add constraint options to the hand. By default the hand is not constrained to any particular location. The goal location can be a specific location relative to the world (hold global location), a specific location relative to a segment (hold relative location) or sites on the human itself (hips, knees). When an outside force acts on the hand the set behavior will influence its reaction.

Page 89: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 72

You can also position the arm by manipulating the elbow. This can be used with or without arm behaviors.

Feet Foot manipulation and behaviors are very similar to Arm manipulations and behaviors except for the effect of balance behavior. When the balance behavior is on the figure adjusts its center of mass to maintain balance. This behavior is addressed in more detail below. Knee position may also be adjusted independently of the feet.

Center of Mass and Pelvis The center of mass manipulation starts with a site that indicates the goal position for the center of mass. The human figure’s base of support is indicated by the polygon displayed on the floor. A vertical line, running from the human figure’s center of mass to the floor is also displayed. When the figure’s center of mass projection falls within its base of support both the center of mass projection and the support polygon are drawn in green. When the center of mass projection moves outside the base of support both are drawn in red to indicate that balance cannot be maintained in that posture. Pelvis manipulation is a rotation of the lower torso. The effect of this rotation is dependent on the current balance behavior and the behavior of the torso. If the torso maintains vertical alignment, rotating the pelvis causes the hips to curl under the body. If the torso is released, rotating the pelvis is similar to flexing the torso.

Head and Eyes The head and eye manipulation starts with a focal point in space. As you move the focus point, the neck will automatically rotate so that the head or eyes follow the focus point. The head and eye behaviors each have two settings. The default is release. The other option is fixate. The “fixate” options set up a view constraint between the head or the eyes and a site or node in the scene. In addition to the separate head and eye behaviors, there is a combined head eye tracking behavior that can be turned on or off. This behavior moves both the head and the eyes to follow a specified goal location in a natural manner

Page 90: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 73

Shoulder All the manipulations so far have been reminiscent of what we did in the previous chapter with constraints. In fact, these manipulations are special cases of constraints defined especially for manipulation of the human. The human figure also has several manipulations that make use of coupled joint complexes. These allow a group of joints with many degrees of freedom to be manipulated with a smaller number of controls. They also allow Jack to make sure that the joints move together in a manner similar to a human. For this reason, directly adjusting one joint in a couple using the Adjust Joint dialogue is discouraged – there is even a warning in red on the dialogue if you should try to do this- because it can allow the human to obtain an unrealistic posture. As mentioned above, the shoulder manipulation uses joint sliders to adjust multiple joints. Notice that both the upper arm and clavicle are moving. This is different than what happens when either the shoulder or clavicle joint are adjusted using the ADJUST JOINT

DIALOG. The shoulder is a coupled joint complex. The motion of the clavicle relative to the torso and the upper arm relative to the clavicle are coupled so that the positions of five degrees of freedom are completely defined by three numbers.

Torso Torso manipulation is very similar to shoulder manipulation. The torso of the figure will bend forwards and backwards, but the hips will shift so that the figure remains balanced. Notice that the bending starts at the waist. As more extreme positions are specified, more proximal joints are used to bend the spine. Like the shoulder the spine is a coupled joint complex. Three sliders manipulate all 17 spine segments.

Balance Behavior When the Step Balance Control is turned on, any manipulation (e.g., moving arms, bending the torso) that changes the total body center of mass will cause the legs and pelvis to move in an attempt to keep the center of mass between the feet. This is the “follow feet” balance control. Direct manipulation of the center of mass sets the goal location relative to the support polygon. This is not always a desirable trait, however. During seated operations, for instance, you do not want the figure to balance itself. You can control this operation from the behaviors side of the control panel. The balance control allows you to turn this action on and off.

Page 91: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 74

Adjust Joint (Command: Human�Adjust Joint) Jack provides a simple yet powerful means to define articulated (jointed) figures and "pose" the figure by manipulating the joint transforms. The angles and/or displacements at the joints of a figure define its posture. These joint angles may be manipulated in Jack with Human>Adjust joint. For convenience, this command is bound to <Ctrl-e>. Joints in Jack may have specific degrees of freedom. A degree of freedom (DOF) is a rotation around a specific axis. This rotation describes the relative orientation of the two sites that the joint connects. Joints may also be prismatic, in which case they translate along the axis. The transformation between the sites that a joint connects is formed by the product of the simple rotations and translations associated with each degree of freedom in order.

Footprints (Command: Human�Footprints) This feature in the Human menu enables simple interactive human arm and foot manipulations, which is an alternative interface to the Human Control Panel. The Footprints dialog lets the human figure be controlled with 3D hand and foot figures. The human's hands and feet are constrained to these figures. The dialog also provides some of the functions of the Human Control dialog. Beyond posturing, the Footprints' utility is useful for animation. Rather than using the human specific motions, the hand and foot figures can be animated, and the human figure will follow. If the human specific motions are to be used, the hand and foot figures can be attached to sites on the hands and feet during the time that those motions are used.

Page 92: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 75

Eye View (Command: Human�Eye View) The human also has a special EYE VIEW DIALOG for easily attaching the view of an existing window or a new window to the human’s eye sites. One of the windows becomes an eye view. Eye views can be created as Between Eyes, Left Eye, Right Eye, or Both Eyes.

Eye View Dialog

Notice that you can control which window has its view attached to the human. The option to create new eye windows is also available from the <RMB> context sensitive menus for the human figure. Note: Control of the eye view window is through mov ement of the head.

Between Eye View Window

Page 93: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 76

View Cones (Command: Human�View Cones) View cones are a graphical extension of the Eye View Window. These cones emanate from the eyes of a manikin and demonstrate what the figure can potentially see. View cones are actually transparent cones that represent a particular visual angle from the manikin’s eyes. The default setting of 40° is taken from several standards that define the ideal visual angle in which to position key objects.

View Cones

Page 94: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 77

Shape Hand (Command: Human�Shape Hand) The Handshape Library is a subset of saved human postures. It contains commonly used hand postures that can be used to grab or reach for objects in the Jack scene. As with the working postures they are used as a starting point when positioning the hand.

Sample Handshapes

A useful addition to the Handshape Dialog is the “percent from neutral” feature. This allows you to set the hand joint angles from a range of hand postures. Consequently, you can be very precise with your hand positions and use the best-suited grip.

Page 95: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 78

Handshape Library

Page 96: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 79

Automatic Grasp (Command: Human�Grasp) If one of the hand shape postures is not adequate, Jack can automatically grasp segments. This command causes Jacks fingers to close until they collide with the object. The function works by positioning the hand near the object to grasp or positioning the object in the human’s palm. Jack then incrementally closes the fingers and monitors each digit for collision. This command requires you to specify the object to grasp, the hand used to grasp, and the type of grasp.

Hand before grasp

Hand after grasp

Page 97: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 80

Chapter 5 Tutorial: Working with Humans In this tutorial you will learn how to create, position, and manipulate the human in Jack. In addition to basic human manipulation you will learn how to create view cones, change hand shapes, and grasp objects. Finally, you will also learn techniques to make working with humans simple! Exercise: Create a Human ⇒ Delete the scene

⇒ Open the file Chapter5.env

⇒ Create a medium male figure and move the figure to one side

⇒ Create a medium female figure and move this figure to one side

Exercise: Human Scaling This exercise will introduce you to scaling manikins and basic anthropometry in Jack. You will create and edit the size of the Jack manikin using basic and advanced scaling. Visually note the difference in stature. ⇒ Right click on one of your male humans

⇒ Choose the scale option

⇒ The scale dialogue will open

⇒ Leave the type set to male

⇒ Choose the option Percentile for Height and Weight and select 95th percentile male

⇒ Hit Scale Existing

Human Basic Scaling Panel

Page 98: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 81

⇒ You should see your male update in stature and weight to a 95th percentile male

⇒ Leave the scale dialogue open

⇒ Choose Custom for Height and Weight

⇒ Specify a Height and Weight

⇒ Hit Scale Existing

⇒ The human will scale to your desired custom height and weight

Small and Large Saved humans

⇒ Leave the scale dialogue open

⇒ Choose the Advanced Scaling Button on the bottom of the menu

⇒ You should see that you are able to change the dimensions of specific body measurements

⇒ Adjust the Arm Length dimension of one of your humans

⇒ Once you have completed changing the size of your human from the advanced scaling panel, lets save the new humans dimensions.

⇒ In the Save As field, name your human Fred

⇒ Select Add to Menu

⇒ Select Dismiss

⇒ Open the menu Human->Create Human you should now see Fred as one of the options

Page 99: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 82

Exercise: Human Postures ⇒ Delete the scene and open Chapter5.env again.

⇒ Right click on the human and open the HUMAN PROPERTY DIALOG and go the posture tab

⇒ Select seated_relaxed posture for the human from list and hit Apply

⇒ Dismiss from this menu

Note: Postures set the human body position as well as the behavior settings. ⇒ Use the RMB on the human and select Postures

⇒ Select stand_relaxed posture for the human from list.

⇒ Choose other postures to see what they look like.

.

Context Sensitive Posture Menus

Exercise: Skeletal Structure ⇒ Make the human transparent by right clicking on the human and

selecting the Display Transparent option

⇒ Right Click on the human again to select the Display Skeleton Option; You should now see the skeleton under the transparent skin of the human

⇒ Turn off the skeleton by right clicking on the human again and selecting Display Skeleton

⇒ Make the human shaded by right clicking on the human and choosing the Display Shaded option

Page 100: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 83

Note: The menus for display can also be found in th e Human Properties Display Tab.

Exercise: Basic Human Manipulation This exercise will introduce you to direct human manipulation. You will create a human figure and manipulate joints, body parts, and behaviors to pose the manikin. ⇒ Open the HUMAN CONTROL PANEL. This can be done by selecting the HUMAN-

>HUMAN CONTROL menu option or selecting human control from the human’s RMB pull down menu or by selecting the human control icon.

⇒ Click on the button on either hand of the human manipulation side.

A yellow goal site will appear near the human’s hand in graphics scene. ⇒ Move this site and note the changes. When you are done, hit ESC.

⇒ Next, Click on the button on the top of the head .

Again a yellow goal site will appear. ⇒ Use the mouse buttons to move the yellow focus point that appears. When

you are done, hit ESC.

⇒ Select the button on either the right or left shoulder .

Note: This dialog is similar to the Adjust joint di alog. ⇒ Manipulate the slider bars. When you are done, hit ESC.

⇒ Click on the button on the foot . Try using the RMB or LMB to move the foot in front of the body.

⇒ Now move the foot to the side so that Jack has a wide base of support. When you are done, hit ESC.

⇒ Finally, click on the hand control on the behavior side of THE HUMAN CONTROL PANEL

⇒ Change the behavior to hold rel to world

⇒ Click on center of mass button (the square button near the waist) on the manipulation side of THE HUMAN CONTROL PANEL.

⇒ Use the mouse buttons to move the center of mass.

Note: The hand stays in its global position.

Page 101: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 84

Exercise: Adjust Joint ⇒ Another way to move the human is to adjust single joints.

⇒ Choose the adjust joint icon from the toolbar

⇒ Select the elbow joint as the joint you would like to change

⇒ Drag the bar or key in the angle you would like to adjust it to. Notice there are limits on the joints.

Adjust Joint Option

Exercise: View Analysis ⇒ Move your human so that they are facing the toolbox. (See Image Below)

Position Human for Eye View

⇒ Use Human->Eye View command to access the Eye View Dialog.

⇒ Open a ``between eyes'' view window.

Page 102: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 85

Between Eye View of Toolbox

⇒ Place the window in a convenient location on your screen. Tip: you may need to resize your TJ Window in order to view both windows concurrently

⇒ Manipulate the head position and observe the results in the eye view window. It will update in real-time with the head motion.

⇒ Open the View Cones Dialog using the Analysis->View Cones menu option. Click on the Display View Cones button and Hit Apply.

⇒ Move the head around some more to get a feel for the view cones.

⇒ Toggle the Display View Cones button off in the View Cones Dialog and hit Apply to turn off the view cones.

⇒ Use the Eye View Dialog to create a left eye view window and manipulate the eyes without moving the head.

Note: The eye view can help you identify any obstru ctions in the design.

Page 103: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 86

Exercise: View Cones ⇒ Delete the scene and create a human

⇒ Open the View Cones Dialog using the HUMAN->VIEW CONES menu option. Click on the Display View Cones button and Hit Apply .

⇒ Move the head around some more to get a feel for the view cones.

⇒ Change the length of the View cone and hit Apply

⇒ Toggle the Display View Cones button off in the VIEW CONES DIALOG and hit Apply to turn off the view cones.

View Cones Displayed

Page 104: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 87

Exercise: Hand Postures ⇒ Select the menu option HUMAN-> SHAPE HAND to bring up THE SHAPE HAND

DIALOG

⇒ Click on the right or left hand button in the SHAPE HAND DIALOG.

⇒ Pick the hand shape Fist from the list in the dialog

⇒ Click on the button labeled Apply Handshape

⇒ Move the slider labeled Percent from Neutral to about 50%

⇒ Notice the hand open up from a fist as it moves farther away from 100%

Fist Hand Shape at 50%

Exercise: Posturing Examples ⇒ Delete the scene and reopen the environment file Chapter5.env

⇒ In this exercise you will posture 4 humans on the Stations provided

⇒ Station 1: Seated Typing Example

⇒ Station 2: Lifting Small Crates

⇒ Station 3: Tool Manipulation

⇒ Station 4: Climbing Stair

Page 105: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 88

Typing Station

Exercise: Typing Example ⇒ Create a Default Female human

⇒ Right Click on the human and choose the Posture Seated Typing

⇒ Move the human to the office chair (right click on the female and select move)

⇒ Tip: Use your snap commands to move the human to the chair cushion’s center

⇒ Using the human control panel and snap commands posture the human

⇒ Next, open the HUMAN PROPERTIES DIALOG and go to the ATTACH TAB

⇒ Select your human

⇒ Select the site office_chair.chair_seat.base as the site to attach the human to

⇒ Hit Apply and Dismiss the Human Properties Dialogue

⇒ Now you have attached the human to the seat

⇒ Select the Adjust Joint Icon from the Toolbar

⇒ Choose the Base Joint of the Chair

⇒ Adjust the joint by dragging the bar

Page 106: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 89

Adjusting the Joint of the Chair with the Human Att ached

⇒ Next, open the HUMAN CONTROL PANEL

⇒ Choose the behaviors side

⇒ Select the eyes

⇒ Set the behavior to fixate plus head

⇒ Choose a site on the monitor for the human to fixate on

⇒ Set the behaviors for both hands to hold relative to the keyboard

⇒ Adjust the chair’s joints

⇒ You should now see the eyes, head and hands stay on the monitor and keyboard, and the torso and feet move with the chair as it is being adjusted.

Note: The human’s pelvis stays connected to the cha ir and the eyes stay focused on the monitor as the chair heigh t is adjusted.

Page 107: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 90

Climbing Stairs Station

Exercise: Climbing Ladder ⇒ Create another human

⇒ Move the human to the ladder

⇒ Right Click on the human and choose the climbing la dder posture as a starting posture

⇒ Next, open the HUMAN CONTROL PANEL

⇒ Move the right foot onto the first step using the human control panel and the snap to face plane option

⇒ Move the hands onto the rails using the human control panel and the snap to cursor point option

⇒ Continue to adjust the human until the posture looks similar to the image above

⇒ In the human control panel, set the behaviors for the hands and feet to hold relative to the staircase

⇒ Move the human’s center of mass along the local Z-axis.

Note: The hands and feet stay connected to the ladd er.

Page 108: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 91

Grasp Upper Crate Station

Exercise: Grasping Crates ⇒ Create another human

⇒ Move the human to the rack

⇒ Next, open the HUMAN CONTROL PANEL

⇒ Posture the human with the left hand on the side of the crate. Use the snap commands to get the hand on the crate.

⇒ Tip: Use the behavior option in the human control panel for the opposite hand. Set the right arm to follow the left. This will make both arms move together and is good for symmetrical lifts.

⇒ Set the behaviors for the hands to hold relative to the crate

⇒ Move the crate

⇒ You should see the hands move with the crate as it is being moved.

⇒ Now pose the human Grasping the lower box.

⇒ Right click on the human and choose the Posture Squat as a starting posture

⇒ Move the left hand to each side of the box using the Snap to face center commands

⇒ Use the human control panel behavior for the right arm to follow the left arm.

⇒ Set the behaviors for the hands to hold relative to the package from the waist

⇒ Move the crate and notice the hands and torso movem ents

Page 109: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 92

Grasp Lower Crate Station

Exercise: Tool Use ⇒ Create another human

⇒ Move the human to the table that has a hammer and saw on it.

⇒ Open the human control panel and adjust the humans right hand to hold the hammer

⇒ Move the hammer to the hand (right click on the hammer and select move, use the snap to site command to snap the hammer to a site on the hand)

⇒ Your human should look similar to the image when you are completed posturing

⇒ Do not adjust the hand posture.

Note: Move the hammer to the palm so that it is ori ented with the thumb. ⇒ Next, open the GRASP DIALOG from HUMAN > GRASP

⇒ Choose the appropriate human.

⇒ Choose the appropriate hand.

⇒ Set the grasp type to power

⇒ Select the hammer as the figure to grasp

⇒ Hit GRASP

⇒ The fingers and hand should collide with the hammer

⇒ Hit Dismiss to close the window

Page 110: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 93

Grasp Hammer

⇒ Next, open the FIGURE PROPERTIES DIALOG ATTACH Tab for the hammer

and select a site on the hand

⇒ Hit Apply

⇒ Open the HUMAN CONTROL PANEL and move the hand

⇒ You should see the hammer moving with the hand

⇒ Open the FIGURE PROPERTIES DIALOG ATTACH Tab for the hammer

⇒ Unattach the hammer

⇒ Hit APPLY and DISMISS the properties dialogue

⇒ Open the human control panel and go to the hand behaviors

⇒ Change the Behavior Type to hold relative to object

⇒ Select a site on the hammer

⇒ Now move the hammer

Note: The hand follows the hammer.

Page 111: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 94

⇒ Pose the human grasping the saw using the human control panel and the snap to commands

Note: Move the saw to the palm so that it is orient ed with the palm.

⇒ Next, open the SHAPE HAND DIALOG from HUMAN > SHAPE HAND . . .

⇒ Choose fist and hit Apply.

⇒ Reduce the percent from neutral in the ShapeHand dialogue until the hand looks like it is grasping the saw

Grasp Saw

⇒ Open the HUMAN CONTROL PANEL

⇒ Set the hand behavior to hold relative to object and select the saw

⇒ Move the saw

⇒ The hand should be moving with the saw.

Page 112: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 95

Chapter 6: Creating & Displaying Objects Jack uses a simple polygonal geometry format to represent objects in the scene. All objects are represented by surface geometry composed of flat (usually triangular) faces. Faces are defined by connecting three or more nodes together. Nodes are simply points in space (specified by a X, Y, Z location). The line connecting two nodes on a face is called an edge. Note that Jack does not require complex mathematical representations of surfaces or solids. This simplifies geometry translation to Jack.

Create (Command: Object�Create) The object create command will allow you to create sites, joints, nodes, faces, etc. Site (Command: Object�Create�Create Site) This dialog lets you specify the location of a site with respect to its segment. Joint (Command: Object�Create�Create Joint) With this dialog, the user selects two segments or sites one fixed and the other moving to create a joint between them. Node (Command: Object�Create�Create Node) This dialog allows the user to create, move, or delete a node. Face (Command: Object�Create�Create Face) This dialog allows the user to move, create, delete, reverse, or fix a face. Light (Command: Object�Create�Create Light) Much of a designer or engineer’s job when using Jack is centered upon presenting analysis results for use in reports, design reviews, company intranets, documentation, and even marketing. Jack

Page 113: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 96

provides a number of options to control what is displayed in the environment. These options are more than just nice visual effects. Making objects transparent or invisible is useful for clearing the view and highlighting objects of interest.

Create Light

Jack provides a flexible lighting and display model. It allows you to set object colors, rendering and display modes, modify light colors, move lights, map textures to objects, and even “animate” lights, colors and scaling for interesting visual effects. You can create lights of various colors and intensities using the LIGHT PROPERTY DIALOG. You can move the light icon around the environment as you would any other object. Note: Lights in Jack are actually point sources and therefore have no direction.

Page 114: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 97

Light Source and sphere

CAD Objects (Command: OBJECT�CREATE�CAD OBJECT) You can create basic CAD primitives in Jack. Use the CREATE CAD

OBJECT to create general objects such as; sphere, ellipsoid, cone, cylinder, hollow cylinder, toroid, and gear.

Create Cad Object Dialog

Rectangular Solid (Command: OBJECT�CREATE�RECTANGULAR SOLID) Use the CREATE RECTANGULAR SOLID for basic cube shapes.

Page 115: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 98

Figure from Library (Command: OBJECT�CREATE�FIGURE FROM LIBRARY)

Miscellaneous Jack Library Objects

The OBJECT LIBRARY is a useful way to keep often used files easily accessible. You can use the OBJECT LIBRARY to start to build up a library of objects that you use often. In addition, many useful objects are contained in the OBJECT LIBRARY by default. These include objects that are part of the basic Jack distribution.

Factory Equipment Library

The Object Library now includes a wide variety of factory equipment for use in mocking up factories and factory workcells.

To load any of these into the scene execute Object->Create->Figure from Library... to bring up the Load Library File Dialog. The factory equipment files can be listed by clicking on Factory Equipment in the list of libraries.

Types of equipment include:

• A sheet metal bender • A control computer • Conveyor belts • Elevators • A fixture • A motor

Page 116: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 99

• A wooden pallet • A roller table • Roller surfaces

Some of the factory equipment has articulation for use in simulation. Joints for use in workcell tasks have names that are all in upper-case. Joints for adjustment such as height adjustment have names that begin with a capital letter and have the remaining characters lower-case. Dummy joints for just connecting parts are named all in lower-case letters.

Factory Library Dialog

Modify Geometry (Command: Object�Modify Geometry) Editing Segment Geometry (Command: Object�Modify Geometry�Edit Psurf) You can also edit the geometry of any segment to create even more complex objects. This is accomplished with the EDIT PSURF

Page 117: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 100

DIALOG. You have the option to edit or create new nodes, edges, and faces. Note: These changes are not saved in Jack’s .env or .fig formats. The segment must be saved as a psurf.

Psurf Editor Dialog

Merging Segment Geometry (Command: Object�Modify Geometry�Merge Segment Geometry) You can also merge the geometry of any segment to another segment within the merge segment geometry dialogue. Splitting Segment Geometry (Command: Object�Modify Geometry�Split Segment Geometry) You can also split the geometry of any segment from another segment within the split segment geometry dialogue.

Fix Segment Orientation (Command: Object�Modify Geometry�Fix Segment Orientation) You can also fix the segment orientation of a segment to any node, edge or face in the environment.

Reroot Figure (Command: Object�Properties�Figure Properties�Construction Tab) The root site is the point that the figure is moved from. Every segment has at least one site. The site located at the figure origin

Page 118: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 101

(or local 0, 0, 0) point on the geometry and labeled as base, is automatically created. The base site is used as the default root, or local reference, for the figure. If more than one site exists on a figure, this local reference can be changed.

Visible (Command: Object�Properties�Display Tab) A basic function in Jack is the ability to turn specific objects “On or Off .” This disables the display of the object so that it is invisible. This is different from actually deleting the object in that all behaviors associated with this object still exist – only the rendering is disabled. In large environments, turning objects that are not being used off will help improve processing time.

Shaded/ Wireframe/ Transparent (Command: Object�Properties�Display Tab) Jack also allows you to control the drawing method for these objects. Wireframe mode draws edges between the nodes that create a face. Shaded mode fills in all faces making up individual segments. Transparency mode shades the object but objects behind it can still be seen.

Wireframe, transparent and shaded display settings

Page 119: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 102

Smooth Shading (Command: Object�Properties�Display Tab) In addition, you can choose how to render an object’s faces - Smooth or Flat. Smooth shading uses a shading algorithm for the rendering that calculates different normals based on the normals of adjacent faces. The actual location of nodes and faces does not change. Flat shading takes less computation time, so permits faster rendering. Smooth shading provides a more realistic looking segment, but may result in slower animations and system response to segment movements. Note: The smooth and flat shading options control h ow the object is rendered.

Flat and Smooth shading

Page 120: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 103

Trace (Command: Object�Properties�Display Tab) Another convenient analysis tool is a trace of where an object has been during a motion. A trace is a graphical trail that objects leave behind as they move through the scene. Jack provides for the capability of tracing sites, segments or whole figures. Note: A trace captures an object’s position at spec ific intervals. A trace does not represent the actual pa th of an object.

Trace on a Tool Segment During Removal

Page 121: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 104

Figure Ghosts (Command: Object�Properties�Display Tab) Ghost figures are images of figures in specific postures. The ghost will look exactly like the original figure except it will all be one color. Ghosts cannot be saved, moved, or manipulated. They serve only to mark a posture temporarily for future use.

Figure Ghost

Page 122: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 105

Chapter 6 Tutorial: Creating and Displaying Objects In this tutorial you will learn how to create and modify objects within the Jack scene. Objects can be imported from other programs, created within Jack or opened from object libraries. You will also learn how to change the visibility of your objects. Exercise: Creating a Site ⇒ Delete your current scene by choosing EDIT->DELETE SCENE

⇒ Open the file Chapter6.env

We will now create a new site on the figure (we will use a barrel). ⇒ Move your view over to one of the barrels in the scene.

⇒ Open the SITE PROPERTIES DIALOG from the OBJECT>CREATE>CREATE SITE menu.

⇒ In the Segment Entry select the barrel as the segment.

You will then be sent into MOVE for the new site. N otice that your move button in the upper toolbar is red.

Move Highlighted for the New Site

⇒ Move the new site by using the MOVE CONTROLLER and snapping it to a NODE of the top of the barrel.

⇒ Hit escape when you are finished moving the site, a nd then hit CREATE.

⇒ There is now a new site on the top of the barrel.

Page 123: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 106

New Site on the Top of the Barrel

In order to verify that you have a new site, let’s display the sites of the barrel.

⇒ Dismiss out of the Create Site Window.

⇒ Right mouse click on the barrel.

⇒ Choose DISPLAY>TURN SITES ON

You should now see the new site on the top of the b arrel.

⇒ In order to turn the sites off right mouse click on the barrel and choose DISPLAY>TURN SITES OFF.

Note: A site is referenced from a segment NOT a fig ure. Exercise: Create Joint You will notice that the Chapter6.env file you have open in your scene has a crane near the top of the facility. We are now going to create Joints in the crane so that we can move the segments. ⇒ Select the OBJECT->CREATE ->CREATE JOINT menu option

⇒ The option Create Between Segments should be selected

⇒ Pick the Crane.Crane_base as the fixed segment

⇒ Pick the Crane.Crane_mid as the moving segment

⇒ You will then be in MOVE mode for the Joint Center (look in the toolbar).If you are not in MOVE mode for the Joint Center, then Hit SET LOCATION in the Create Joint Window.

Lets move the Joint Center. You should see it in th e center of the screen.

⇒ Using the Snap to Site Move command, snap the Joint Center to the Site Crane.Crane_mid.center_of_mass

Page 124: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 107

⇒ Hit Escape once you have the Joint Center where you want it

Let make the Middle of the Crane to move along the X-Axis

⇒ Choose T(x) as the DOF (Degree of Freedom)

⇒ Input -5000(mm) as the Lower Limit

⇒ Input 1000(mm) as the Upper Limit

⇒ Hit Create

Joint Dialogue for Crane

You have now created a joint between the Crane Middle and the Crane Base. Lets adjust the joint to verify it has been created.

⇒ Choose the Adjust Joint Icon from the Toolbar

⇒ Select the Crane (both the Middle and Base should highlight in Yellow)

⇒ Adjust the Joint by using the Left Mouse Button to click and drag

Page 125: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 108

Exercise: Lighting ⇒ Select the OBJECT->CREATE ->CREATE LIGHT menu option

⇒ Set the color of the light to white

⇒ Hit Create

⇒ Move the light in your scene. It is a figure that you can move like any other figure

Note: Rotating the light icon will not have an effe ct. Lights are actually points source and thus don’t have directio n.

⇒ Increase the intensity of the light

⇒ Hit Apply

⇒ Select a different color for the light

⇒ Hit Apply

⇒ Click the visible option off

This simply turns off the display of the icon. The lighting effects are unchanged. ⇒ Hit Apply

⇒ Click the visible option on

⇒ Hit Apply

Page 126: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 109

2 Lights in the Scene

⇒ Select the OBJECT->CREATE->CREATE LIGHT menu option and create a 2nd

light. Give it a different color and intensity from the first. Move it into a position where it also shines on the ball.

⇒ Use the RMB to the figure context sensitive menu for one of the light figures. Select the delete option

Exercise: Modify Geometry This exercise will introduce you to editing geometry. You will use an object from the library and change its shape in Jack. ⇒ Select the menu option OBJECT->CREATE->FIGURE FROM LIBRARY

⇒ In the OBJECT LIBRARY DIALOG, choose the file cube.pss from the Primitives Library

⇒ Hit the Load button

You should now see a large cube at 0,0,0

⇒ Select the menu option OBJECT->MODIFY GEOMETRY->EDIT PSURF

⇒ Set the Entity Type to NODE

⇒ Select the MOVE option

⇒ Pick a NODE on the cube you just loaded in

You will then be in MOVE mode for the NODE you just selected

⇒ MOVE the node. Notice that the faces also move (or stretch)

Page 127: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 110

Moving a Node Now lets modify a face on the cube

⇒ Set the Entity Type to FACE

⇒ Select the MOVE option

⇒ Pick a FACE on the cube

⇒ Move the FACE

⇒ Hit Dismiss to close the Modify Geometry Menu

Exercise: Re-rooting an Object First delete the cube you modified in the last exercise. ⇒ Make sure you are in Figure Mode

⇒ Right mouse click on the cube

⇒ Hit Delete

⇒ Select the move controller (from the top toolbar or by right clicking on the object and selecting move) and move one of your barrels. Notice the barrel moves from a root site that is located at the center of the barrel’s base.

⇒ Open the Figure Properties Dialog from OBJECT>PROPERTIES>FIGURE PROPERTIES

⇒ Select the construction tab.

⇒ Using the selector choose one of the barrels in the scene.

Page 128: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 111

Figure Properties Dialogue for Barrel

⇒ Notice the Root Site says barrel.Barrel.base. This is the root site of the barrel.

⇒ Lets change the root site to the center of mass.

Note: All objects have an existing site at the cent er of mass. ⇒ Select the arrow under the Sites section of the figure properties dialogue

from the barrel. You should see two sites. Select barrel.Barrel.centerofmass and select “Set Root”.

⇒ Hit APPLY

⇒ You should now see the root site in the construction tab has been updated to barrel.Barrel.centerofmass

⇒ Move the barrel.

⇒ The barrel is now moving from the center of mass. Y ou changed the root site from the center of the base to the center of mass.

Note: The object’s original root was at the center of the base. By changing the root site the object now moves abou t the new root site.

Exercise: Object Library This exercise will introduce you to Jacks Object Library. ⇒ Select the menu option OBJECT->CREATE->FIGURE FROM LIBRARY

⇒ In the OBJECT LIBRARY DIALOG, type cube.pss in the entry box

⇒ Hit the Load button

⇒ Highlight the tools library and note the contents in the list

⇒ Add other objects to your scene

Page 129: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 112

The next several exercises will take you through some of the display options for geometry in Jack.

Exercise: Visibility You can turn objects on and off in the scene. ⇒ Use the RMB on the Human and choose DISPLAY->VISIBLE

You should see the human turn off. ⇒ In order to turn the human back ON, go into the OBJECT HIERARCHY

⇒ Right Mouse Click (RMB) on the human you turned OFF

The same Context Sensitive Menu comes up as you saw in the TJ window

⇒ Choose DISPLAY->VISIBLE .

You should see your human in the TJ window.

Exercise: Shaded, Wireframe, and Transparent You can change the way an object appears in the scene ⇒ Move over to one of the barrels in the scene

⇒ Use the RMB on the barrel and choose DISPLAY->WIREFRAME

⇒ Use the RMB on the barrel and choose DISPLAY->TRANSPARENT

⇒ Use the RMB on the barrel and choose DISPLAY->SHADED

Exercise: Shading Options ⇒ Use the MMB to switch the OBJECT SELECTOR to segment mode

⇒ Use the RMB context sensitive menu to select the option DISPLAY->FLAT. Notice the segment display does not change. The default shading is flat.

⇒ Next, open the SEGMENT PROPERTY DIALOG for the barrel.

⇒ On the display page choose the smooth for the shading mode. Hit Apply. Again notice the display change.

⇒ Notice you can change the display from smooth to flat from either the context sensitive menus or from the segment properties dialogue.

Page 130: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 113

Barrel with Smooth Shading and Barrel with Flat Sha ding

Exercise: Trace segment ⇒ Move to your Jill human at the table with tools

⇒ Open the SEGMENT PROPERTY DIALOG for the right upper arm by right mouse clicking on the upper arm and choosing Properties (make sure you are in Segment Mode)

⇒ Go to the display page in the SEGMENT PROPERTY DIALOG and select the trace option

⇒ Hit Apply

⇒ Repeat for the lower arm and the palm segments

⇒ Move the arm

⇒ The path of all three segments is traced out

Click on the trace option and the delete trace button to delete each of the traces. Note: You may have to use the O BJECT HIERARCHY to pick the segments if they get hidden behind the tracings. ⇒ Close the SEGMENT PROPERTY DIALOG

Page 131: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 114

Moving arm with trace palm segment

Exercise: Create Ghost Creating a ghost allows you to view your human as a ghost frozen in time. You cannot move a ghost, or change the posture of a ghost. ⇒ Move to one of your humans in the scene

⇒ Posture the human

⇒ Open the HUMAN FIGURE PROPERTY DIALOG by right mouse clicking on the human and choosing PROPERTIES

⇒ Go the display tab in the HUMAN FIGURE PROPERTY DIALOG and select the option create ghost

⇒ Hit Apply

⇒ Move the human and re-posture him

⇒ Click on the create ghost option again

⇒ Hit Apply

⇒ Repeat

⇒ Click on the option delete all ghosts and hit Apply to get rid of the ghosts

Page 132: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 115

Human figure ghosts

Page 133: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 116

Chapter 7: Working with Objects In this chapter advanced interaction with objects will be covered. All of the object properties dialogues are covered as well as creation of joints, attachments and paths.

Attachments (Command: Object�Properties�Display Tab) Attachments allow you to connect one figure to another figure within an environment by defining a given offset between the bases of the two figures. It is a convenient way to attach objects without combining them into one assembly. It is important to note that this is a “one way” attachment in which the parent figure controls movement for both figures. The child figure can still be moved independently. This tab defines what figure this human/object is attached to and if any figures are attached to this human. If the human is not attached to any figures, the attach box will say “world.base”.

Attachment Tab

Page 134: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 117

Properties (Command: Object�Properties) Each of the different entity types has a property dialog. The selections are located in the OBJECT MENU under PROPERTIES or in the context sensitive menus for that object type. Property dialogs display information about the structure and status of an entity. From the property dialog you can also create, delete, rename or change the characteristics of an entity. These options apply to figures, segments, individual sites and nodes. Specific display options can be found in the each object type’s PROPERTIES DIALOG (<RMB>�PROPERTIES). Figure Properties (Command: Object�Properties�Figure Properties) The FIGURE PROPERTY DIALOG includes many options available for specific figures as well as access to lower level property dialogs associated with the figure.

Display Properties for a figure

Page 135: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 118

Segment Properties (Command: Object�Properties�Segment Properties) The SEGMENT PROPERTIES DIALOG is available for any object in the Jack environment. You can view construction information and display options from this dialog.

Segment Properties Dialog

Page 136: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 119

Site Properties (Command: Object�Properties�Site Properties) Jack uses the concept of “Sites ” to define specific coordinate locations in 3D space. More specifically, Sites are triad axes that define position and orientation relative to a segment’s local coordinate frame. They are the mechanism that allows you to specify constraint goals, joint centers, or even measurement points. Each segment also contains what is termed a Root Site. In a figure file, this site can be named anything; however, it is normally called “base” . It is the point from which the object is constructed and represents the segment’s local coordinate (0,0,0). The root site will never change locations relative to the segment. However, as the segment is moved around, the site will have varying global coordinates to reflect its position in the world. You can view information regarding a particular site or create a new site through the SITE PROPERTIES DIALOG.

Site Properties Dialog

Page 137: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 120

Joint Properties (COMMAND: Object�Properties�Joint Properties) Articulated figures are created in Jack using Joints . Joints allow you to define the type of articulation between two segments by specifying the type of DEGREES OF FREEDOM (DOF) and the origin of this articulation. You can view, create, and edit joint information through the JOINT PROPERTY DIALOG. When you create a joint, you must define the connection point. You have a choice of defining this point with the create joint between segments or the create joint between sites option.

Joint Properties Dialog

With the create joint between segments option a new site is automatically created for each of the two segments. The Set Location button lets you set the location of these two sites. With the create joint between sites option existing sites are used to connect the segments. In this case, the moveable segment will be repositioned to bring the two sites into the correct relative position.

Page 138: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 121

Face Properties (Command: Object�Properties�Face Properties) The next important piece of geometry in Jack is the “face ”. The list of vertices or “nodes ” is used to define polygonal “faces .” The FACE PROPERTIES DIALOG contains construction information for a particular face. It displays the material assigned to the face, the list of nodes that form the face, the local and global coordinates of the face center and the face normal.

Face Properties Dialog

Within the face properties dialog is the option to make a face reflective. By checking the reflective box a face will reflect other figures in the environment. It is important to note that reflections will not be saved with the environment (.env) file

Page 139: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 122

Reflection (Command: Object�Properties�Face Properties) Reflection Maps can be created for any polygonal surface or face in Jack. They can be use in Jack to analyze planar mirrors. It is important to note the quality of the reflected image is determined by the quality of the graphics card. You can create a reflection map by turning on an objects projections under the Object Properties dialogue. Note: Light does not reflect so the location of the light source is an important consideration when reflections are used.

Reflective Face

Page 140: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 123

Edge Properties (Command: Object�Properties�Edge properties) The “edge ” in Jack is the connection between two “nodes ” within a “face ”. Edges determine the “look” of an object when it is displayed wireframe. The EDGE PROPERTIES DIALOG contains construction information for a particular edge. It indicates which faces are on either side of the edge and which nodes are at either end.

Edge Properties Dialog

Page 141: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 124

Node Properties (COMMAND: Object�Properties�Node Properties) The lowest level of geometry is the “node ”. Nodes define specific coordinates in 3D space used to define faces and edges. In a Psurf (.pss) file they are the first list of numbers. The NODE PROPERTIES

DIALOG contains construction information for particular vertices. It displays the local and global coordinates for the node as well as the edges and faces the node contributes to.

Adjust Joint (Command: Object�Adjust Joint) A joint can be manipulated using the ADJUST JOINT DIALOG. When you are in the adjust joint command you can move the slider bar, enter a numerical value, or dynamically adjust the joint with the mouse in the graphics window. The joint order determines the corresponding mouse button. First in the list is the <LMB> , second in the list is <MMB>, third in the list is the <RMB> etc. When you dynamically adjust the joint with the mouse, an adjustment arrow or rotation wheel will appear that specifies the current adjustment type and direction. The arrow indicates a translation and the rotation wheel indicates an orientation adjustment. In addition, the rotation wheel will appear with sections of red and green. The green section defines the range through which the joint can be rotated.

Adjust Joint Dialog

Page 142: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 125

Note: When degrees of freedom (dof) are created for a joint, the order in which they are created determines the corresponding mouse button. First in the list is the <LMB>, second in the list is <MMB>, third in the list is the <RMB> etc.

Motors On/Off (Command: Object�Motors On/Off) This allows you to turn on or off all motors in the scene.

Create Motor Tab

A separate motor can be made for each Degree of Freedom in a joint by highlighting the available DOF in the list. Adjusting the frames per cycle rate can control the speed for each motor and the reciprocal or constant radio buttons will effect the motor’s direction..

Joint Motors (Command: Object�Create�Create Joint) Motors are an alternative way to add motion to an environment without using the animation system. The motor continuously exercises a joint through its entire range of motion and does not require any interactive manipulation except to start and stop it.

Page 143: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 126

Interactive Reach (Command: Object�Interactive Reach) An Interactive reach is similar to an ordinary constraint, except that there is no fixed goal. The goal is a global transform which you manipulate interactively. Also, the relationship type is automatically set to point-to-point. Interactive Reach can be applied to any jointed figure and to manipulate any kinematic chain within a human figure. This dialog lets you select a site or node on a segment of a figure as the point that you want to move into position. You also define a starting joint for the figure's motion (similar to those discussed in the constraints section of this chapter). Jack will use its inverse kinematics to determine the figure position as you move the end site or node.

Paths (Command: Object�Paths) Use this dialog to either create or edit a path in the Graphics Window to be used with the animation system. Paths can be used to have an object follow along, or to have a human walk along during a simulation. This will be covered more in the Animation System Chapter.

Path

Page 144: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 127

Chapter 7 Tutorial: Working with Objects In this tutorial you will learn how to work with objects. You will learn how to adjust joints of objects, create motors, and paths. You will also learn how to work within the properties menus for each of the types of objects. ⇒ Delete your current scene by choosing EDIT->DELETE SCENE

⇒ Open the file Chapter7.env

Exercise: Figure Properties This exercise introduces you to the .fig file properties menu. ⇒ Open the FIGURE PROPERTIES DIALOG from the OBJECT>PROPERTIES>FIGURE

PROPERTIES menu and select the barrel. Review the properties dialogue box. Choose the different tabs to review the available information on the face.

⇒ Click on the Sites Button on the Construction Tab

The list shows the predefined sites, and any new sites you created earlier, on the figure.

⇒ Click on the Segments Button on the Construction Tab

This list shows the segments of the figure barrel.fig.

⇒ Dismiss the Figure Properties Dialogue Window

Exercise: Segment Properties This exercise introduces you to the segment or Psurf. ⇒ Open the SEGMENT PROPERTIES DIALOG from the OBJECT>PROPERTIES

>SEGMENT PROPERTIES menu and select the barrel in the GRAPHICS WINDOW

Note: The naming convention in the entry box is Figure.Segment ⇒ Open the NODE PROPERTIES DIALOG from the OBJECT>PROPERTIES >NODE

PROPERTIES menu and select a node on the barrel.

Note: The naming convention in the entry box is Figure.Segment.Node# ⇒ Open the EDGE PROPERTIES DIALOG from the OBJECT>PROPERTIES>EDGE

PROPERTIES menu and select an edge on the barrel. Review the properties dialogue box. Choose the different tabs to review the available information on the edge.

Note: Remember the properties of the different file types.

Page 145: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 128

A Psurf (pss) only contains information defining a segment's geometry. A Figure File (fig) includes information about whic h segments make up the figure, sites, colors, and joints conne ctions. (Joint connections and limits are retained when a f igure file is saved. Joint angles information is not contained in a figure file)

Exercise: Face Properties ⇒ Load a cube into your environment from the object library

OBJECT>CREATE>FIGURE FROM LIBRARY

⇒ Open the FACE PROPERTIES DIALOG from the OBJECT>PROPERTIES>FACE PROPERTIES menu and select a face on the cube. Review the properties dialogue box. Choose the different tabs to review the information on the face.

⇒ Move to the Display Tab in the Properties Dialogue

⇒ Check the Box Reflective

You should now see a reflection on the face of the cube.

⇒ Dismiss the PROPERTY DIALOGS when you are finished

Reflective Face

Exercise: Adjusting a Joint In this section you will learn how to adjust single joints of a figure. ⇒ Move your view over to the Robot in the scene

⇒ Open the ADJUST JOINT DIALOG from OBJECT>ADJUST JOINT menu

Page 146: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 129

⇒ Select Robot_Jack5.JO from the GRAPHICS WINDOW

Note: Each DOF has its own slider with an upper lim it, a lower limit, and a text entry box. ⇒ Adjust the joint by moving the Slider Bar .

Note: The Entry Box value changes as the slider is moved.

⇒ Type in a value in the Entry box . Hit <Enter> when finished.

⇒ Now try this with other joints on the robot.

Hit ESC to complete the command and dismiss the dialog. ⇒ Finally, move over to one of the humans in your scene.

⇒ Open the ADJUST JOINT DIALOG and select the manikins Left Elbow

⇒ Adjust the joint by moving the slider bar.

Joints can be adjusted on objects and humans.

Exercise: Joints and Motors In this section you will learn how to create joint motors. ⇒ Open the JOINT PROPERTIES DIALOG OBJECT: PROPERTIES: JOINT

PROPERTIES

⇒ Select the joint Robot_Jack5.J2

⇒ Move to the Motors Tab in the Joint Properties Dialogue

⇒ Choose R(x) in as the Degree of Freedom (this is the rotation of the motor we are creating)

Page 147: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 130

Robot Motor Properties

⇒ Choose Create Motor

⇒ Currently Active should be checked

⇒ 30 Frames Per Second should be input

⇒ Reciprocal Should be checked

⇒ Hit Apply

The motor should be adjusting the joint.

⇒ Change the Motor Properties to Constant

⇒ Hit Apply

Notice the change in the way the joint is adjusting

⇒ Uncheck the Box Currently Active

⇒ Hit Apply

The motor should stop.

⇒ Dismiss the Joint Properties Dialogue Window.

Note: The human manikin is also a jointed figure!!

Page 148: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 131

Exercise: Interactive Reach In this section you will learn how to adjust multiple joints within a figure. You will again be using the Robot in your scene ⇒ Open the INTERACTIVE REACH DIALOG from OBJECT>INTERACTIVE REACH

Interactive Reach Dialog

⇒ Select Robot_Jack5.seg4.seg4 as the End Effector Site

⇒ Select Robot_Jack5.J3 as the Starting Joint

You will now be in MOVE mode for the end effector of the Robot

Interactive Reach Moving End Effector

Page 149: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 132

⇒ Move the end effector of the Robot using your Mouse Buttons

⇒ Rotate the end effector.

Note: Interactive Reach allows you to adjust multip le joints at once.

Exercise: Creating & Editing a Path In this section you will learn how to create a path. In a later Chapter you will learn how to use paths with humans and objects. Try to create your path on the floor of the facility so we can use it to have the human walk the path in a later Chapter. ⇒ Open the CREATE PATH DIALOGUE from OBJECT>CREATE>PATH>CREATE PATH

You will notice a site has been created in your scene at 0,0,0

⇒ Hit the Add After option in the Path Dialogue Window

Another site has been created on top of your 1st site

⇒ Using your MOVE CONTROLLER Move the site away from the 1st

⇒ Hit the Add After option once you have your second point where you want it.

⇒ Continue to move and add sites on the path until you have a path on the floor of your facility

⇒ Dismiss out of the Path Dialogue

Creating a Path on the Facility Floor

Page 150: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 133

You can also edit the points of the path if you need to move one after you have created it. ⇒ Open the CREATE PATH DIALOGUE from OBJECT>CREATE>PATH>EDIT PATH

⇒ Choose the path you would like to Edit (Tip: you may need to choose the path from the OBJECT HIERARCHY)

⇒ Choose the site on the path that you would like to change

⇒ Using your MOVE CONTROLLER Move the site to its new location

Notice the path change as you change the new site.

⇒ Hit Apply

⇒ Dismiss out of the Path Dialogue Window

Note: Paths are a figure in your scene. You and us e Context Sensitive Menus to edit and change the visibility o f the path.

Page 151: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 134

Chapter 8: Measuring & Checking Utilities: In general, measurement provides a way to begin to move beyond subjective analyses to very precise and objective ones. For this reason, Jack provides several measurement methods. Some allow for exact measurements between objects or sites. Others provide ways to monitor distances between objects.

Using Rulers to Measure

Page 152: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 135

Collision Detection (Command: Utilities�Collision Detection) Detecting and highlighting collisions between objects in the environment can be very useful for checking task feasibility. Checks for collisions in Jack are initiated by placing pairs of segments in the collision queue or collision list. Only segment pairs specified in the list will be checked for intersections. It is possible to check for collisions both when manipulating objects in interactive mode and when using the motion system. Jack gives the user the option of several different collision detection algorithms and several different ways to indicate collisions Collision Method Speed Accuracy Bounding box/sphere High Low Gilbert and Johnson Medium Medium Moore and Wilhelms Low High Modified M & W Low High Bounding box and bounding sphere are very fast but not very accurate in most situations since they fit a bounding sphere or box to the segment. The Gilbert and Johnson algorithm is more accurate and still reasonably fast (although slower than the bounding box and bounding sphere algorithms). It works well for collisions between objects that are not concave. It is sometimes referred to as the shrink-wrap method since it deals with concavities by fitting a non-concave surface over them. The Moore and Wilhelms and Modified M & W (Modified Moore and Wilhelms) algorithms are both more accurate for concave objects but they are slower (the Modified M & W is the faster of the two in most situations). Because of the computation time required for this operation, you should use these algorithms only in cases where the task demands that concavities be dealt with accurately.

Page 153: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 136

Highlighted Faces during Collision

Page 154: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 137

Constraint (Command: Utilities�Constraints) Constraints specify conditions between figures that the simulation system must try to reach. In other words, constraints are desired relationships that are met as closely as possible. These relationships can be described in terms of Position, Orientation, or both. Jack uses inverse kinematics to manipulate multiple joints in a figure to satisfy the constraints as closely as possible. As with Joints you can view or edit constraint information through the CONSTRAINT PROPERTY DIALOG. Since this is associated with environments rather than objects this function is accessed from the UTILITIES MENU under CONSTRAINT (Utilities�Constraint�Constraint Properties).

Constraint Dialog

Page 155: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 138

A constraint is a desired geometric relationship. It also refers to all information that collectively defines that relationship. Jack solves constraints using an inverse kinematics algorithm, which means that the appropriate joints of articulated figures are positioned so that the desired relationships are acquired. Jack allows you to create multiple constraints of various types. The constraints dialogue should be used to create a constraint that defines a valid motion. When creating a constraint, an objective type, a goal, end effectors, and a set of joints to which the constraint applies. Descriptions of these items are as follows:

Type of Goal

• Closest Node: Use this type of goal to pick a segment as the goal. This constraint applies to the closest node on the segment.

• Face: Use this type of goal to select a face goal. When you select a face goal, the end effectors is directed toward any point on the face.

• Hold: Use this type of goal to specify that the end effectors should remain in its current location. The position and orientation of the goal is taken from the current location of the end effectors when you create the constraint.

• Node: Use this type of goal to specify a point that is on a site.

• Relative Transform: Use this type of goal to specify a point in space relative to a segment goal and then click the Set Transform Location button to set the location relative to the goal.

• Site: Use this type of goal to specify a point that is on a site. • Transform: Use this type of goal to specify a point in space.

When you select this type, there is no goal edit field. Click the set transform button to set the location.

Goal This edit field and its associated pick button exist to select the end effector based on the type of goal. For hold and transform goals, this edit field isn’t visible.

Set Transform Location This push button is only available for Relative transform and Transform goal types. Click this button to set the graphics window using normal mouse controls.

Page 156: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 139

End Effector Type Use this option menu to select one of the following as the end effector:

• Closest Node: Use this type of goal to pick a segment as the end effector. The constraint applies to the closest node on the segment.

• Node: Use this type of goal to specify a point end effector that is a node.

• Site: Use this type of goal to specify a point end effector that is a site.

End Eff. Seg/Node/Site Depending on the Type of End Effector option you select, this edit field and its associated pick button let you select a segment, site, or node on a figure (for example, human.left_palmcenter).

Starting Joint After selecting an end effector site, select a starting joint for the figure's motion (for example, human.waist). This field is available if you select the Rooting Constraint check box.

Rooting Constraint Select this check box to create a rooting constraint for the figure. This connects one figure to another. Moving a figure with a rooting constraint creates a temporary constraint between the figure’s root and the transform created by moving.

Orientational Relationship Use this option menu to select the desired relationship between the orientation of the goal and the orientation of the end effector. The available relationships are:

• Aim: the relative position of the goal and end effector define the aiming direction, so the position of the goal influences the orientation of the end effector. The orientation of the goal is ignored. Positional Relationship is unavailable for this orientation type, so the end effector is free to move in space in any way so that it can achieve proper orientation. Selecting this option displays an Aim Vector edit field for you to specify a vector that is local to the coordinate frame of the end effector. The constraint attempts to position the end effector so that this vector is aimed at the goal.

• Align_direction: the goal and end effector must be aligned in the same direction. Selecting this option displays a two

Page 157: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 140

additional edit fields, End Effector Vector and Goal Vector that let you define vectors in the local coordinate frame of the end effector and goal, respectively. The constraint attempts to align these two vectors in space.

• Align_frame: attempts to align the orientation of the end effector with the orientation of the goal. The X, Y, Z axes of the end effector will be aligned with the X, Y, Z axes of the goal.

• Planar_direction: the goal and end effector must be aligned in the same planar direction. Selecting this option displays a two additional edit fields, End Effector Vector and Goal Vector that let you define vectors in the local coordinate frame of the end effector and goal, respectively. The constraint attempts to align these two vectors in space.

• View: similar to aim with the additional restriction against twist along the aiming direction. Positional Relationship is unavailable for this orientation type.

• None: there is no orientation relationship between the goal and end effector.

Positional Relationship Use this option menu to select the desired relationship between the position of the goal and the position of the end effector. The available relationships are:

• limit_spring: used to push away from a joint limit. • point_to_line: position the end effector along a line. • point_to_plane: position the end effector along the plane of

the goal. Selecting this option displays a Plane Normal Vector edit field. The normal vector you enter is local to the coordinate frame of the goal. The plane is assumed to pass through the origin of the goal.

• point_to_point: position the end effector at the point of the goal.

• rest_angle: used to pull towards a rest angle. • none: there is no positional relationship between the goal

and end effector.

Orientation <---->Position Weight Use this slider bar to change the weighting used to optimize the figure's position. Zero represents fixed orientation; 1.0 represents full weighting given to the figure's position.

Relative Constraint Weight

• Use Current Orientation Offset: Select this check box to use the current orientation of the goal and end effector to define an orientation offset.

Page 158: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 141

• Use Current Position Offset: Select this check box to use the current position of the goal and end effector to define an position offset.

• Active: Select this check box to make this constraint active.

Simulation Updates (Command: Utilities�Simulation Updates) SIMULATION UPDATES turns off the simulation engine and frame updates, so that constraints, motors, and anything else that updates over time is stopped. Direct manipulation, like adjusting joints, still functions normally. Probably the most common use is with motion tracking, where it allows users to modify the scene without constraints constantly moving things around. It’s a quick way to change attachments and other qualities on constrained or motorized figures without having to turn off constraints individually or delete all of the motors.

Measure Distance (Command: Utilities�Measure Distance) Scalar MEASURE DISTANCE is a convenient way to obtain static dimensions between two points in space. This command lets you position to endpoints in a line and then calculates the scalar distance, XYZ component vector distances, and the XYZ rotational differences.

Measure Distance Dialog

Page 159: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 142

Rulers (Command: Utilities�Rulers) A ruler allows you to dynamically display the distance between two segments or sites continuously, even when the objects have been moved. The endpoints for this ruler are attached to a segment and can be offset to a particular point in space relative to that segment.

Create Ruler Dialog

Rulers are drawn as white and red lines between points. These ruler “ticks” change color every 10 units by default, however, the tick distance as well as the display units can be changed. The current distance is always displayed at the center of this line.

Ruler Between two cubes

Page 160: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 143

Minimal Distance (Command: Utilities�Minimal Distance) Use this dialog to determine the minimum distance between two convex segments in the Graphics Window. The dialog displays the scalar distance and the vector between the two closest nodes on the segments. The computations are based on the Gilbert, Johnson and Keerthi algorithm, which computes the vector (Distance Vector) between the closest nodes of two segments and the module of this vector.

Minimum Distance Dialog

Logging (Command: Utilities�Logging) Jack maintains a log of all operations it performs. This is useful for generating macros by capturing interactive commands and creating Tcl script files. Use this dialog to select a log file; start or stop the log file; edit the current log file; and select what appears in the log file. The default log file name is “.jk_log.tcl” and it is stored in the user’s settings file directory (e.g. $HOME/jack_4.1).

System Geometry Info (Command: Utilities�System Geometry Info) This option displays information related to the number of Jack objects present in the current environment.

Page 161: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 144

Reach Zones (Command: Analysis�Reach Zones) Advanced Reach Analysis The Advanced Reach Zone tool is part of the standard Jack functionality. It helps you generate zones that depict the areas of maximum and comfortable reach for specific Jack digital humans. With this tool, you can generate: • Joint-driven maximum reach zones depicting full movement of

both shoulders and the waist.

• Constraint-driven maximum reach zones factoring in such constraints as seat belts, steering wheel hand positions, head locations and more.

• Comfortable reach zones for the shoulder, elbow, wrist, hip, knee and ankle joints based on the industry's most recognized sources of comfort data.

Advanced Reach Shells

Page 162: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 145

Chapter 8: Measuring, Checking Utilities, and Analy zing Jack In this tutorial you will learn how to check for collisions and work with constraints between objects within the Jack scene.. In general, measurement provides a way to begin to move beyond subjective analyses to very precise and objective ones. You will become familiar with measuring using rulers and distance commands. ⇒ Delete your current scene by choosing EDIT->DELETE SCENE

⇒ Open the file Chapter8.env

Exercise: Collision detection In this section you will learn how to use Jack to evaluate collision detection between figures or segments. Let’s start by using collision detection on a figure and a segment (the human squatting to lift a crate off the shelf).

⇒ Move your view to the Jack figure near the shelf.

⇒ Select the menu option UTILITIES->COLLISION DETECTION

⇒ Choose the continuous option for the collision mode and highlight for the display type

Highlight display type will cause the segments in collision to be highlighted. ⇒ Choose Modified M & W for the detection algorithm

⇒ Select Add

This will add figures or segments to check collision detection with.

⇒ Choose CHECK with Segment

⇒ Select the human palm as the segment to check

⇒ Choose WITH Figure

⇒ Select the Crate as the Figure to check With

⇒ Hit Apply

⇒ Move the Human Hand using the CONTROL PANEL until it collides with the Crate

You should see the palm and the crate highlight in yellow.

Page 163: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 146

Collision Detection

⇒ In the box labeled Add Segment Pair to Collision List click on the add ,

segment and pair check boxes

⇒ Click on the button Flash List

All the segments that are in the collision list will flash in the GRAPHICS WINDOW. Also notice the collision list status section shows you how many items are being checked for collision. ⇒ Click on the button Inspect List

This will bring up a COLLISION LIST DIALOG. On the left hand side is a list of all segments in the collision list. ⇒ Click on one of the segments listed on the left hand side

The list on the right hand side of the COLLISION LIST DIALOG, lists all the segments that are paired with the segment highlighted in the left hand box.

Page 164: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 147

Collision Detection Inspect List

Now lets remove these two objects from collision detection. ⇒ Change the ADD button from being selected to the REMOVE button

selected

⇒ Choose CHECK with Segment

⇒ Select the human palm as the segment to check

⇒ Choose WITH Figure

⇒ Select the Crate as the Figure to check With

⇒ Hit Apply

The crate and palm should return to their original colors.

⇒ Dismiss the COLLISION LIST DIALOG

Note: The number of segment pairs in the collision list is reported on the dialog in the box labeled Collision List Status. The number of segment pairs in the collision list i s updated once you hit Apply. Exercise: Constraints ⇒ Load in the file smallcube.pss from the OBJECT LIBRARY

OBJECT>CREATE>FIGURE FROM LIBRARY

⇒ Load in the file chain.fig from the OBJECT LIBRARY OBJECT>CREATE>FIGURE FROM LIBRARY

⇒ Open the CREATE CONSTRAINT DIALOG from UTILITIES>CONSTRAINT>CREATE CONSTRAINT

⇒ Move the chain and small cube in the scene so they are not loaded on top of one another

⇒ Select a site on the cube as the Goal Site

⇒ Select chain.arm2.top as the End Effector Site

⇒ Select chain.basejoint0 as the Starting Joint

⇒ For the Orientational Relationship Drop Down Box select None

Note: The Orientation Position Weight Slider is aut omatically set to 1.0 ⇒ Check the Active Box and hit the Create Button

A constraint has now been created between the bow and the chain. ⇒ Move the box

⇒ Hit Begin Move in the Interactive Reach and manipulate the goal

Page 165: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 148

Note: The two constraints can work across the same joint structure.

Active Constraint Between the Chain and the Cube

Exercise: Scalar Measure ⇒ Move your view over to the Jack human working at the Computer Station on

the Mezzanine

⇒ Select the menu option UTILITIES->MEASURE DISTANCE

⇒ Click on the button labeled Position Point 1

⇒ Use the snap to options on the MOVE CONTROLLER to position the measurement point on a node at the base of the desk

⇒ Click on the button labeled Position Point 2

⇒ Use the snap to options to position the second measurement point on a node on the top of the desk.

Note: The linear distance, the translation and rota tion that define the relative transformation between the two sites that you select are displayed in the dialog

Page 166: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 149

Scalar Measure

⇒ Click on the Position Point 1 button and select a different location for the end point

Note: The information displayed is updated to refle ct this new point.

⇒ Dismiss the MEASURE DISTANCE DIALOG

Exercise: Create Ruler ⇒ Select the menu option UTILITIES->RULERS

⇒ Pick a site on the humans face to create the ruler from

⇒ Pick a site on the computer screen to create the ruler to

⇒ Click on the offset button and snap the ruler end points to nodes or faces on the figures

Ruler Dialogue Window

Page 167: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 150

Note: You can use all the tools you normally would use to locate sites or objects relative to other objects t o place the end point of the ruler. The point you choose will deter mine which segment the ruler end points move with. ⇒ Hit Create

⇒ Move one of the figures

Notice that the ruler dimensions change as the distance between the two endpoints changes. ⇒ Move the other figure

⇒ Hit the Delete button to remove the ruler completely

Multiple Rulers in a Scene

Exercise: Minimal Distance ⇒ Select the menu option UTILITIES->MINIMUM DISTANCE

⇒ Pick a segment on the table

⇒ Pick a segment on the computer

⇒ Hit Compute

You will see the minimum distance between these two segments

Exercise: Maximum Reach Analysis ⇒ Move over to the Jack human standing in front of the table with tools

⇒ Select the menu option ANALYSIS: REACH ZONES

⇒ Select the option Joint Angle Driven From Shoulder

⇒ Select the Human figure you wish to analyze

⇒ Select a site on the right palm as the Traced Site

Page 168: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 151

⇒ Hit the Generate button

A reach zone is a figure in your scene. You can change the display or move the reach zone.

Transparent Reach Zone

⇒ Right mouse click on the reach zone and choose DISPLAY->TRANSPARENT

⇒ Now create another reach zone using Joint Angle Driven From Waist

⇒ Set the Waist Flex Angle to 85 degrees

⇒ Set the Waist Lateral Angle to 40 degrees

⇒ Hit the Generate button

⇒ Dismiss out of the Reach Analysis Dialogue Window

Reach Zone Driven From Waist Dialogue Window

Page 169: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 152

Chapter 9: Animation System Module (Command: Modules�Animation System) Up until now, you have been using interactive simulations to manipulate objects and human figures in the Jack environment. Although you can dynamically move objects you are inherently limited to one interactive manipulation at a time and you cannot playback this motion. However, Jack also provides another powerful capability: 3D motion definition, scripting, and playback. While Jack is a very powerful (yet easy to use) animation tool, a person using Jack needs to realize that animation is a very time consuming endeavor and patience is required to do involved projects.

3D Motion

Page 170: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 153

Animation Window The Animation Window contains all the functions necessary to create and playback motions in Jack. It consists of a menu, toolbar, and timeline.

Jack’s Animation Window

Menu The menus in the Animation window contain all of the commands available to create a simulation in Jack. They are organized into basic File and Control operations, Motion Primitives, and Timeline Options .

Animation Window Menus

Animation Window Icons (Command: Animation System Control) The Animation Icons provide quick access to common Animation functions.

Page 171: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 154

This function generates the frames for playback. This function must be used to view any edited or newly created motions.

This icon stops generation of frames.

This sets the initial frame for the animation. The file contains all the objects that will be animated and also indicates their starting postures and positions.

Rewind to Start

Step backward one frame

Stop Playback

Playback a generated animation.

Step forward one frame

Fast Forward to end.

This icon controls the cycle style during playback. It displays a pop-up menu with the following selections: forward, backward, loop forward, loop backward, and swing.

This icon controls the speed of playback. When the realtime box is checked the animation skip frames so that playback is displayed in realtime. You also have the option of changing the realtime multiplier. This allows you to view double, half, or any desired speed.

Timeline The Timeline graphically represents each motion within a time grid. You can delete, move, resize, and edit these motions using the <RMB>. You can also interactively move and resize specific motions by dragging them with the <LMB> . Finally, you can modify the size of the timeline using the + or - Button at the bottom of the animation window.

Page 172: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 155

Example Motion Editing Menu

Mouse cursor Command

Interactively move motion <LMB>

Interactively resize motion<LMB>

Interactively step through motions<MMB>

Motion Basics Motions in the Jack animation system require several basic parameters: a motion name, a weight, a velocity, a start time, a duration, and an objective or goal. Notice that a motion initial state is NOT required. In Jack the initial location is grabbed from the previous motion. This makes editing Jack motions very easy. There is only one state per motion that needs to be changed and this automatically updates subsequent motions. This format does require a starting position at time zero, however. Generate (Command: Modules�Animation System�Control�Generate) Jack uses key framing to create motions. The starting frame is defined from the last position of the previous motion. When a new

Page 173: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 156

motion is created, you will only need to define the last position of the previous motion and Jack will figure out how to translate between the end position or the last motion to the newly defined position (after the motions have been generated). Complex tasks typically consist of many motions overlapping each other. Jack provides the capability to generate these motions interactively, using all of the power of the realistic human movement and behavior that is built in to the human figure model. You don’t have to manually generate every joint motion and track the sequencing - Jack does all the hard work of motion generation and playback.

Jack Walking

Set Frame 0 (Command: Modules�Animation System�Control�Set Frame 0) The starting position for all objects in the environment is automatically specified when the ANIMATION MODULE is first created. It is possible to change this. It is also necessary to explicitly set the starting positions when new objects are added to an animation by setting frame 0 using the icon or by following the path above.

Page 174: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 157

Create Figure Motion Dialog

Motion Name: Each motion will have its own unique name. Weight: Each motion describes movement of a part of a figure through a kinematic constraint. Consequently, it is possible to have two motions affect the same part at the same time. The weight function describes the constraint’s strength over an object relative to another constraint. Velocity: Each motion in the Animation Window has a predefined velocity profile described through a kinematic constraint. The speed of the end effector along the path between the starting and ending positions is controlled through the velocity function: Start: This parameter specifies the starting time for the motion. Note that the time will be either listed as seconds or frames. There are 30 frames in a second on the animation timeline. Duration: This parameter specifies the overall duration for the motion. Note that the time will be either listed as seconds or frames. There are 30 frames in a second on the animation timeline. You do not explicitly set the ending time for a motion; rather, end time = start time + duration. Group: Specifies which motion group to add the motion to. Typically there is only one motion group (named "default"). The motion group must already exist to be specified in this field. You can create a motion group by right clicking (<RMB>) on the group icon and selecting "New" from the menu.

Page 175: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 158

Figure Motions (Command: Modules�Animation System�General�Figure) Figure Motions provide an easy way to translate and rotate a Figure around the environment. In fact, you use the MOVE CONTROLLER to reposition the figure. When you are finished, the motion dialog captures the current location of the figure and uses it as the goal in the animation. Note: Figure motions record the position and orient ation of the figure. Joint angles are not recorded. Joint Motions (Command: Modules�Animation System�General�Joint) Joint motions provide a convenient way to specify goal positions for many joints at once. Specifically it is possible to create a joint motion that moves one joint in a figure, several joints in a figure, or all the joints in the figure to specified goal positions. You can do any interactive manipulation to set the goal location for the joints. Every joint in the list will be animated by the motion. Note: The position of every joint in the list at th e time the Create button is hit will be taken as the new goal. Only this final position is recorded, not the path of the mov ement. Timed Attachments (Command: Modules�Animation System�General�Relational-�Timed Attach) Time attachments let you control the movement of one figure by attaching it to another.

Page 176: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 159

Timed Attach

Constraints (Command: Modules�Animation System�General�Relational�Constraints) Constraints define a constraint for a set duration of time during a portion of your animation. Path Motions (Command: Modules�Animation System�Paths�Figure Path) Path motions let you attach objects to predefined paths in space. The site path1.paths.point will move along the path over the time interval of the path motion. The motion of this site can be used to control an object’s translation and orientation.

Page 177: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 160

Figure Path Motion

Human Motions (Command: Modules�Animation System�Human) Human Motions in Jack are just Basic motions using all of the human manipulations and behaviors available in the Human Control Panel. Just like Figure Motions, the Human Control Dialog is used to manipulate the human. The Motion Dialog then saves the new human position.

Timed Behaviors (Command:Modules�AnimationSystem�Human�Timed Control) The behavior setting of the human affects what motion results when you create motions for the human. It is possible to explicitly control (and change) the human behavior settings during the course of an animation. Like timed attachments, timed behaviors are a useful way to control the motion of one figure through the motion of another figure. Consequently, you can generate animation of the human using the motion of other objects. Timed behaviors are also useful for situations where the most appropriate behavior changes over the course of the task being animated. Camera Motions (Command: Modules�Animation System�Scene�Camera) Camera motions allow you to change view during an animation. When you create this motion the camera doesn’t move. It is already at the goal position. By default the initial frame doesn’t contain camera information. As a result, the first camera motion becomes the initial location for the camera.

Channelsets Channelset files are a way to save multiple motions or channels (joint angles and positions for each frame) into one motion. Channelset files can be read back in and added to your animation. Creating Channelsets (Command: Modules�Animation System�Channelsets�Save Channelsets) A channelset can be created for any time frame and for any figure in the environment. In addition, a single channelset file can contain motions for multiple figures.

Page 178: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 161

Write Channelset Dialog

Replaying Channelset Motions (Command: Channelset�Channelset Motion) To replay a channelset, load the file from either File�Open or in the Animation Module Channelset�Load Channelset. Next, assign the figure animations from the channelset to figures in the current environment. Notice you can load many channelset files and can select any of these. Also, the duration option in the dialog is grayed out. Unlike other motions, a channelset’s size is specified in the channelset file. Otherwise, the motion can be deleted or moved like any other motion in the timeline.

Page 179: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 162

Create Channelset Dialog

Channelset Editor The editor allows individual joint and figure motions saved within a channelset to be included or excluded. The channelset file can be loaded into the editor from CHANNELSET�LOAD CHANNELSET. The new channelset can then be saved and used to create a new animation.

Movie Export Movies that can be played back outside of Jack are useful for sharing simulations with others. These are very easy to create with Jack. The Export Animation dialogue is located under Modules�Animation System�File�Export Animation.

Page 180: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 163

Movie Export

Jack will generate images for each frame and compile them into an animation file. Images for this animation can be rendered the same as individual screen captures. Finally, the screen saver should be deactivated during the entire export process. Windows or other activities that interfere with the animation will be recorded into the subsequent movie. The movie will be automatically saved to your home directory. Resolution The resolution determines how large the movie image is and also how big the resulting file is. Use the smallest resolution you can get away with. If you try to resize a movie created at a low resolution to make it larger you will notice the lack of resolution. The image will be very coarse. Animation Options The start and stop time allows you to crop the beginning and the end of your timeline. In other words, Jack allows you to select a portion of an animation to export. The default times in the dialog are the actual beginning and end frames of your animation.

Page 181: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 164

Output Options Jack’s animation system allows you to output a finished movie, environment files (saves object positions) for every frame, or individual images of every frame. These image files can be used with external movie utilities to create complex fades or merge with existing footage.

Animation Tips Constraint Vs Joint Motions: Joint motions tend to be smoother than constraint motions in animations. Constraint motions required a considerable amount of computation for figures with a number of joints and the motions may therefore be less fluid when constraints are used. It is recommended that you use the constraints to position the figures for the motions, but record the joint positions in the motion file. Constraint based motions do have an advantage over joint based motions in terms of their ability to react to changes in the scene or animation. For example, if an arm motion is used to reach a box in the scene, the animation will automatically change appropriately if an earlier motion is modified top put the box in a new location. If a joint motion had been used, the figure would continue to reach for the old location of the box, since only the joint displacements (and not a constraint/behavior goal) are recorded. Generation: Disabling the TJ_Window during generation will generate the motions faster. Simply right click in the TJ_Window and select Disable. Handprints and Footprints: This tool brings in hand and footprints and automatically constrains a human to them. In some cases, this can be an easier method for positioning the human within the scene. _Motcs File: The _motcs (also referenced in this document under Quickstart) file is automatically created when you save the _motions file from the animation panel. This file will open automatically when the _motions file is loaded. This has two benefits. 1. Generation is not required unless changes are made to the

motions. 2. Packet size is greatly reduced during collaboration. Loading an

_motions file that has an associated _motcs file will

Page 182: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 165

automatically load the motions on all participants and then only the frame, rather than all the motions, will be collaborated.

Motion Times (Motions not being generated): Motions, including attachments, need to be at least .03 seconds. This is equivalent to one frame. Motions less than .03 may or may not be generated. Pose Figure Vs Joint Motion: It is recommended that you use the pose figure to position the figure for the motions, but record joint motions and the figure position rather than the pose figure. The pose figure command contains joint positions and a figure position. Therefore, if you reposition the figure with the pose, the figure motion and the pose motion will need to be recorded in parallel. If the pose motion and the figure motion are recorded in parallel, you will essentially have two figure motions on the same figure recorded in parallel and Jack may or may not use the figure motion that you intended. Quickstart: Animations can now be loaded and played without requiring users to generate the motions. This has been integrated into Jack 5.1 and will work as long as no changes have been made to the motion files. In order for quickstart to work, animation files mu st be loaded directly from the animation panel. If the motion files are loaded from the main File>OPEN dialog, the motions will need to be generated. See _motcs for more information.

Page 183: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 166

Chapter 9 Tutorial: Animation System Module This tutorial will guide you through Jack’s basic animation features such as manipulating the human and moving objects. You will also learn more advanced animation techniques and tips for creating realistic animations. Exercise: Animation Window This exercise will introduce you to the basic features in the animation window. ⇒ Delete the scene and read in the Ball.pss from the Object Library

(Object—Create---Figure from Library)

⇒ Scale the ball to make it smaller by right clicking on the ball and selecting Scale

⇒ Reduce the scale by all axes to .2

⇒ Move the ball away from 0,0,0

⇒ Create a human

⇒ Open the ANIMATION WINDOW

⇒ Examine the available menus.

Note: The timeline is empty.

Scene for Basic Animation

Exercise: Basic Animation This exercise will introduce you to some basic animation features. You will move the sphere and human.

Page 184: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 167

⇒ Set Frame Zero in the Animation Window

Set Frame Zero Icon

⇒ Create a Figure Motion. In the Animation Window General---Figure

⇒ In the FIGURE MOTION DIALOG leave the Weight and Velocity at Constant.

⇒ Set the Start time for 0. (The motion will begin at 0 seconds)

⇒ Set the Duration for 1 second. (The motion will last for 1 second)

⇒ In the FIGURE MOTION DIALOG select the sphere as the Figure and hit Move.

Figure Motion Dialogue

⇒ Move the sphere to its end location for the move animation. When finished hit Create, Apply and dismiss the dialog.

This will create a motion in the Timeline.

⇒ Hit the Generate button

Page 185: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 168

Note: The motion will replay as it generates the fr ames. The playback controls can then be used to control the g enerated motions.

⇒ Hit the Play button.

⇒ Move and resize the motions in the timeline by using your mouse button over the timeline and clicking/dragging the time. When you are finished hit generate again.

⇒ The time should have changed.

Exercise: Group manipulation This exercise will demonstrate moving an object multiple times.

⇒ Create another Figure Motion for the sphere by selecting General---Figure in the Animation Window.

⇒ Set the start time after the first motion.

⇒ Apply a duration of 2 seconds.

⇒ When finished hit Create and dismiss the dialog.

This will create a second motion in the Timeline.

⇒ Hit the Generate button

⇒ You should now see the sphere move two times.

Note: Both motions are resized to the new size of t he default group.

Exercise: Human Linear Walk This exercise will demonstrate how to have a human perform a walking motion.

⇒ Now we will have our human perform a walk motion.

⇒ Rewind the motion to frame 0 using the icon

⇒ Select Human---Linear Walk from the Animation Window

⇒ Leave the Weight and Velocity set to constant.

⇒ Set the Start Time at 0 seconds.

⇒ Set the Duration for 2 seconds.

⇒ Choose Forward, Swing Arms for the Mode. (Notice the other Mode Types).

⇒ Choose the Human figure.

⇒ Move the Human to its end location for the walk. (Move the human forward).

⇒ Hit Apply and Dismiss.

Page 186: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 169

⇒ Notice the new figure motion in the animation timeline.

Multiple Motions in the Timeline

Note: Animations contain an object’s final destinat ion only.

⇒ Generate the Animation .

⇒ Notice the ball motions and the human motions.

⇒ Modify the timing on the motions.

⇒ Hit Generate .

Exercise: Human Pose This exercise will demonstrate how to have the human take a posture motion at the end of the walk created in the last section.

⇒ Select Human---Pose from the Animation Window

⇒ Leave the weight and velocity set to Constant.

⇒ Set the Start Time to be at the end of the Human Linear Walk created in the last section.

⇒ Set the Duration to .5 seconds.

⇒ Select the Human Figure.

⇒ Select the Pose Standing Working from the drop down list. (Notice these are the same saved postures available on the human in the Human Context Sensitive Menu)

Page 187: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 170

Human Pose Motion

⇒ Notice the addition of a Pose to the timeline.

⇒ Generate the Animation .

⇒ Play the Animation.

⇒ Check the Realtime Box in the Animation Window. And set it to .5.

Realtime Playback

⇒ Hit Play

⇒ The animation plays back at half the time.

Exercise: Saving the Animation This exercise will demonstrate saving an animation file and replaying saved animations.

⇒ Choose File---Save from the Animation Window

⇒ Name the File.

Page 188: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 171

⇒ Select Save.

⇒ Select Save again.

⇒ Notice there are two files saved. The first is the Environment File, and the second is the Animation File associated with the environment.

⇒ Close Jack.

⇒ Reopen Jack.

⇒ Open the new Environment file you created File---Open.

⇒ Open the new Animation file you created (it should be the same name as the environment file with the addition of _motions in the filename)

⇒ Open the Animation Window.

⇒ Notice the motions are in the animation window.

⇒ Playback the animation.

Exercise: Human Path Walk This exercise will demonstrate the human walking along a defined path. ⇒ Delete your scene (Edit---Delete Scene) and clear the animation window.

⇒ Open the File Chapter10.env

⇒ Open the File Chapter10_motions.env.

⇒ Open the Animation Window.

⇒ Rewind and Play the Animation.

⇒ Review the motions in the timeline.

⇒ Notice there are several Motions in the timeline. There are human walking, posture and Robot Joint Motions. There is also a support motion and a figure motion.

⇒ In the Animation Window, select File---Clear Animation---Yes

⇒ The Animation Window should now be empty.

Now you are going to create a path for the human to walk along. The human needs to walk to the monitor station near the robot.

⇒ In the Object Hierarchy, delete the existing Path in the list by Right Clicking on the Path and Selecting Delete.

Page 189: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 172

Deleting a Path from the Object Hierarchy

⇒ Rewind the Animation Window.

⇒ Set Frame 0.

⇒ Select Paths---Create Path

Path Point #1

Page 190: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 173

⇒ You will see the Path Dialogue open and the first path point has been

created at 0,0,0. Keep the first point at 0,0,0.

⇒ Hit Add After to add another point. This point has been created in the same location as the last point. (See image below for a sample of locations for path points).

⇒ Move this second path point. Be sure to have all path points created on the floor (Y=0).

⇒ Once you have the second path point where you want it, hit Add After again.

Another point has been created on top of (in the same location) as the last point.

⇒ Move this third path point to its desired location.

⇒ Keep adding points until you have a path that ends in front of the monitor station. See image below.

Path Creation

⇒ Once you have completed the path, hit Apply and Dismiss the Window.

⇒ Now that you have added a path to the scene, you need to reset frame zero. Hit Set Frame 0.

⇒ In the Animation Window, select Human---Path Walk.

Page 191: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 174

Human Path Walk

⇒ Now that you have added a path to the scene, you need to reset frame zero. Hit Set Frame 0.

⇒ In the Animation Window, select Human---Path Walk.

The Path Walk Dialogue will open.

Human Path Dialogue

⇒ Leave the weight and velocity set to constant.

⇒ Set the Start Time at 0 seconds.

⇒ Set the Duration for 2 seconds.

⇒ Select the Male Human near the path.

⇒ Select the Path.

Page 192: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 175

⇒ Tip: You may need to select the path from the Object Hierarchy.

⇒ Hit Create, Apply and Dismiss the window.

⇒ Hit Generate.

The human walks the path to the monitor and robot control.

Note: Objects can also follow paths. Paths can be c reated at any location in space.

Note: The path is a figure in the Object Hierarchy. This object can be made invisible for presentation or viewing p urposes. Right click on the path and Select Display Path to turn the path visible and invisible.

Exercise: Human Motions This exercise will demonstrate having the human reach out for controls. Create a human motion for the human to reach out with the left hand and turn on the Robot using the control.

⇒ In the Animation Window select Human---Arm Motion

⇒ Leave the weight and velocity set to constant.

⇒ Set the Start Time at 2 Seconds. (The end of the path walk)

⇒ Set the Duration at .5 Seconds. Select the Human.

⇒ Choose the Left Side.

⇒ Leave the Starting Joint as the Shoulder.

⇒ Leave Include Wrist selected.

⇒ Hit Adjust.

⇒ The human control dialogue opens and you can adjust the human hand to the desired location. Move the hand to the red control button on the control box.

Page 193: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 176

Arm Motion

⇒ Once you have completed moving the hand, Hit Apply and Dismiss the

window.

⇒ A new arm motion has been added to the timeline.

⇒ Hit Generate.

Create a head motion at the same time as the arm motion.

⇒ In the Animation Window select Human---Head

⇒ The head motion dialogue window will open.

⇒ Leave the weight and velocity set at constant.

⇒ Set the Start Time at 2 Seconds (the end of the path walk).

⇒ Set the Duration at .5 Seconds (the same as the arm motion).

Page 194: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 177

Head Motion

⇒ Select the human.

⇒ Hit Adjust.

⇒ The Human Control Dialogue will open.

⇒ Move the head to the center of the computer monitor. (Use the Snap To Face Center feature)

⇒ Hit Create.

⇒ Dismiss the window.

⇒ Hit Generate.

The head and arm motion happen at the same time in the timeline.

Exercise: Joint Motions, Interactive Reach and Timed Attachments This exercise will demonstrate having a robot move multiple joints to pick up a box and place it on the conveyor. You will now finish recreating the animation you reviewed in the previous exercise.

⇒ Using the Adjust Joint Icon in the Jack Toolbar, select some of the joints on the robot to understand where they are located. Do not adjust the joints.

⇒ Notice that there are several joints located in the Robot.

⇒ Make sure you are at the end of the Timeline in the Animation Window. You should see a red line at the end of the timeline.

Page 195: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 178

End of the Timeline

You will now move the robot to pick up the box on the table.

⇒ In the Jack Toolbar select Object---Interactive Reach

⇒ Select a site on the end of the robot for the End Effector Site.

⇒ Select the base of the robot (Robot_Jack5.J4) as the Starting Joint.

⇒ Begin Move.

⇒ Move the head of the robot to the cube.

⇒ Dismiss the window.

Interactive Reach

⇒ Create a Joint Motion to capture this move.

⇒ in the Animation Window choose General---Joint Motion

⇒ The joint motion dialogue window will appear.

Page 196: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 179

Joint Motion Dialogue

⇒ Leave weight and velocity set to constant.

⇒ Set the Start time at 2.5 seconds (The end of the human motions)

⇒ Set the duration at 1 second.

⇒ Choose the Figure Tab.

⇒ Choose the Selector in the Add all Joint from Figure.

⇒ Select the Robot as the Figure. (This will add all the joints from the figure to the new motion).

⇒ Hit Create.

⇒ Dismiss the window.

⇒ Hit Generate.

⇒ The robot moves to the cube.

⇒ Create a Timed Attachment for the cube to attach to the Robot.

⇒ In the Animation Window select General---Relational---Timed Attach

Page 197: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 180

⇒ Set the weight and velocity at Constant

⇒ Set the start time to 3.5. (You want the attachment to begin at the end of the first robot motion)

⇒ Set the duration for 3 seconds.

⇒ Choose the cube as the Figure

⇒ Choose a site on the end of the Robot as the point to Attach to.

Timed Attachment Dialogue

⇒ Create another Robot motion to move the cube off the table and to its new location. Use the Interactive Reach and Joint Motions to create multiple robot motions.

Once you have the Robot Motions and the Cube Moved to the conveyor, add a figure motion for the cube to move down the conveyor.

⇒ General---Figure

⇒ Choose the Cube

⇒ Specify a Start time and Duration.

⇒ Move the Cube to its new location.

⇒ Apply and Dismiss the window.

⇒ Generate.

Page 198: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 181

Exercise: Timed Control This exercise will demonstrate timed controls on the human. You will now finish recreating the animation you reviewed in the previous exercise.

⇒ Move the timeline in the Animation Window to 2.5 Seconds (This is at the beginning of the Robot motions)

Time Line at 2.5 Seconds

⇒ In the Animation Window select Human---Timed Control---Head

We will create a timed control telling the head to fixate on the cube during the remainder of the animation.

⇒ The Head Control dialogue will open

Page 199: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 182

Timed Control Head Dialogue

⇒ Leave the weight and velocity set at constant

⇒ Set the Start time at 2.5 seconds

⇒ Set the Duration to happen until the end of your animation. (If you animation ends at 9 seconds then the duration would be 9-2.5= 6.5)

⇒ Select your Human.

⇒ Select Fixate as the Type.

⇒ Select a Site as the Goal Type.

⇒ Choose a site on the cube for the human to fixate on.

⇒ Hit Apply and Dismiss the window.

⇒ Hit Generate.

Open an Eye View window for the Human. You should see what the human can see during the walk and while he is watching the cube.

Page 200: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 183

Chapter 10: Other Modules Motion Capture – Real-Time (Command: Modules�Motion Capture – Real-Time) Motion Capture (MoCap) Module allows you to capture and playback motions using Virtual Reality (VR) hardware with Jack human modeling and simulation software. MoCap module consists of two independently licensed components: • MoCap - Real-Time • MoCap - Playback MoCap - Real-Time will allow you to track, capture, and playback motions while the MoCap - Playback will allow you to only playback prerecorded motions. MoCap module is available on the following platforms: • Windows (2000/XP) • SGI (IRIX) Following VR hardware are supported: • Motionstar by Ascension Technologies, Inc • Flock Of Birds by Ascension Technologies, Inc • Vicon Tracking System by Vicon, Inc • Cybergloves by Virtual Technologies, Inc MoCap Toolbar Motion Capture Toolbar allows you to access various commonly used functionality of the MoCap module at a mouse click.

Virtual Reality Devices Jack provides access to virtual reality devices with the Motion Capture Toolkit. The Jack Motion Capture Toolkit is a set of programs that helps you configure VR devices, register the human in the virtual environment, and subsequently drive and record the Jack human's motions.

Page 201: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 184

Tracking In the Tracking Setup dialog, you can setup a human figure for tracking and tracking parameters as well. Grasp Tracked human in the scene can be setup to grasp objects in real-time. You can setup grasp parameters in the Grasp Setup dialog. Recording You can setup recording data from the Recording Setup dialog. Eye View Windows You can setup size and location of Left and Right eye view windows and the main Jack window from the Eye View Windows Setup dialog. Playback Use either Tracker Motion Data Playback or c3d Data Playback to replay your VR files.

Plug-ins (Command: Modules�Plug-ins) The Add-on Module system is configured via the Plug-In manager available on the Modules menu. The module system allows you to add capabilities to Jack selectively as they fit your needs. The ADD-ON MODULES DIALOG box appears in the figure below.

Plug-in Dialog

This Dialog box allows you to see all of the currently available modules and to add or remove modules. Currently modules are available on SGI for Flock of Birds (both MotionStar and Serial

Page 202: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 185

Birds supported), and the CyberGlove. These devices are not supported on Windows and HP-UX, however. Additional modules are available for all platforms both in the standard distribution and from the support web site. Some of the modules currently available for Jack 5.1 include the following: AdvancedCommandGenerator This tool allows very quick and easy key frame animation. A user can tweak a human posture and placement, hit the Create/Modify button, and the figure and joint motions are generated automatically. CPort This is a tool for socket communication between Jack and other applications. Jack receives Tcl strings and interprets them. Added are a number of easy to use script functions to make scripting easy. CableGenerator This tool creates cables and cable like figures using joint chains. CameraTracking This allows the camera to be synchronized with either a figure bounding box center or a site. A constant offset is maintained between them. It has both dolly mode which maintains a fixed height, and boom mode, which follows the height of the entity. GridGenerator This is a tool for generating wireframe rectangular and hemispheric grids. Users have been asking for the ability to move our grid and for tools to help determine where objects are in the field of view.

Page 203: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 186

Grid Generator

MaterialReplace The new material palette tools take the place of this module. PatNets This is a state engine that works in the background testing for specified state. When the state is detected, a specified action occurs.

PrincipleComponentManikins This generates boundary manikins which samples of different extreme anthropometric proportions for testing. PrintToJack This tool generates movable, scalable, modifiable, 3D text from a text editor in the Jack scene. RetargetChannelSet This allows a channelset to be used so that it starts and ends at user defined locations. It also allows an offset to be added to joint angles in the channelset Sample This is a well commented and documented module that shows how to use Python and Tcl together to create add-on modules for Jack

Page 204: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 187

Sweeps This generates geometry for a list of segments for every location that they were at during a motion. Continuous mode hulls out the volume for a continuous surface. SyncSwimming This tool synchronizes joint angles between two human figures. This is most useful in VR scenarios where someone wearing sensors or markers would be able to manipulate a human figure model of a different size and proportions.

Sync Swimming

TATReporter This outputs the results of the 3DSSP, LBA and Fatigue Analysis for every frame of an animation. It allows for setting hand load changes in the animation.

JackCollaboration Allows collaboration of Jack figure and joint motions between 2 Jack users. New Modules Human Reach The Human Reach module quickly performs whole body posturing based on a small number of inputs. Users can move handprints and a vision target to goal locations. Overall body posture is automatically computed including up to one step to reach the goals.

Page 205: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 188

Users have the option to indicate whether or not the human figure should keep the feet stationary (assumes a barrier is in front of the figure), and can indicate whether or not to match the hand print orientation exactly, or to allow the system to estimate a more ideal hand yaw orientation. Note that it is possible to set the hand goal locations such that they are not met by the posturing algorithm. Nevertheless, the posture should provide a very good starting point that can be easily tweaked using the traditional human manipulation tools.

Goal Hand Locations

Advanced Hand This module creates a much more detailed hand, provides hand specific anthropometric scaling, and includes typical manufacturing postures for the hand. The new hand includes higher resolution geometry and modifications to the thumb articulation, including the addition of a thumb axis joint and modification to axes of rotation to allow more natural hand posturing.

Page 206: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 189

Advanced Hand

New human figures with the new hands are included, as are disembodied hand figures. The module includes a dialog for anthropometric hand scaling that allows the setting of hand length and hand breadth with either direct input, percentile values, or regressions. The proportions for each of the finger link lengths are regressed to the inputs, as are the breadths and depths at the joints. Special scaling is applied to the finger link segments so that the segment geometry blends at the joints and through the range of motion. The module also includes a dialog for applying manufacturing hand postures. The hand posture dialog also includes a function for applying an estimate of the thumb axis angle after manually setting the thumb joint angles. See Appendix I for more information on the Advanced Hand Module.

Page 207: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 190

Advanced HandShapes

Page 208: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 191

Chapter 10 Tutorial: Other Modules Exercise: Jack plugins This exercise will introduce you to the use of plug-ins in the Jack environment. ⇒ Open the file Chapter11.env

Human Reach Module

⇒ Load in the Human Reach Module from Modules—Plug-Ins

⇒ Select the Human Reach Module and hit Load

Human Reach Module

You have now loaded the human reach module and can begin working with it.

⇒ Open the Human Reach Module by selecting Modules-Human Reach-Human Reach

⇒ Choose Human2 (the female in front of the table) as your human

⇒ Select the Left Hand for the goal location

Notice a red handprint has been created on top of the humans current left hand. Now the handprint needs to be moved to its target location. Since the human needs to place a hand on each side of the box, each handprint will be moved.

⇒ Move the left handprint to the desired location.

Page 209: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 192

Start Location for Left Handprint

New Location for Left Handprint

⇒ Once the left handprint is in its desired location, select the right hand as the

goal location

⇒ Move the right handprint to its new location.

Page 210: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 193

New Location for Left & Right Handprints

Both handprints are now in the desired location for reaching to.

⇒ Select the Keep Feet Stationary (Check the Box). This will make the human keep its current foot locations.

⇒ Select Add Visual Target from the Human Reach Menu

A centroid has been created that the human will use as a visual target when generating the reach.

⇒ Move the visual target to its desired location.

Visual Target

⇒ Hit Generate Reach Posture

Page 211: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 194

Human Reach Posture

⇒ The handprints and visual target can be moved (like any figure in the scene) to other locations and the reach postures can be regenerated by selecting Generate Reach Posture again.

Advanced Hand Module

⇒ Load the Advanced Hand Module from Modules---PlugIns—Advanced Hand

and hit Load.

Advanced Hand Module

⇒ Open the Advanced Hand Module from Modules---Advanced Hand---Load Advanced Hand Female into the scene

Put your new Advanced Hand Female into a new posture.

⇒ Right click on your new human and chose Postures---stand_working

Page 212: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 195

⇒ Change the size of the hand using the Hand Anthropometry Scaling. Select Modules---Advanced Hand---Hand Anthropometry

⇒ Select 5th Percentile for Hand Length and Breadth

The Advanced Humans hand will update to the new anthropometry without effecting the other body dimensions.

Hand Anthropometry using the Advanced Hand Module

⇒ Change the shape of the hand using the expanded list of available hand shapes. Select Modules---Advanced Hand---Hand Postures.

⇒ Select your Advanced Hand Human.

⇒ Set the start posture at Neutral (this is the default)

⇒ Set the new hand posture to any other posture.

Page 213: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 196

⇒ Adjust the percent from neutral to open the hand shape.

⇒ Apply other hand postures from the same menu.

⇒ Load in just the Advanced Hand. Open Modules---Advanced Hand---Load Left Hand

⇒ Load in the Advanced Hand Right. Open Modules---Advanced Hand---Load Right Hand.

⇒ Change the handshape of the Hand. Open Modules---Advanced Hand—Hand Postures.

⇒ Select the hand.

⇒ Select a new end posture for the hand.

Left Hand from the Advanced Hand Module

Page 214: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 197

The hands are now figures in the scene and can be moved like any other figure. You can also change the shape of these hands.

These hands can be used for fast ergonomic checks where only the hand is needed to understand clearances and required postures to perform operations.

Page 215: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 198

APPENDIX

Page 216: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 199

Appendix A: Jack Toolbar Definitions

Opens the File Open Dialog

Opens the Save Current Scene Dialog

Toggles the TCL Log Window

Opens the View Control Dialog

Zoom To

Toggles the Object Hierarchy Window

Starts the Move Figure in pick mode

Opens the Adjust Joint Dialog

Create a Male Manikin

Creates a Female Manikin

Opens the Human Scaling Dialog

Opens the Human Control Panel

Opens the Animation Window

Selects the Object type menus available in the Graphics Window

Page 217: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 200

Appendix B: System Defaults Color: This page of the System Defaults dialog defines colors used in the Jack environment. Use this group box to select or modify the color used for the selected object. Use the radio buttons (defined below) to identify the object whose color you are changing. The group box includes a color sample that interactively shows changes you make. You can select from among the pre-defined colors or materials in the scrollable list at the bottom of this group. You can then use the Custom group to modify the color as desired. Custom: This group box consists of slider bars for Red, Green, and Blue. You can also specify numeric values for R, G, and B in the text edit fields below the respective slider bar. Background color: Determines the color of the Graphics Window background. Major grid color: Specifies the color of the major grid line divisions for the ground plane. Minor grid color: Specifies the color of the minor grid line divisions in the Graphics Window for the ground plane. Site color: Specifies the color of sites. Node color: Specifies the color of nodes. Inside wheel color: Specifies the color of interior segments of a rotation wheel. This color indicates valid rotation within defined joint limits. Outside wheel color: Specifies the color of exterior segments of a rotation wheel. This color indicates rotations that are outside of the defined joint limits.

Graphics: This page of the System Defaults dialog specifies how objects appear in the Graphics Window. Display Constraint Glyphs: Use this check box to enable display of glyphs showing the difference between constraint goal and endeffector location.

Page 218: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 201

Show Backfaces: Use this check box to display backfaces of objects. Reverse Stereo Left/Right: Checking this box will swap the left and right eye buffers used for stereo windows. This is necessary in certain hardware configurations. This should not be used for 2-channel stereo operation. Set Grid/Glyph Scale: Use this edit field to enter the grid/glyph scale. Set Line Width: Use this edit field to enter the grid line width. Near Clipping Plane: Use this edit field to enter the position of the near clipping plane. Far Clipping Plane: Use this edit field to enter the position of the far clipping plane.

Solver: This page of the System Defaults dialog defines constraint solver parameters used by Jack. Use caution when making changes to this page. These parameters affect the solution of user defined constraints and also human behaviors and manipulations that make use of built-in constraints. Solver Parameters: Use the parameters in this group box to change how constraints are solved. The parameters are:

Time Limit (ms): Jack uses an iterative numerical procedure to evaluate the constraints. The amount of time Jack spends solving this problem during one iteration before giving up and accepting a less than optimal solution is controlled by the constraint time limit. Step Factor (m): The motion determined by constraints is likely to be smoother and less prone to being caught in local (not global) minima if the distance that the goal moved in one iteration is small. The constraint step factor provides a limit on the distance between the end effector and the goal. Instead of using the actual goals, Jack uses intermediate goals placed in the direction of the end effectors but only a fixed distance away. This will cause the end effector to move more smoothly towards the real goal when the goal is far from the end effector but because the constraint is solved at intermediate step points more time will be required to reach the goal.

Page 219: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 202

Constraint Throttling: Use the parameters to control what happens when a solution to a constraint cannot be found: Active: Select the Off or On radio button to disable or enable constraint throttling. By default, this option is on. Constraint throttling controls whether or not Jack continues to try to solve the constraints even when there is no improvement. With the constraint throttling on, if there is no improvement greater than delta in the number of iterations specified for history size than the current solution is accepted and no further iterations are attempted until the goal moves. History Size: Use the slider bar or edit field to enter the number of iterations. History Delta: Use the edit field to specify delta Simulation Mode: Use this to indicate whether the solver should be active. Environment Update Optimization: When active, this improves the performance of some manipulations and motions, and allows faster loading of large environment files.

UI: This page of the System Defaults dialog specifies options for the user interface. Ignore Library File Warnings: Select this check box to ignore warning messages due to data read from the Library File. Dialogs stay on top of main graphics window: Select this check box to have all Jack dialogs remain on top even when you click on the Graphics Window. If you unselect this option, you can bring dialogs to the top by pressing <Alt+Tab>. Open option dialog when importing files: This check box is used to indicate whether the import options dialog should be automatically opened when importing a file. Remember window layout between sessions: Select this check box to save window placement and size information when exiting. This information will be used to give the same layout the next time you run Jack. Help Browser: Use this radio buttons to select the browser to use to display on-line help. The default is an internal browser. Other options are Netscape and Internet Explorer (Windows only). The Netscape and Internet Explorer options require that you already have the selected browser be installed on your machine.

Page 220: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 203

Maximum Number of Recent Files: Use this edit field to enter the number of files you want to appear in the list of files most recently opened. This list appears in the File menu above Exit. Default Male Filename / Default Female Filename: These indicate the files used when creating a default male or female figure. The fields can be changed to override the Jack default figures.

Units: This page of the System Defaults dialog defines the units of measure used in the Jack environment. You make selections from the drop-down list for the type of measure you want to modify. If desired, enter an increment in the associated edit field. Angle: Select either degrees or radians from the drop-down list. Density: This drop-down list provides selections for metric and English units in various scales. Distance: This drop-down list provides selections for metric and English units in various scales. Force: Select either Newton’s or lbs. Mass: Select gram, kg, or lbs. Torque: This drop-down list provides selections for metric and English units in various scales. Volume: This drop-down list provides selections for metric and English units in various scales.

Viewers: This page of the System Defaults dialog defines parameters for the Graphics Window viewer. Specifically from this page you can control the display of performance information, default lighting, and the sensitivity of the view control. Show Frame Rate: Use this check box to turn off or on the display of frame rate information in the upper right hand corner of the Graphics Window

Page 221: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 204

Show Frame Information: Use this check box to turn off or on the display of a frame count in the lower left hand corner of the Graphics Window Camera Light: Use this check box to determine whether the default light located on the camera is on or off Horizontal View Control Gain: Use this edit field to define gain for a horizontal change of view Vertical View Control Gain: Use this edit field to define the gain for a vertical change of view Zoom View Control Gain: Use this edit field to define the gain for zoom Horizontal Slide View Gain: Use this edit field to define the gain for horizontal slide change of view Vertical Slide View Gain: Use this edit field to define the gain for a vertical slide change of view Horizontal Pan View Gain: Use this edit field to define the gain for a horizontal pan view change Vertical Pan View Gain: Use this edit field to define the gain for a vertical pan view change Screen Size Culling: Use this check box to indicate whether screen size culling should be used to prevent the rendering of small graphical objects during object or view manipulation. Minimum Coverage: This edit field is active when screen size culling is enabled. This indicates the minimum screen coverage required for rendering; objects smaller than this will not be rendered, often increasing the frame rate in complex environments. Draw Final Frame Full: Use this check box to specify whether screen size culling should be bypassed when redrawing after a manipulation or view change. This allows screen size culling to optimize the frame rate during manipulations without compromising the appearance of the scene during static viewing.

Page 222: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 205

Appendix C: Snap Definitions Cursor Point: The object you are moving will snap to the location of the cursor. The first piece of geometry in line with the cursor is used to define the location of the cursor.

Site: The object you are moving will align to both the position and orientation of the site picked (combines the snap to site position and snap to site orientation options described below).

Site position: The object you are moving will snap to the location of the site you pick while keeping the original orientation.

Site orientation: The coordinate axes of the object you are moving will snap to the coordinate axes of the site picked, with as little rotation as possible. That is, Jack finds the coordinate axis of the thing you are moving that is closest to the orientation of the selected site and then aligns the two axes. The position of the object being moved will not change. Only its orientation will change.

Node positions: The object you are moving will snap to the location of the node that is picked, keeping its original orientation.

Edge line: The object you are moving will then snap to the closest point along the line defined by the selected edge. That is, the object will move along a path perpendicular to the line defined by the edge. The final position of the object being moved may or may not lie between the endpoints of the edge. The orientation of the object will not change.

Edge Position: Same as Edge line except position snapped to must be between the endpoints of the edge selected. If the closest point to the line defined by the edge is not between the endpoints, the object will move to the closest endpoint.

Page 223: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 206

Edge orientation: The object you are moving will snap to the orientation of the selected edge. As with the snap to site orientation, Jack aligns the coordinate axis that is closest in orientation to the edge with the edge.

Face Position: Same as Face plane except the position snapped to must be within the selected face. If the closest point to the plane defined by the edge is not within the face, the object moves to the closest point on an edge.

Face Center: The object you are moving will snap to the center point of the selected face. The orientation of the object does not change.

Face plane: The object will move to the closest point in the plane defined by the face. The orientation of the object will not change.

Face orientation: The object you are moving will align to the orientation of the face normal.

Square orientation: The orientation of the object is changed to align with the global coordinate system.

Ground Plane: The object is moved so its lowest node is at the ground plane (i.e., y = 0).

Page 224: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 207

Appendix D: Additional Jack Resources

Support and Feedback The official UGS site for downloading software releases and patches is:

http://ftp.ugs.com Once you logon to the site using your webkey, click on “Product Downloads” and scroll down to the Jack section. All released versions of the software and associated patches are available here. Release notes for the software can be found in the docs folder in the directory where Jack is installed.

A webkey is required to access these sites. There is a link on the sites above that will allow you to create a webkey account. You will need you’re sold-to id in order to set up your webkey.

Enhancement Requests/Problem Reports: To log any requests for enhancements or problem fixes, please visit the sites below. If you have specific questions regarding any issues, feel free to send me an email. Enhancement Requests:

http://qtac.plms-eds.com/cgi-bin/weber.sh Problem Reports:

http://qtac.plms-eds.com/cgi-bin/webpr.sh A webkey is required to access these sites.

Product Support Website: The official UGS site for product support is:

http://support.plms-eds.com. Global Technical Access Center is your focal point for post sale software support. The center provides both your application and operating systems software support through telephone and electronic access. GTAC is organized into specialized teams that support specific product disciplines. These teams are located in close proximity to their parallel product development groups, so they can quickly locate the path that will lead you to improved productivity.

Page 225: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 208

Customer Involvement Process: Please access the following address for instructions on how to participate in the Enhancement Request (ER) voting. http://www.plmsolutions-eds.com/CIP A sold-to id is required to access these sites.

Scripting Resources: Python and Tcl Scripts:

Python website: www.python.org. This site contains a number of resources for python, including a Python manual.

Python Books: Learning Python Lutz and Ascher Learning Python Reference Manual

Tcl\Tk Books: Practical Programming in TCL and TK Brent Welch

Sample Scripts:

Python Scripts: The Sample Scripts.zip file contains a couple simple example scripts using Jackscript and some information on how to interface with Tcl\Tk (Python-Tcl Demo). Look for other scripts in your installed directory under library\script\demo (e.g. C:\Program Files\jack31\library\script\demo”).

Page 226: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 209

Appendix E: .JK File Definitions (Advanced): These are files that are in the user’s home directory and save settings within Jack.

.jk4.install: Refers to where to find files if environment has no path in reference. If the file that Jack is looking for is in your working directory, it will use that first. .jk3rc: Jack variable that you want to persist from session to session. Includes information on units, recently used files, location of windows. Additional variables may also be set by modifying this file. .jk.log: log file similar to .jk.log.tcl, except that it can’t be run as script. This is just the messages minus the code to repeat steps .jk.views: All saved “named views” .jk.log.tcl: log file. Prints log viewer. Will persist until Jack is restarted. This file is continuously written. .jk.log.tcl~: The first time Jack is run, this log file is created. This file will remain unchanged. If deleted, it will be recreated next time you start Jack. .jk.humans.simple: Contains information on human models that have been created and scaled using the standard scaling dialog. .jk.humans.complex: Contains information on human models that have been created and scaled using the advanced scaling panel. .jk.mocap: This saves all the settings for the Mocap module.

Page 227: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 210

Jack51.bat: Start up script. Includes information on directory paths and install directory. Jack51_env.bat: Can be used for command line translation without having to run Jack. Adds paths.

Page 228: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 211

Appendix F: Extending Jack Through Scripting

Basic Scripting (Command: View�Toolbars – Consoles) Jack provides a number of opportunities for you to extend Jack. You can create your own scripts to perform tasks that you do often. You can create your own custom menus to quickly access files you use often or to run the scripts that you create. You can actually extend the functionality of Jack through Tcl or Python. TCL/TK When you use Jack 5.1 your Jack session is automatically logged in TCL format. These logs can be used to create custom scripts in ASCII format.

TCL Log

Tcl, the Tool Command Language (pronounced tickle), is an easy-to-learn scripting language that provides a very simple means to implement graphical applications under multiple computer operating systems. The Tk extensions to Tcl provide a window system text and graphical “canvas” toolkit for building GUI applications. The Jack 5.1 GUI integrates Tcl/Tk and core Jack functionality, and provides an open, extensible environment for creating customized applications or additional functionality. Automatically logging interactive manipulations and reading the resulting log file is just

Page 229: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 212

one way to use Tcl with Jack. You can also interactively execute Tcl commands from within Jack using the Tcl console. Python and Lisp Jack 5.1 also provides Python and Lisp Scripting APIs. These interfaces allow general programming of Jack internal functions.

Script Consoles

Exercise: TCL Log This exercise will introduce you to the use of plug-ins in the Jack environment. ⇒ Quit Jack so you can start fresh

⇒ Start Jack

⇒ Click on the TOOLBAR option to display the log window (the one that looks like a scroll)

⇒ Create a human

⇒ Move him (or her) around. Use the HUMAN CONTROL PANEL and THE ADJUST JOINT DIALOG to change his posture.

Note: As you do things in the Jack environment, inf ormation about what you are doing is written in the TCL Log window. By default all the information you see in the log window is saved in the file .jk_log.tcl in your home directory. It is a hidden file. ⇒ Quit Jack

⇒ Go to your home directory and copy the file .jk_log.tcl to mylog.tcl

The file .jk_log.tcl will be overwritten when you start Jack again. If you forget to copy the file before you start Jack, the file .jk_log.tcl~ contains a backup. ⇒ Look at the file with a text editor.

Page 230: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 213

Glossary Ambient: Determines the color of the surface when it is not illuminated by a light source. Balance Polygon: The display of the area considered to define balance. The area is a line between the toes and heels, down the foot center. If the composite center of mass of the human projects within this area, the figure is in balance. CAESAR study: Civilian American and European Surface Anthropometry Resource project to digitally scan the human body to provide more comprehensive data than was previously available through traditional methods of measurement. Channels: Channels are interpolated (in-between) frame data created during animation. Each channel holds interpolated data for an individual (or set) of parameters for each frame in an animation. For example, each figure in the environment has a channel associated with it. The figure channel holds the root site and global transformation matrix for each frame in the animation. If the animation is 60 frames long, each figure channel has 60 units. The data in all channels at a particular time represents the frame data. Check box: In a GUI, a square box next to a description of an option that you can turn on and off. A check box contains a check mark if the option is selected (turned on). Collision Queue: Defines the list of objects in the scene which are checked for collisions. You can add segment members to the queue via the collision detection utility interface. Constraint: A constraint is a desired geometric relationship. It also refers to all information that collectively defines that relationship. Jack solves constraints by the inverse kinematics algorithm, which means that appropriate joints of articulated figures are positioned so that desired relationships are satisfied. The constraint facility uses an iterative optimization algorithm to compute a set of joint angles that satisfy the constraint by placing the figure in a desired posture. We sometimes use the term reach because it is easy to visualize in terms of a reaching human arm. Jack allows you to define multiple constraints of various types. Constraints are geometric connections between objects, similar in some ways to joints, although the two are intrinsically different in two important

Page 231: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 214

ways. The first arises when a figure is over-constrained, meaning that all of its constraint relationships cannot be completely satisfied. The types of relationships modeled with joints, in human figure models and robot models, can never be violated, even just a little. Joints as we know them are not desired relationships: they are absolute relationships. Constraints are more flexible. The second distinction between joints and constraints is that in practice the desired relationships commonly expressed by the two fall into different classifications. Joints are typically rotational and/or translational. The transformation across a joint consists of a set of rotations or translations along predefined axes. Constraints can be much more general and vague; such has point-to-plane, direction, etc. Constraints and motion: The purpose of a constraint is principally to describe the position of a figure so that it satisfies some geometric condition. Constraints express desired relationships. The constraint evaluation procedure is the process by which joint angles of a figure are set so that proper relationships are achieved. The inverse kinematics algorithm is iterative, and each iteration generates a new set of joint angles which describe a new posture for the figure. Taken collectively, these positions can be viewed as motion: as the constraint is solved, the figure moves from its current posture into a posture which satisfies the geometric relationships of all constraints. However, this is not motion in the sense of animation or simulation, but is an illustration of the execution of the numerical algorithm. Because of the problems with local minima and redundancies, the inverse kinematics algorithm is not good at generating motion sequences. We often refer to the influence of constraints, and speak of figures moving under the influence of constraints. The constraints themselves are not the primary cause of motion, but they allow a figure to reach to motion initiated by other means. If we measure the desired relationships described by the constraints with potential energy, then the process of evaluating constraints is the search for equilibrium. The animation or simulation of articulated figures consists of the explicit movement of certain elements of the geometric environment. The process of evaluating constraints generates desired motions as a side effect. Degree of Freedom: For a kinematic joint, the degree(s) of freedom (or "DOF") define the allowable motions for the joint. There are maximum three translational and three rotational DOFs possible for any joint. Diffuse: Determines the color of the surface when it is illuminated by white light.

Page 232: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 215

Drop-down list: A drop-down list appears next to an edit field with an associated drop-down arrow button. An edit field with a drop-down list displays the current choice, which you can change using either of two techniques: Click on the drop-down arrow button. This displays a selection list. Choose an option by clicking on it. Click in the edit field, and type the desired option. Edge: A psurf represents the geometry of each segment. Psurfs are graphs of nodes and edges. Two nodes define an edge and an edge is part of the definition of two adjacent faces. Edit field: A rectangular box in a GUI into which you type information, such as a figure name. End effector: The end effector is the reference point on the figure which is constrained. The positional component of the end effector must be a single point. Currently, the end effector may be a site or a node. The significant part of the end effector is one dimensional — Jack does not yet have the ability to define multi-dimensional end effectors, such as lines or planes. Environment (env) file: An env (environment) file defines all figures, camera locations, and lighting in a scene. It defines names for all figures, and reloading an environment file will reset the scene as opposed to creating duplicate figures. Face: Each segment has a geometry associated with it that is represented by nodes and faces. The outside of a face is defined by a clockwise walk of nodes and the application of the right-hand rule to determine the outward pointing normal to the face. The opposite side of the face is the inside. Face Orientation: Jack assumes that all faces have a consistent orientation. It determines orientation using a right hand rule: Traverse all nodes of a face in a counterclockwise direction. Applying the right hand rule to these nodes yields an outward-pointing normal to the face. Only the outside surface of faces have shading. The reverse side of a face always appears with ambient light shading. Reversing a face changes the direction of the normal, so the face will change from shaded to transparent and vice versa. The Fix All command in the Geometry Editing dialog with the Face entity type selected attempts to correct the shading of all faces using the right hand rule described above.

Page 233: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 216

Face goal: When you select a face goal type, the end effector is directed toward any point in the face. With a face goal, you may have a position relationship of point-to-point, point-to-line, or point-to-plane. The orientation relationships use the orientation of the segment to which the face belongs. With a point-to-point position relationship, the potential energy of the constraint is the shortest distance between the end effector and the face. The relationship is a piecewise function. If the point on the face closest to the end effector is a vertex of the face, then it acts like a point-to-point type. If the closest point is along an edge of the face, then it acts like a point-to-line type. If the closest point is in the interior of the face, the it acts like a point-to-plane type. With a point-to-line relationship with a face goal, the line is allowed to pass through anywhere on the face. The direction of the line is a parameter that you must enter. The default value is the normal to the face. With a point-to-plane relationship, the plane passes through the center of the face. You must enter the normal to the plane. The default value is the surface normal of the face. With this value, the plane is the plane of the face. Figure: Figures are composed of one or more segments. If there is more than one segment in a figure, the segments are usually connected by joints to allow movement. The location of segments and joints are identified by sites. Each segment has a geometry associated with it that is represented by nodes and faces. Figure (fig) file: A fig (figure) file defines all the segments and joints of a figure. This is a generalized template of a figure that you can load with different names. Glossiness (Gloss): Specifies the distribution of the specular highlights. A large value (approximately 50) indicates small and focused specular highlights. Smaller values define broader highlights. By default this value is zero, which indicates that there is no specular highlight. A value of 30 is typical for a shiny surface. Goal: The goal is a geometric location that describes the desired position for the end effector. Currently, the goal may be a site, a node, a face, or a general homogeneous transform. The goal itself is a geometric entity — how the goal defines the desired position of the end effector is defined by the objective type. The positional component of the goal may be more than a single point, such as an unbounded line or plane.

Page 234: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 217

Goal site: A site that is the goal for the end effector. The goal site defines the desired position of the end effector at the completion of a motion. Graphics window: The main application window in Jack. All manipulations and animations occur in the Graphics Window. Ground plane: The ground plane is the XZ grid that appears in the Graphics Window. The Y-axis points up, orthogonal to this plane. Inverse kinematics: An iterative optimization algorithm used to compute a set of joint angles that satisfy constraints by placing the figure in a desired posture. Each iteration of the inverse kinematics algorithm generates a new set of joint angles that describe a new posture for the figure. Taken collectively, these positions appear to be motion because the figure moves from its current posture to a posture that satisfies geometric relationships defined by constraints. However, this motion is not the same as animation. It is simply the result of computations made to position the figure so that it satisfies the constraint relationships. Joint: The angles at the joints of a figure define its posture. Joints connect sites on different segments within a figure. These joint angles may be manipulated in Jack with Human>Adjust joint. For convenience, this command is bound to <Ctrl-e>. Joints in Jack may have specific degrees of freedom. A degree of freedom (DOF) is a rotation around a specific axis. This rotation describes the relative orientation of the two sites that the joint connects. Joints may also be prismatic, in which case they translate along the axis. The transformation between the sites that a joint connects is formed by the product of the simple rotations and translations associated with each degree of freedom in order. If a joint has no degrees of freedom, it means that no axes of rotation or translation have been defined. Such joints represent arbitrary transformations between segments. When you adjust such a joint, you can manipulate the transformation across the joint the same way as with the move figure command. Library file: One of the file types supported by Jack contained in a directory in the search path for the library. Node: A point on a segment defined by local X, Y, and Z coordinates. (Also known as a "vertex".) Collectively, the nodes of a segment define its geometric shape. Two nodes define an edge. Nodes and edges define a psurf, and a psurf represents the geometry of each segment.

Page 235: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 218

Objective type: The objective type describes the type of geometric relationship between the end effector and the goal, i.e. position, orientation, direction, etc. This describes the distance or potential energy between the end effector and the goal. The inverse kinematics algorithm is based on the minimization of the value described by the objective function. The objective type comes in two parts: the position component and the orientation component. The two are evaluated separately and summed with the help of a position/orientation weight which describes their relative importance. For the position component, the objective type may be point-to-point, point-to-line, or point-to-plane. Note that everything is point-to... because the end effector must be a point. The orientation objective may be full 3D orientation, direction, or the hybrid types aim or view. With the aim type, the orientation of a reference vector on the end effector is directed to be aimed towards the goal point. The view is similar except with the additional restriction against twist along the aiming direction (this is useful for camera positioning where the camera should not twist but should maintain its horizontal axis perpendicular to the world vertical axis). The position of the goal then does not describe the desired position of the end effector but rather is used to describe its orientation. Therefore it is not allowable to have a position component when the orientation component is aim or view. The goal is a geometric entity: a site, a node, a face, or a global transform in space. The objective type specifies what element of the goal is important to the objective function. With the objective types point-to-line and point-to-plane, the location of the reference point defining the line or plane is taken from the point of the goal, whether it is a node, site, etc. The direction of the line and normal of the plane are additional parameters. Therefore, it is possible to match different objective functions with different types of goals. Option menu: Option menus appear when you press an option button. To use an option menu, follow these steps: Point to the option button and press the left mouse button. This causes the option menu to appear. Drag the cursor selection (indicated by the highlighted entry) to the desired option. Click the left mouse button with the desired option highlighted. Phi resolution: An integer specifying the polygon resolution along the phi axis. Pick button: A special pointing-finger button used throughout the Jack GUI. When pressed, this button appears highlighted (usually

Page 236: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 219

in yellow), and enables selection of an object in the Graphics Window. As your mouse pointer passes over candidate objects in the Graphics Window, they appear highlighted. Clicking on a highlighted object selects it and places its name in the edit field associated with the Pick button. Pick buttons are context sensitive and only highlight objects in the Graphics Window that are of the desired pick mode (i.e., figure, site, node, or joint). Pick mode: The current Pick Mode is indicated in the Jack toolbar by the special Pick Mode option menu . The items in the Pick Mode option menu include "Fig" (figure), "Seg" (segment), "Site", "Jnt" (joint), "Con" (constraint), "Hum" (human), a face icon, an edge icon, a node icon, a viewer (eye) icon, and "Mat" (material). This Pick Mode option menu will automatically switch temporarily to the appropriate pick mode if you press a Pick button . For example, if you press the Pick button on the Node Properties dialog, the Pick Mode option menu will automatically switch to the node icon during the pick, and will switch back to the previous pick mode when the pick is complete. The current Pick Mode also determines which type of pop-up menu will appear in the Graphics window when the right mouse button is pressed. Note that only the first four "primary" pick modes (Fig, Seg, Site and Jnt) have their own pop-up menus... you should never need to explicitly select any of the other types from the Pick Mode option menu. A shortcut method exists for switching between the four primary pick modes simply by clicking the middle mouse button in the Graphics window . Property Sheet: A user interface element that defines specific properties of a figure, segment, site, or joint. The property sheet provides a single interface for setting all characteristics for the chosen entity. Psurf (pss) file: Defines the geometry of a segment. This includes the coordinates of all the nodes, and the grouping of nodes into faces. Radio button: In a GUI, a circular button that selects an option from a list of mutually exclusive items. The selected option contains a black dot. You click on an option button to select a different option. Rename: You can rename objects by using the Rename button (designated by a "R" on the small button) located by an object name field. For example, to rename a figure, bring up the figure properties sheet for the figure. Select the Rename button, type in

Page 237: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 220

the desired new name (followed by a carraige return), then hit Apply. Root Site: The root site is the "ground" location of a kinematic chain. It is the beginning site for the kinematics definition, and acts as the "handle" for a figure. For example, the root site of a seated human is the "lower_torso.proximal" site. That means that all kinematics are calculated outward from that site and that when you move the figure your location reference is that site. Rooting constraint: A rooting constraint controls the location of a figure. This allows a figure to be connected to another figure. Rooting constraints are just like other constraints except that no joints are affected by the constraint. The constraint variable is the figure location. Moving a figure with a rooting constraint creates a temporary constraint between the figure's root and the transform created by the moving process. The position the figure assumes is a weighted average of the two constraints as determined by the inverse kinematics algorithm. Rotation wheel: A graphical representation of the plane of rotation about a joint in the Graphics Window. The rotation wheel has colored segments that show in green the amount of rotation permitted by joint limits and constraints. A set of local coordinate reference axes appear to show the orientation of the joint as you use the mouse to drag the moving segment to a new position. The axes will follow the mouse even through non-valid rotations, but the moving segment won't travel beyond its specified limits. Ruler: A ruler may be visible or invisible. You can have the ruler show fixed increments in different colors, and you can optionally display the distance between the two sites in the Graphics Window. Scene: A scene or environment consists of a collection of figures. Segment: Figures are composed of one or more segments. If there is more than one segment in a figure, the segments are connected by joints which define the structure of a figure. The location of segments and joints are identified by sites. Each segment has a geometry associated with it that is represented by nodes and faces. Set of joints: The set of joints define which joints apply to the constraint. These joints are the variables of the constraint. The goal, end effector, and objective type collectively describe a desired geometric relationship, but the set of joints associated with the constraint define which part of the geometric environment is

Page 238: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 221

allowed to ``move'' to satisfy the relationship. Internally, the joints are the variables to the inverse kinematics. There are two reasons for explicitly defining this set of joints. The first is efficiency: it is best to limit the number of variables which the inverse kinematics algorithm controls. The second and more important reason is control: giving explicit directions about which joints move to satisfy a positioning task provides much more local control over the behavior of the figure. The set of joints is specified by the designation of a single ``starting joint.'' The sequence of joints between the end effector and the starting joint defines the joint set. The set of joints of a constraint must be completely contained within a single figure. Slider bar: A slider bar provides a control that you drag along a horizontal or vertical track between pre-set minimum and maximum values. Slider bars generally have an associated edit field that lets you select the current entry and directly modify or overtype the current value. Site: A site is a location on a segment relative to the coordinate frame of the segment. The location of joints is identified by sites. Specular: Determines the color of shiny parts of the surface. Specular highlights occur when light reflects off a surface toward the view. The default specular highlight is white. Spin button: A spin button (or spin box) provides up and down arrow buttons that let you select a numeric value. Spin boxes let you select the current entry and directly modify or overtype the current value. Tcl/Tk scripting language: The programming language used to create the Jack GUI environment. It provides a system independent platform that provides cross-platform operation of Jack on UNIX and Windows systems. This scripting language is available for custom user programming. Texture: A texture object is an image file that you map to one or more faces of a figure. Texture mapping permits the addition of visual detail to a scene without adding extra geometry. This can add significant realism to a scene without increasing model complexity and degrading simulation performance. Theta resolution: An integer specifying the polygon resolution along the theta axis.

Page 239: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 222

VRML: Virtual reality modeling language (VRML) is a standard language used to define three-dimensional spaces. VRML worlds let users "walk" through defined spaces as if they were physically present.

Page 240: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 223

Index /t See Joint Motors, 141 Animation, xi, 74, 125, 126, 182, 184,

185, 186, 187, 188, 190, 192, 193, 194, 195, 215, 217, 244, 245, 248 Camera Motions, 190 Human Motions, 190 Path Motion, 189 Timed Attachments, 188 Timed Behaviors, 190

Anthropometry, 37 Attachments, 8, 141, 188, 195 Human, xi Balance, xi, 72 Behaviors, xii, 1, 63, 68, 70, 71, 72, 73,

101, 190, 232 Camera, 8, 9, 10, 22, 51, 52, 53, 190,

215, 235, 246, 249 Camera \t Also See View Control, 8,

9, 10, 22, 51, 52, 53, 190, 215, 235, 246, 249

Center of Mass, 72, 73, 244 Change View, 9, 190 Classic Jack, xii Collision Detection, xi, 25, 135, 244 Color /t See Material Properties, 21,

38, 39, 40, 104, 142, 231, 244, 245, 252

Constraints, xi, 19, 20, 22, 63, 64, 68, 71, 73, 137, 141, 144, 194, 232, 233, 244, 245, 248, 251

Context Sensitive Menus, 10, 56, 75, 117

Control Bar, 1, 2 Decimate, 27 Edges, 25, 30, 50, 100, 101, 124, 246,

248 Environment, 20, 25 Export, 27, 28, 192, 193

CAD, 23, 24, 27, 39, 97, 99, 100 Images, 28, 29, 30, 53, 104, 193, 194 Movies, 192

Eyes, 52, 72, 76

Faces, 25, 40, 95, 100, 101, 102, 121, 123, 124, 246, 247, 250, 251, 252

Feet, 72, 73, 74 Field of View, 51, 52 Figure, 21 Flat Shading, 102 Force, 42, 71 Ghost, 104 Graphics Window, 1, 30, 41, 124, 233,

248, 250 Grasp, xi, 79, 214 Head, xi, 52, 72, 75, 144 Hot Keys /t See Key Bindings, 40 Human

Anthropometry, 63, 64, 244 Arms, 71 Balance Behavior, 73 Behaviors, xii, 1, 63, 68, 70, 71, 72,

73, 101, 190, 232 Center of Mass, 72 Eyes, 72, 75 Feet, 72 Force, 234 Head, 66, 72 Human Control Panel, 70 Manipulation, 1, 3, 7, 30, 70, 71, 72,

73, 125, 141, 182, 188, 235 Pelvis, 72 Posture Library, 68, 71 Shoulder, 66, 73 Torque, 234 Torso, 73 View Cones, 76

Icon Toolbar, 2, 3, 57, 70 IGES, 23, 24, 27, 28 Import, 19, 23, 233 Interactive Reach, 71 Joint Motors, 141 Joint Properties, 120 Joints, xi, xii, 10, 11, 19, 21, 22, 25, 56,

63, 68, 69, 70, 73, 74, 137, 141, 144, 188, 194, 244, 247, 248, 251, 252

JT, 25, 26

Page 241: Jack51 Manual

Jack 5.1 User Manual UGS

Page - 224

Key Binding, 40 Left Mouse Button, 5, 249 Lighting, 38, 96, 234, 246 Lisp, xi, 243 Manikins, 63, 65, 66, 67, 216 Manipulation, 1, 3, 7, 30, 70, 71, 72, 73,

125, 141, 182, 188, 235 Material Properties, 21, 38 Menus, xi, 1, 2, 3, 4, 10, 11, 12, 40,

183, 230, 242, 249, 250 Message Area, 2, 4 Middle Mouse Button, 5, 250 Modules, 2, 214, 215, 216 Move Controller, 2, 4, 5, 7, 188 Movie Export

Resolution, 193, 249, 252 Nodes, 10, 25, 95, 100, 101, 102, 117,

121, 123, 143, 231, 246, 247, 248, 250, 251

Object Hierarchy, 1, 3, 56, 57, 230 Objects

CAD Primitives, 97 Object Library, 98

Pelvis, 72, 73 Plug-ins, 214 Projections, 122 Properties

Joint, 120 Site, 119

Psurf, 25, 38, 100, 246, 248 Psurf /t Polygon Surface, 25, 38, 100,

246, 248 Python, xi, 216, 239, 242, 243 Rendering, xi, 96, 101, 102, 235 Right Mouse Button, 5, 250

Root Site, 119, 244, 251 Save, 20, 21, 22, 28, 29, 41, 50, 68,

190, 194, 233, 240 Scaling, xi, xii, 24, 37, 38, 63, 64, 67,

96, 232, 240 Scripting, 239, 242, 243 Session Log, 1 Shading, 50, 101, 102, 246 Shoulder, 71, 73, 144 Site, 12, 41, 52, 56, 71, 72, 95, 100, 119,

120, 126, 189, 215, 236, 237, 238, 239, 246, 247, 248, 249, 250, 251, 252

Site Properties, 119 Snap, 7, 25, 52, 236, 237 System Requirements, xv TCL, 230, 239, 242 Tear-Off Bar, 3 Texture Map, 50 Timed Attachments, 190 Timed Behaviors, 190 Tools, x, xv, 28, 215, 216 Torque, 42 Torso, 71, 72, 73, 251 Trace, 103 Transparent, 76, 96, 101, 246 View Cones, xii View Control, 51, 234 Virtual Reality Devices, 213 Visible, 251 VRML, 23, 24, 27, 253 Window Paramenters, 55 Wireframe, 50, 123, 215 Workspace, 49