Title A full-immersive CAVE-based VR simulation system of forklift truck operations Advisor(s) Choi, SH Author(s) Yuen, Ka-kei.; 源嘉祈. Citation Issued Date URL Rights Yuen, K. [源嘉祈]. (2011). A full-immersive CAVE-based VR simulation system of forklift truck operations. (Thesis). University of Hong Kong, Pokfulam, Hong Kong SAR. Retrieved from http://dx.doi.org/10.5353/th_b4697447. 2011 http://hdl.handle.net/10722/144249 The author retains all proprietary rights, (such as patent rights) and the right to use in future works. A Full-immersive CAVE-based VR Simulation System of Forklift Truck Operations by Ryan Ka Kei YUEN B.Eng. HKU A thesis submitted in partial fulfilment of the requirement for the Degree of Master of Philosophy at The University of Hong Kong August 2011 Abstract of the thesis entitled A Full-immersive CAVE-based VR simulation system of forklift truck operations Submitted by Ryan Ka Kei YUEN for the degree of Master of Philosophy at the University of Hong Kong in August 2011 For decades, forklift trucks have been playing a pivotal role in warehouse management. Their high flexibility facilitates material handling operations in a timely and cost-effective way. However, mishandling a forklift truck often results in serious damages or fatalities. Although certificate courses are provided by driving institutes or government bodies to train forklift truck operators, the result is not significant as the main cause behind forklift truck accidents are not about skills acquired by the safety awareness of operators. To address the issue, Virtual Reality (VR) technology was applied to simulate the forklift truck operations. The proposed simulation system was built in a CAVE-based VR environment where drivers can fully immerse to practise forklift truck manoeuvres and pallet operations. They can easily review and rectify their driving techniques, and more importantly, several common accident scenarios were created and visualised to enhance safety awareness without any real dangers. As a result, forklift truck drivers would become more vigilant and skilful in handling adverse conditions. Powered by the built-in Physics Engine of Virtools, several common forklift truck accidents scenarios, for instance skidding, overturn and falling of pallet loads were mocked up. An in-depth analysis was performed to study the variation of turning i radius of a forklift truck with respect to different turning velocities. By capturing the drivers‟ performance in simulation, their driving misbehaviours can be evaluated and rectified. Passive Infra-red (IR) marker system was chosen in the project to create an intuitive interface for users to interact. This IR motion tracking technique was applied on head tracking for additional driving views to enhance the degree of realism in user experience and hand tracking for menu manipulation using simple hand gestures respectively. Although the proposed simulation prototype cannot yet mimic all possible accident scenarios and physics behaviours of forklift truck operations in full, it does provide a general concept on how forklift truck operations can be simulated in a full-immersive CAVE-based VR system for safety analysis. ii With man this is impossible, but with God all things are possible. Mt 19:26 iii DECLARATION I declare that this thesis represents my own work, except where due acknowledgment is made, and that it has not been previously included in a thesis, dissertation or report submitted to this University or to any other institution for a degree, diploma or other qualification. Ryan Ka Kei YUEN iv ACKNOWLEDGEMENTS Praises be to GOD for sending HIS one and only son Jesus Christ as my Savior who rescues me from sin and death, and make me one of HIS servants to preach the good news to the campus young souls. Thank GOD for taking up my infirmities and grant me the faith and strength to walk through each darkest valley. May the name of Jesus be lifted high and glorified! Thanks to my supervisor Dr. S.H. Choi for his kindness, patience and encouragement especially in the tough times when I was recovering from knee surgery. Thanks are also expressed to Mr. Yang XiBei, all the staff and colleagues in the Department of Industrial and Manufacturing Systems Engineering who have devoted their precious time and efforts to the project. I would like to thank my Father John Yuen and Mother Dolores Yuen for nourishing me in the past quarter-century, sacrificing whatever possible to bring me up from a rebellious boy to a good man. Last but not least, thank you Shepherdess Rebekah and all brothers and sisters in Christ for their constant prayers and supports. v TABLE OF CONTENTS ABSTRACT .................................................................................................................. i DECLARATION ....................................................................................................... iv ACKNOWLEDGEMENTS ....................................................................................... v TABLE OF CONTENTS .......................................................................................... vi LIST OF FIGURES ................................................................................................... ix LIST OF TABLES ................................................................................................... xiii CHAPTER 1 Introduction .............................................................................. 1-1 1.1 Basic Concepts in Forklift Truck Operation ................................................ 1-3 1.1.1 Turning Radius ................................................................................. 1-3 1.1.2 Stability of Forklift Trucks ............................................................... 1-4 1.1.3 Cases of Forklift Truck accidents ..................................................... 1-7 1.2 What is Virtual Reality .............................................................................. 1-10 1.2.1 Types of VR Systems ..................................................................... 1-11 1.2.2 Full-immersive CAVE-based VR systems ..................................... 1-13 1.3 Research Objectives ................................................................................... 1-14 1.4 Outline of thesis ......................................................................................... 1-15 1.5 Summary of contributions ......................................................................... 1-17 CHAPTER 2 Literature Review .................................................................... 2-1 2.1 Introduction .................................................................................................. 2-1 2.2 Vehicle Simulators ....................................................................................... 2-1 2.3 Forklift Truck Simulators ............................................................................ 2-1 2.3.1 Desktop VR systems ......................................................................... 2-2 2.3.2 Immersive VR Systems (Semi-/Full-) .............................................. 2-4 2.4 Physical Behaviours ..................................................................................... 2-8 2.4.1 Examples of Physics Engines ......................................................... 2-10 2.5 VR User Interfaces..................................................................................... 2-12 vi 2.5.1 Generic Input Devices .................................................................... 2-14 2.5.2 3D Mouse ........................................................................................ 2-14 2.5.3 Motion Tracking Devices ............................................................... 2-16 2.6 Summary .................................................................................................... 2-20 CHAPTER 3 Implementation ........................................................................ 3-1 3.1 Introduction .................................................................................................. 3-1 3.2 CAD Model Preparation .............................................................................. 3-1 3.2.1 Forklift Truck Vehicle ...................................................................... 3-1 3.2.2 Texture mapping ............................................................................... 3-3 3.3 Developments Phase .................................................................................... 3-6 3.3.1 Virtools Dev 4.0 ................................................................................ 3-6 3.4 Implementation and Testing ........................................................................ 3-7 3.4.1 ImseCAVE ........................................................................................ 3-8 3.4.2 Infrared Tracking Tools .................................................................... 3-9 3.4.3 Motion Feedback Wheel ................................................................. 3-10 3.4.4 VR Distribution Concept ................................................................ 3-11 CHAPTER 4 Physics Behaviours in Virtools ............................................... 4-1 4.1 Introduction .................................................................................................. 4-1 4.2 Getting objects physicalized ........................................................................ 4-1 4.2.1 Convex Hull ...................................................................................... 4-1 4.2.2 Concave Hull .................................................................................... 4-2 4.2.3 Physicalized Building Block (BB) .................................................... 4-3 4.3 Phase I – Building Forklift Truck Movement .............................................. 4-4 4.3.1 Physics Car BB ................................................................................. 4-5 4.4 Phase II – Mimicking the Pallet Operations ................................................ 4-8 4.4.1 First Approach – “Unphysicalize BB”.............................................. 4-8 4.4.2 Sensor Detection System (SDS) ....................................................... 4-9 4.4.3 Second Approach – “Beam Physics Object BB” ............................ 4-11 vii 4.5 Phase III - Integration of “Motion Controller BB” .................................... 4-13 CHAPTER 5 Integration of IR Tracking System ........................................ 5-1 5.1 Introduction .................................................................................................. 5-1 5.2 The IR Tracking System in ImseCAVE ...................................................... 5-1 5.2.1 Principles of IR Tracking .................................................................. 5-3 5.3 Head Tracking.............................................................................................. 5-3 5.4 Hand Tracking ............................................................................................. 5-6 5.4.1 3D Rotatable Option Menu ............................................................... 5-7 CHAPTER 6 Case Analysis of Forklift Truck Accidents ............................ 6-1 6.1 Introduction .................................................................................................. 6-1 6.2 Common accidents scenarios ....................................................................... 6-1 6.2.1 Skidding or overturn ......................................................................... 6-1 6.2.2 Slipping or falling of pallet loads ..................................................... 6-3 6.2.3 Tipping over ...................................................................................... 6-3 6.3 Analysis of forklift truck overturns ............................................................. 6-5 6.4 Summary .................................................................................................... 6-10 CHAPTER 7 Conclusion and Recommendations ........................................ 7-1 7.1 Conclusion ................................................................................................... 7-1 7.2 Recommendations ........................................................................................ 7-3 REFERENCES........................................................................................................ R-1 viii LIST OF FIGURES Figure 1.1 A Typical Physical flow of Materials in a Supply Chain ..................... 1-1 Figure 1.2 Various Logistics Activities in a Warehouse (source: Geodis Wilson) 1-2 Figure 1.3 Turning Radii of an Automobile and a Folklift Truck ......................... 1-3 Figure 1.4 Load Centre .......................................................................................... 1-4 Figure 1.5 Load Chart of a Forklift Truck ............................................................. 1-5 Figure 1.6 Manufacturer's data plate ...................................................................... 1-5 Figure 1.7 Stability Triangle of a forklift truck ..................................................... 1-6 Figure 1.8 Sudden break; Turn over ...................................................................... 1-7 Figure 1.9 Accidents Scenario 1 - Struck by a truck ............................................. 1-8 Figure 1.10 Accident Scenario 2 - Fall from height ................................................ 1-9 Figure 1.11 A Non-immersive VR systems in Gaming Kinect from Microsoft; PS Move from Sony ................................................................................. 1-12 Figure 1.12 HMD prototype design by Sony features 720p OLED display with 5.1 surrounded audio simulated ................................................................ 1-13 Figure 2.1 Full Flight Simulators from Aeronautical System Engineering (AES) 2-2 Figure 2.2 A web-based simulator - Forklift Madness .......................................... 2-2 Figure 2.3 Cover page and screen capture from Forklift Truck Simulator 2009 ... 2-3 Figure 2.4 Some Screen Captures from NSC SafetyworkTM Lift Truck ............. 2-4 Figure 2.5 Structure of driving cockpit of Motion-based forklift simulator by Bergamasco et al. (2006) ...................................................................... 2-5 Figure 2.6 Examples of vehichle simulators with high field of regard (FOR) .............................................................................................................. 2-6 Figure 2.7 The Forklift Simulator developed by ITCL .......................................... 2-7 Figure 2.8 Distribution of released game titles with respect to Physics Engines used ............................................................................................................ 2-12 Figure 2.9 Interactions among users and Virtual Environment (VE) .................. 2-13 Figure 2.10 Handheld Bluetooth Wireless Keyboard ............................................ 2-14 Figure 2.11 Wii Remote paired up with Motion-Plus; Characteristics of Wii Remote - Motion, Pointing, Rumble, Audio .................................................... 2-15 ix Figure 2.12 Kinect Sensor; Depth Map taken by a Kinect Sensor ........................ 2-17 Figure 2.13 Skeleton joint positions relative to the human body; Active tracking for two players .......................................................................................... 2-18 Figure 2.14 Screen shot of drawing a gesture “S”; Defined gestures and corresponding actions ......................................................................... 2-19 Figure 2.15 An early prototype of pose-traker ....................................................... 2-19 Figure 3.1 Electric Moto Narrow Aisle Truck; Rough Terrain Forklift Truck...... 3-2 Figure 3.2 Major body parts of a counterbalanced forklift truck ........................... 3-2 Figure 3.3 CAD Models of Movable parts of forklift truck................................... 3-3 Figure 3.4 A CAD Model of an ambulance truck with and without textures ........ 3-4 Figure 3.5 UV mapping (a) Forklift truck model in 3dsMax; (b) UVW map of forklift truck; (c) Texture rendered for Forklift Truck; (d) Texture rendered for Driving Wheels ................................................................ 3-5 Figure 3.6 User Interface in Virtools Dev 4.0........................................................ 3-7 Figure 3.7 (a) Stereoscopic Images through 3D polarized glasses; (b) CAVE system with four projection screens; (c) Computer Network of ImseCAVE............................................................................................ 3-9 Figure 3.8 MOMO Racing Force Feedback Wheel as driving panel for forklift . 3-10 Figure 3.9 Cause Distribution .............................................................................. 3-11 Figure 3.10 Effect Distribution .............................................................................. 3-12 Figure 4.1 Examples of Convex Hull..................................................................... 4-2 Figure 4.2 Examples of Concave Hull ................................................................... 4-2 Figure 4.3 Convex Hull on Concave Objects ........................................................ 4-2 Figure 4.4 Difference between Convex Hull and Concave Hull on a storage rack4-3 Figure 4.5 Dialog box of parameters in a “Physicalized BB” ............................... 4-4 Figure 4.6 Reference axes of car system using “Physics Car BB”; Reversed Axes used for Forklift Truck Model .............................................................. 4-5 Figure 4.7 Standard I/O parameters of “Physics Car BB” ..................................... 4-6 Figure 4.8 Parameters in Data Arrays of “Physics Car BB” (Body, Wheel, Engine, Skidding Output) .................................................................................. 4-7 Figure 4.9 A programme for driving wheel alignment .......................................... 4-7 x Figure 4.10 Three additional blocks used in detecting the forks motion ................. 4-9 Figure 4.11 Senor Detection System (SDS)........................................................... 4-10 Figure 4.12 Sensor detection region in SDS; Plane view on horizontal position testing.................................................................................................. 4-10 Figure 4.13 Pallet attached to the forks after passing both horizontal and vertical test ............................................................................................................ 4-11 Figure 4.14 A physicalized block lifted by a fork; A programme for “Beam Physics Object BB” ......................................................................................... 4-12 Figure 4.15 A testing fork loops with the physicalized block. .............................. 4-12 Figure 4.16 Standard I/O parameters of “Physics Torque BB” and “Physics Impulse BB”; Snowboard simulation using “Physics Torque BB”.................. 4-13 Figure 4.17 Dialog box of parameters in a “Motion Controller BB” .................... 4-14 Figure 4.18 3d frame – plane; Lifting and rotation of forks .................................. 4-15 Figure 4.19 A programme that controls the forks operations using “Motion Controller BB” .................................................................................... 4-15 Figure 4.20 Lift cylinder with physicalized or without physicalized .................... 4-16 Figure 4.21 Overview of a virtual warehouse in Virtools...................................... 4-17 Figure 4.22 (a) Addition view for pallet picking; (b) driving up a ramp; .............. 4-17 Figure 4.23 (c) dropping off at storage rack; (d) loading into container ............... 4-18 Figure 5.1 (a) IR camera of OptiTrack; (b) Network layout of IR cameras; (c) Setup of IR cameras in ImseCAVE; (d) Camera arrangement and TrackCoverage in ImseCAVE .............................................................. 5-2 Figure 5.2 (a) IR markers; (b) A IR marker is being tracked; (c) Image captured by an IR camera ......................................................................................... 5-3 Figure 5.3 “Rigid-body” in reality and TrackingTools; Positions of IR markers in head tracking......................................................................................... 5-4 Figure 5.4 Cameras Positions in CAVE-based VR system: Static; Mobile........... 5-5 Figure 5.5 Simulated views of user operating a forklift truck ............................... 5-6 Figure 5.6 Spatial arrangement of gestures; “grab”; “drop” .................................. 5-7 Figure 5.7 A 3D rotatable option menu ................................................................. 5-8 Figure 5.8 The concept of “Focus Zone” ............................................................... 5-9 xi Figure 5.9 Command controls of the option menu ................................................ 5-9 Figure 5.10 Hand tracking for menu command control ......................................... 5-10 Figure 6.1 Forklift Overturn between reality and simulation ................................ 6-2 Figure 6.2 Colour Indicator of overturn during simulation ................................... 6-2 Figure 6.3 OSHA's Examples of Tipping Over Potential ...................................... 6-3 Figure 6.4 Failure in simulating the tipping over of forklift truck ......................... 6-4 Figure 6.5 Forklift truck turning on level surface .................................................. 6-5 Figure 6.6 Top view of “Zone A” and “Zone B” ................................................... 6-7 Figure 6.7 A programme for testing turning radius ............................................... 6-7 Figure 6.8 Output text file generated by the testing programme ........................... 6-8 Figure 6.9 Turning tracks of forklift truck at various velocities ............................ 6-9 Figure 6.10 Other possible case scenarios for future analysis ............................... 6-10 xii LIST OF TABLES Table 2.1 A general comparison between HMD and CAVE ............................ 2-8 Table 2.2 Physical behavioural criteria of forklift trucks versus different forklift truck simulators ........................................................................... 2-9 Table 2.3 Common examples of Physics Engines ........................................ 2-10 Table 3.1 Technical Specification of Computers using in ImseCAVE .............. 3-8 Table 4.1 Strengths and weaknesses of tested building blocks ....................... 4-18 Table 6.1 Summary of overall performance in each case scenarios ................ 6-10 xiii CHAPTER 1 Introduction Huge advancements over the past decades in computer- and information-related technologies, like RFID and automation systems, have enabled the logistics industry to shorten lead times and to improve warehouse management much better than ever, facilitating realization of just-in-time and error-free deliveries. However, overall success would be possible only when the supply chain operations are carried out timely and precisely from the point where raw materials are received to the point where finished goods are delivered to the end users. Figure 1.1 A Typical Physical flow of Materials in a Supply Chain As illustrated in Figure 1.1, a warehouse may be considered as a mid-way storage point of the supply chain connecting both ends of demand and supply. By storing bulk quantity of inventory in a systematic way and making them available conveniently when needed, warehouses play a pivotal role in maintaining the continuity of goods flow in the supply chain. To ensure a warehouse is running at high efficiency, material handling operations within should be carefully implemented and monitored. There are various kinds of material handling operations in a warehouse, as shown in Figure 1.2, including storage of raw materials or finished goods, pick-and-pack operations and order picking for shipment. These operations often require the use of forklift trucks. Forklift trucks most commonly used to lift, transport, and load/unload goods and materials to and from the warehouse. They are indeed powerful and versatile industrial vehicles that can hugely alleviate dependence on manual labour thus save human resources and speed up the material handling process. 1-1 Figure 1.2 Various Logistics Activities in a Warehouse (source: Geodis Wilson) However, if a forklift truck is not properly handled, accidents can be triggered. Countless forklift trucks accidents have been reported all over the world. Each year, forklift trucks are involved in nearly 80 fatalities and 90,000 injuries in the United States. According to National Safety Council of US, the annual cost of occupational injuries in 2009 cost U.S. workplaces $168.9 billion, exceeding the total profits reaped by the 50 largest “Fortune 500” that year. Forklift accidents do not only incur workers injuries, property damages, insurance claims, medical and rehabilitation expenses, they also interrupt the warehouse operations and lead to a breakdown of the entire supply chain through domino effect. Once an accident happens, the warehouse has to be shut down for clearance and investigation, calling for an immediate halt to all related material handling operations. As a result, production schedule may be delayed and stock-out may occur. In the long run, they will cost losses on both sales revenue and creditability of the firm. Therefore, safety of forklift trucks is an issue to be highlighted and addressed by all logistics industries. 1-2 1.1 Basic Concepts in Forklift Truck Operation Many people may argue that operating a forklift truck is more or less similar to driving a passenger car. This is not true because a forklift truck and a car are quite different in nature. Firstly, a forklift trick has a narrower wheelbase and a higher centre of gravity (COG), making it more difficult to maintain stability than in other automobiles. We may consider the balancing of a forklift truck as a teeter-totter. A counterweight is installed at the rear of the truck to balance the weights added by the loads during operation. Therefore, a forklift truck can also be called a counterweight balanced truck. As the counterweight is fixed and cannot move, there is a significant weight imbalance even when the forklift truck is empty or unloaded. Forklift truck drivers are always reminded that the vehicle carries its loads outside, while a passenger car usually carries loads inside. This explains why counterweight trucks usually have a higher risk of turning over than any other vehicles during operation. 1.1.1 Turning Radius As shown in Figure 1.3, a noticeable difference between automobiles and forklift trucks is their turning radii. Forklift trucks are rear-wheel steering, and they require a much smaller turning radius than that in automobiles; this allows the operators a greater degree of rotation in confined workplaces like tight corners. In addition, while steering, the wheels on the rear axle turns back and forth which means no extra steering force is required to maintain the turning moment. Thus, controlling a forklift differs from the drivers‟ experiences on most wheeled vehicles. Figure 1.3 Turning Radii of an automobile and a forklift truck 1-3 1.1.2 Stability of Forklift Trucks Beside structural issues, there are key principles governing stability of forklift trucks, particularly the Load Centre and the Stability Triangle. Load Centre As we all know the COG, or the centre of gravity, refers to the mean point where the gravitation force pull on an object. As usual, the COG of a forklift truck lies at the centre of the vehicle. Yet, in practice, this is not the case. During operation, the COG of truck may shift to either direction due to the change of load centre and inertia caused by truck movements. Load centre, illustrated in Figure 1.4, is the distance from the inside edge of the forks or platform to the centre of the load. In standard calculation, load centre is measured at 60 cm above the forks and 60 cm forward from the mast. And the maximum load centre or capacity of a forklift truck is identified on the manufacturer‟s data plate printed on the truck body. Figure 1.4 Load Centre Since loads usually come with difference sizes, mass and weight distributions, operators must be trained to identify the nature of the load being handled and locate the load centre precisely. Sometimes even the load is within capacity, a forklift truck may still not be able to handle the load safely if its load centre is greater than 60cm. Moreover, when the load is titled forward or backward, the COG will moves along. As the COG shifts, the maximum load capacity will decrease. The full capacity of a forklift truck can be reduced drastically to about 50% when the load is raised and 1-4 titled forward. Therefore, forklift truck operators are always encouraged to keep their loads as low as possible to reduce risks. Examples of Load Chart and Manufacturer‟s data plate of a forklift truck are shown in Figure 1.5 and Figure 1.6, respectively. Figure 1.5 Load Chart of a Forklift Truck Figure 1.6 Manufacturer's data plate For example, if the maximum capacity of a forklift truck is 1,800kg, as shown in the diagram, measured at the load centre of 60 cm away the mast, the cm-kg capacity of the truck is then equal to (60X1,800=) 108,000 cm-kg. Now we suppose have a new load centre at 10cm away from the previous one (60cm), the maximum capacity will 1-5 then be decreased from 1,800kg to (108,000/(60+10)=) 1,543 kg, assuming the height of forks B remains unchanged. Stability Triangle As previously mentioned, other than the load centre, inertia may also account for shifting of the COG. Most forklift trucks are of a three-point suspension system, instead of four wheels used in cars. Two front wheels and the centre of the rear axle provide a triangular suspension. In Figure 1.7, a stability triangle is illustrated by a black dot (COG) located inside a triangle which is joined up by the imaginary points at the three suspension points. A forklift truck is only stable when the black dot lies within the stability triangle. This is so when the forklift truck is in steady and unloaded state, but the black dot shifts once the truck moves. B COG of Vehicle (Unloaded) COG of Vehicle (Maximum Load) A C Stability Triangle (Safety Zone) Figure 1.7 Stability Triangle of a forklift truck When the forklift truck experiences a sudden break, the inertia will shift the COG forwards to the line BC, as shown in Figure 1.8. As long as the black dots remains in the stability triangle (safety zone), the forklift remains well-balanced. However, on skidding or making sharp turns, the COG may shift beyond the zone, resulting in tipover or overturn. 1-6 B A C B A C Figure 1.8 (top) Sudden break; (bottom) Turn over 1.1.3 Cases of Forklift Truck accidents Forklift truck accidents often involve in tip overs, driver ejection, falling objects, offthe-dock or crushing into pedestrians. These accidents could usually happen in scenarios like turning at speed, travelling with the load raised, crossing over uneven surfaces, sudden brakes or backing up a slope. Whenever the forklift truck‟s inherent balance is disrupted, there is a possibility of having an accident. In the latest release of top 10 most citied safety violations (Oct, 2010) from OSHA, forklift trucks ranked 8th with 2,993 violations. Accordingly to a casebook published of the Labour Department of Hong Kong in 2006 that currently provides most up-to-date information on occupational fatalities in the container handling and storage sector, several scenarios of workplace accidents can be featured and shared to provide lessons to both managers and workers in material handling industries. Two of them have been chosen and discussed. 1-7 Case 1: A warehouse keeper got struck by a forklift truck when stacking goods in a container. Figure 1.9 Accidents Scenario 1 - Struck by a truck Scenario: Goods were to be loaded into the container depot. The duty of the deceased person was to assure goods were loaded correctly into the correspondingly container. Yet, the deceased person noticed the doors of container could not close after the commodities were stacked. He then arranged a forklift truck with a pushing block installed at the front trying to push the goods inward. During the action, he got trapped between the pushing block and the goods accidentally, as illustrated in Figure 1.9. Lessons to learn: After adding the pushing block attachments, the operator‟s vision will be blocked. He should have tried beeping or any other means to make sure the driving path is clear and unobstructed. If he is unable to do so, a signaller is suggested to assist him in this particular operation. 1-8 Case 2: A worker fell from a height while trying to release a jammed container door. Figure 1.10 Accident Scenario 2 - Fall from height Scenario: The deceased person was about to unload goods from a 20-feet container truck parked in the dock. He discovered the locking mechanism of the left container door malfunctioned and intended to fix it with a jack. He stood on a wooden pallet and requested his co-worker to lift him up. When he tried to restore the locking mechanism with the jack, the jack suddenly displaced. As a result, the deceased person lost balance and fell to the ground, as illustrated in Figure 1.10. Lessons to learn: No person should work on any wooden pallet rested on a forklift truck. Even when working at heights is necessary, safety measure and adequate precautions like life beat or other fall arresting equipment must be taken. Also, all failure parts should only be repaired by experienced professional mechanics. The seriousness of forklift truck accidents has long been recognized. It is discovered that most of such accidents were not caused by mechanical defects of forklift trucks, but by the carelessness as well as the inability of operators to take appropriate risk assessment and control. According to Occupational Safety & Health Administration 1-9 (OSHA), about 70% of forklift truck accidents could be actually prevented with proper safety training. Nobody sets off with the innate skills and abilities to operate a forklift safely. To be qualified to operate a forklift vehicle, one should first complete the basic training lessons offered by its local accredited training schools or institutes before acquiring a formal permit for driving a forklift truck. Apart from regular training programmes, OSHA regulations also offer remedial policy for operators involved in accidents. Without a doubt, traditional training courses are vital to enhance or polish the skills of forklift truck operators. But on the other hand, they may not be adequate, in terms of effectiveness, in reducing accidents that mostly owe to the lack of safety awareness and alertness of the drivers. Veteran forklift truck drivers tend to operate the vehicles merely by their experience, overlooking the hidden hazards in their workplace. An effective way to improve the driving mentality of forklift truck operators is to bring them into real danger and let them to learn by experience. However, it is almost impossible to do so in reality as it costs human lives. For this reason, the use of virtual reality (VR) is proposed. Through VR simulations, drivers can immerse in various sorts of life-threatening scenarios where they learn to react, give response and receive feedback instantaneously. As a result, they will become more watchful of the latent dangers, and accumulate personal experience in tackling those adverse situations. Some of their poor driving habits may also be get rid of through trial and error. 1.2 What is Virtual Reality Virtual reality (VR) was first developed in mid-1980s. It refers to a computer technology for creation and simulation of a scenario that appears to our senses in such a way indistinguishable from what we perceive the real or “physical” world. Apart from eyesight, which is the dominant perceptual sense or mean to receive information, other senses like sound and touch have also been exploited in the past decades. There 1-10 are different VR hardware configurations based upon head-mounted displays (HMDs), workstations, large screen display systems, cave automation virtual environments (CAVEs), and most recently three-dimensional (3D) television. 1.2.1 Types of VR Systems Although it may not be easy to provide a complete categorisation, most VR systems tend to fall into three main categories: non-immersive (desktop), full-immersive (presence), and in-between the semi-immersive. Non-immersive (desktop) VR Systems A non-immersive VR system, as the name tells, mimics a virtual environment through a standard high resolution monitor. Interactions can be made by means of keyboards, mice, joysticks or any other 3D interaction devices. Compared with other VR systems, a non-immersive VR system is less demanding on hardware configuration. Its setup cost is comparatively low and can easily be implemented on any up-to-date personal computers. Yet, its performance is considered as the biggest shortcoming. Due to the hardware constraint, it is unable to produce the same level of VR experiences as those immersive ones. But the emergence of Virtual Reality Modelling Reality Language (VRML) has kept the system alive. VRML is a textbased language that incorporates the information of vertices, edges, colours, textures, etc. of graphical components to be used particularly in the World Wide Web for modelling objects and environment. By interpreting the VRML descriptions, Internet browsers are allowed to produce 3D environment locally for animation interaction and navigation. Recently, many game developers have successfully launched their VR gaming systems into home platform, as illustrated in Figure 1.11. With the use of certain sensory cameras or motion tracking devices, body movements are captured for interactive gameplays inside the virtual world. 1-11 Figure 1.11 A Non-immersive VR systems in Gaming (left) Kinect from Microsoft; (right) PS Move from Sony Immersive (presence) VR System Different from non-immersive systems, an immersive VR system allows users to get into the virtual world for interactions hence provides a higher degree of immersive feeling and a greater sense of presence. Quite often, while immersive VR is being discussed, head-mounted display (HMD) is brought up. An HMD is a helmet-like device put on the user‟s head. It comprises a small monitor positioned in front of each eye. The display unit may be made up of CRT, LCD or even OLED. Most of the HMDs are packed with speakers or headphones so as to produce both visual and audio outputs. To achieve the full potential of HMDs, tracking devices are normally added in to track the head movements of the user during simulation. With such input data like positions and orientations, the VR applications can then render the corresponding images instantly, allowing the user to look around inside the virtual environment by moving his/her head as if it happens in reality. However, this hardware has some drawbacks, such as its bulk size and weight, limited field of view (FOV) (at about 60 degrees, when compared to 180 degrees of human eyes), and motion illness resulted from prolonged usage. Indeed, these issues become less significant nowadays as the technology becomes more mature. Figure 1.12 shows a newly designed HMD prototype by Sony in 2011. 1-12 Figure 1.12 HMD prototype design by Sony features 720p OLED display with 5.1 surrounded audio simulated (Sources: IGN Entertainment) 1.2.2 Full-immersive CAVE-based VR systems Cave Automatic Virtual Environment (CAVE) was originally conceived by CruzNeira at al. in 1993. It was a 10-ft cubic structure with multiple rear projected screens of stereoscopic graphics. The goal of CAVE is to overcome the shortcomings of other VR systems with low image resolution, isolation from the real world and inability to share the full-immersive experiences with other users. Instead of projecting on a single large screen, a CAVE system is designed with a large projection screen or wall at each side, and literally fully surrounded by six screens in 360 degrees. Yet, due to the high setup cost and area constraint, only a few sides are used in most cases. In practice, four sides which include the right, left, front and bottom will be sufficient to mimic a semi to full immersive virtual environment. With the immersive experience provided by CAVE, users are no longer required look from outside but able to experience the virtual world as if they are physically presence and become part of it. As the FOV of CAVE is wider than other VR systems, models presented can be larger and more details can be shown. The other main advantage of using CAVE is its possibility to allow not only one but up to 5 to 6 people to get involved in the VR simulation, facilitating ideas sharing and interactions. Hence, it is often regarded as the most appropriate VR platform for design communication and evaluation. A vast number of CAVE-based vehicles 1-13 simulators, flight simulators have emerged to fulfil both education and training purposes. 1.3 Research Objectives The project aims at developing a full immersive VR simulation system for supporting safety training of forklift truck operations. By developing and implementing a forklift truck simulation system in a CAVE-based VR environment, this system provides stereoscopic graphical visualisation of forklift operations in a virtual warehouse for a driver to practise all sorts of manoeuvring and pick-and-drop operations of pallet loads. Incorporating with some tracking tools like head & hand tracking devices, a forklift truck operator can react and receive feedback from the virtual environment instantaneously. In addition, certain “virtual accidents” scenarios were created with the impacts and damages analysed and visualised accordingly. In doing so, it will be easier for forklift truck operators to review their driving habits, discover their mistakes and correct them in trials. Hence the safety awareness and mentality of forklift truck drivers could be enhanced. As a result, workplace accidents would be minimised, and both warehousing management and the logistics industry will then be benefited. The objectives of the research are summarised as follows: 1 To develop a prototype system for forklift truck driving simulation in a full immersive CAVE-based VR environment 1.1 To prepare the 3D models required to build up a warehouse environment with docks and containers in which a forklift truck can operate. 1.2 To design the interactions among objects and apply physics engine for manipulation of objects according to their physics behaviours in reality. 1.3 To integrate the prototype system with CAVE for simulating various operations of a forklift truck inside a virtual warehouse. 2 To implement head & hand tracking input interface 2.1 To incorporate an IR motion capture system for making commands instead of using typical input devices like keyboards and joysticks. 1-14 2.2 To develop a 3D rotatory menu to allow users to change the parameters of the scenarios by making a simple hand gesture during simulation. 3 To design and launch certain accident-like scenarios to validate the effectiveness of the system 3.1 To identify causes of accidents to be studied and develop case scenario respectively. 3.2 To highlight specific factors like fiction or speed in contributing to the occurrence of accidents. 3.3 To consolidate the above modules into a versatile VR simulation system used for training forklift truck operators. 1.4 Outline of thesis The chapters of the thesis are organized in the following order: Chapter 2 reviews the recent developments and limitations related to forklift truck simulation, and justifies the research gap based on past achievements. Two kinds of VR simulators, both desktop and full immersive systems, are discussed. In particular, full immersive CAVE system is considered as a versatile VR platform that allows the most realistic driving experience to be simulated. Since most forklift truck simulators do not incorporate much physics behaviours, a few common physics engines that render physics behaviours in VR simulation are reviewed. Also, various VR user interfaces are compared on their functionalities and usability in the environment of CAVE-based VR system. Chapter 3 presents the design and implementations of the proposed simulation system. All objects to appear in the virtual environment are prepared in CAD and mapped with colour textures. They are then converted and imported into a software kernel of CAVE. With the 3D life platform provided, imported identities can be interacted with each other in the virtual world by defining relationship and constraints accordingly. Likewise, a physics behaviour model is developed to power the virtual forklift truck to behave as it does in reality. Through several testing and debugging, VR 1-15 distribution scripts are added to pinpoint the position of the user and projection of each screen in order to get all PC clusters in CAVE synchronized and run in parallel. Chapter 4 describes the functionalities of the built-in Physics Library empowered by Havok of Virtools, and its efficiency in mocking the operation of a forklift truck. The design paradigm of physics behaviours of the proposed simulator is presented. There are three phases in total. In Phase I, the forklift truck body is physicalized for normal manipulation. In Phase II, Sensor Detection System (SDS) is tested in mimicking fork physics in pallet operations. However, it fails to mimic the operations in full. Therefore, a new design paradigm using “Motion controller BB” is introduced. Chapter 5 discusses the concepts of IR motion tracking system and how it works with the CAVE system. A head tracking system is developed to trace user‟s head movement and produce corresponding images in a real-time basis. This IR tracking approach is also applied in hand tracking. An intuitive hand input-based interface is built to allow users to command the system by a simple hand gesture like “grab” or “drop”. To validate the result, a 3D-rotatory menu is created to be used in the simulation system for functions calling. Chapter 6 covers the studies on simulation of certain accident-like scenarios of forklift trucks, such as skidding and falling of pallet loads. Tipping over is not simulated due to the physics constraints of the built-in Physics Library of Virtools. Nonetheless, an in-depth analysis of forklift truck overturns was performed and the result validated the proposed forklift truck simulator in evaluating the manoeuvring skills of operators. Limitations and suggestions are included later in the chapter. Chapter 7 summarises the topics mentioned above, re-emphasises the strengths of the proposed system, and followed by several future recommendations. 1-16 1.5 Summary of contributions Forklift accidents have been recognised as a headache problem to the front offices of many logistics companies. They not only cause workplace injuries and fatalities, but also result in enormous amount of compensation claims. Although remedial training programmes are highlighted and reinforced to refresh the skills and knowledge of truck operators, their safety awareness can only be effectively enhanced by experiencing the danger themselves. Therefore, the project aims to address the issue. A fully immersive CAVE-based VR simulation system for forklift truck operation is developed by integrating three main modules: (1) a physical behaviour model for simulating daily operations of forklift trucks; (2) a virtual warehouse with common features located in a warehouse, like ramp, dock, container truck and pallet racks; and (3) an IR motion tracking system modified to be used in CAVE system for head & hand tracking. The simulation prototype system built in the research provides an innovative, interactive and immersive 3D experience on operating a forklift truck in a virtual warehouse, where the following hazardous scenarios can be simulated. 1. To acquire first-hand experience on tackling adverse situations In many cases, even the forklift truck operators are well-trained, they do not have a proper concept on when and how accidents are going to happen in their workplaces. For example, they are taught that driving too fast will cause the forklift truck turnover however they may have different interpretations on the term “fast”. Rather, they tend to drive according to their own experience which is often found undependable and eventually leads to accidents. With the proposed simulation system, forklift truck drivers can now visualize the influence on the truck‟s stability as speed increases gradually. Similarly, other adverse conditions, such as skidding and oil spillage, can be simulated with the system. As such, drivers will be able to learn bit by bit a better or safer way to handle their vehicles by the first-hand walk-in experience earned from the VR simulation. In the long run, both senses of emergency and alertness to the hidden workplace hazards could be enhanced. 1-17 2. To rectify mistakes or driving habits developed over time As interaction is one of the core values of VR, the proposed system is designed to provide feedback to users in terms of visual display and audio output during simulation. Specific warning signals or driving tips will be triggered as simulation progresses. When the lift truck is operated over the speed limit allowed, a message box will pop out onto the screen to notify the users. In addition, a real-time turnover indicator is developed to show the stability of the truck. It will continuously monitor the inertia force acting on the truck body and present it in a colour indicator. The higher the level displays, the easier the truck will turnover. Trainees are then able to identity which operation is more risky than the others. Therefore it provides rooms for them to rectify their mistakes or poor driving habits developed unconsciously over time. Moreover, their performance during simulations can be recorded for review and follow-ups. Forklift instructors are also encouraged to provide guidance aside during simulation in order to make full use of the CAVE environment. 3. To provide a general view on launching a forklift truck simulator into CAVEbased VR system for safety purpose To the author‟s knowledge, no report has been found on any existing VR driving simulators that were specifically designed to study the accidents scenarios by manoeuvring the physics behaviours of a forklift truck in a CAVE-based VR environment. This research may indeed be considered as an initial endeavour in this direction. Even the proposed system may not fulfil everything needed in a training kit to be used in driving schools or institutes, it provides some insights into the feasibility of using such VR system in aid of forklift safety. Evaluations and suggestions are included in the later chapters. Moreover, with the addition of the head tracking system as well as the hand-based input interface, CAVE-based VR driving experience is brought to a new level of immersion. The proposed system may be adapted for other industrial mobiles like truck crane, stacker, bulldozer, excavator for similar study in safety issues. In summary, this research aims to develop a VR simulation prototype of forklift truck 1-18 operations as a supporting tool to improve forklift safety. The simulation system is built in a full-immersive CAVE-based VR environment to train drivers by getting them involved in the accidents virtually. By visualising the impact and damages caused, drivers will become more vigilant and sensitive to the dangers hidden in their workplaces. In addition, their poor driving habits developed over time can be effectively rectified by learning their own mistakes during simulations. With drivers‟ safety mentality and skills enhanced to deal with emergency enriched, accidents rate can be hopefully reduced, and warehouses will become a safer and effective workplace that would significantly benefit the entire logistics industry and supply chains. 1-19 CHAPTER 2 Literature Review 2.1 Introduction This chapter discusses some recent developments and limitations related to forklift truck simulation. Simulation models are first reviewed based on their level of VR immersion, functionalities, and user experiences provided. After that, the physics behaviours of forklift truck simulators are discussed and a few common physics engines are presented. Lastly, VR user interfaces like 3D mouse, tracking system are listed and compared in areas where they are used and performed best. 2.2 Vehicle Simulators Vehicle simulation is one of the core values of VR applications. Apart from the wellknown virtual flight simulator for training pilots, we now have simulators for training fire-fighters, parachutists, surgeons and so on. Many car manufacturers employ vehicle simulators as a supporting tool to streamline their product design and validation process. Engineers and investors are encouraged to participate in the design process by trying out the expected performance of the new car in a simulator to solicit feedbacks and exchange of design ideas. Nonetheless, skills training and behaviour analysis of drivers are the primary goals of most vehicle simulators. With the ability to mock up real-life scenarios under a controlled virtual environment, VR simulators provide a more economical, versatile and safer option for practical training. Figure 2.1 shows the overview of the Full Flight Simulator (FFS) developed by AES. It meets the highest demand level (D) by the US Federal Aviation Administration by having all six DOFs, a visual system of the outside world horizontal FOV of at least 150 degrees together with other sound and motion effects. 2.3 Forklift Truck Simulators Although not many forklift truck simulators have been maturely developed, they can be categorized into two groups based on their level of VR immersion, which can be desktop-based or immersive-based. The higher the immersive level, the better the user experience a driver can perceive. Generally, full-immersive simulators are 2-1 considered technically more sophisticated and serve better for education or training purpose. Figure 2.1 Full Flight Simulators from Aeronautical System Engineering (AES) Figure 2.2 A web-based simulator - Forklift Madness 2.3.1 Desktop VR systems As mentioned in section 1.2.1, desktop VR systems create a virtual environment by displaying scenes on a single computer monitor. Compared to full-immersive systems, the costs of setting up desktop VR systems are minimal. They can be easily applied on home-used computers without installing additional expensive equipment. Therefore they are often found in gaming industries. “Forklift Madness”, as shown in Figure 2.2, is a web-based simulation flash application created by a small team of 2-2 Austrian developers, called SB-games. They launched a number of levels for computer users to get familiar with the basic movements of a forklift truck. Another example of desktop VR simulators is the Forklift Truck Simulator 2009, as shown in Figure 2.3. It was developed by Astragon Software GmbH of Germany. By incorporating with high end graphics, the Gabelstapler Simulator software provides interactive experiences of operating of a forklift truck inside a warehouse-like environment. With the aid of a mini-map system, users are guided to pick the pallet load from a certain location before reaching the destination to get the task done. However, the application does not cover any safety issues as the forklift truck itself is not designed to flip or cause a turnover during simulation. Yet, it does give some insights into the design of both warehouse scenarios and graphic interfaces of the project. Figure 2.3 Cover page (left) and screen capture (right) from Forklift Truck Simulator 2009 On top of Forklift Truck Simulator 2009, a more in-depth, safety-related forklift truck training tool has been jointly developed by Etcetera Edutainment and the National Safety Council (NSC). NSC SafetyworkTM Lift Truck which based on OSHA standards and best practices for forklift safety is built to provide hands-on forklift truck operations experience to trainees in a virtual warehouse environment. This system is guided with a series of task-based lessons focused on certain key concepts of forklift truck safety. Other than simulating the full control of a forklift truck and movements for warehouse operations, it gives prompt feedbacks to the trainees with 2-3 pop-out messages during simulation to remind them of the code of practice, the mistakes they have made, and give suggestions right away. For example, if the forklift truck is operated beyond the indoor speed limit, an alert message will appear to warn the trainees. As a result, certain poor driving habits will be corrected as the safety awareness of the trainees is enhanced. Some screenshots of the demo are shown in Figure 2.4. Figure 2.4 Some Screen Captures from NSC SafetyworkTM Lift Truck 2.3.2 Immersive VR Systems (Semi-/Full-) Although desktop VR applications are favourable in spreading ideas as they are informative and ready to use on most personal computers, yet the 2D images delivered fail to mimic the reality in a sense of immersiveness. Especially in driving which requires different viewing angles to support decision making, users should not be only allowed to observe from outside through a computer screen. Instead, they should be involved in the virtual scenario and become part of it for interactions. To get over the hurdle, thousands researchers have poured continuing efforts in making it ever possible. 2-4 Figure 2.5 Structure of driving cockpit of Motion-based forklift simulator by Bergamasco et al. (2006) An innovative research of the first motion-based forklift simulator by Bergamasco et al. (2006) reaffirmed that the causes of forklift truck accidents were generally resulted from the wrong manoeuvres of drivers. Therefore, the goal of their project was to polish the driving skills of operators. As shown in Figure 2.5, a forklift truck simulator was developed for training demonstration in industrial environment. In order to provide users with physical feelings as it does in reality, the simulator was built on the cockpit of a real forklift truck of a weight of 1360 kg. It was then fixed on a parallel kinematics robot called Steward Platform with up to six degree of freedom. For visual display, both Head Mounted Displays and LCD Wide Screen Monitors have been taken into consideration yet they were later withdrawn due to the motion sickness caused and incompatibility to the system. Instead, retro-projection system was used. Two high luminosity LCD projectors were installed under the cabinet to 2-5 project the corresponding images, front and rear, against the mirrors mounted at a distance of 1.5 meter far from the cockpit at both ends. In VR training simulators, physics or dynamic behaviours is always one of the key issues to be addressed. In Bergamasco et al.‟s work, the Physical Based Model (PBM) was built with the use of an open-source library (ODE, Open Dynamic Engine) which was open up by Russel Smith (http://www.ode.org/) to simulate right body dynamics. Three different scenarios of an Italy packaging factory were mimicked and a sample group of six workers was asked to complete the task of uploading waste paper bale from one location to another. Although positive feedbacks have been received on the user experience of the model, still there are rooms for improvement or further development. Above all, driving simulators should always provide users with wide viewing scope, instead of a limited one on a single flat projection screen. The degree of space to be filled up with the virtual world can be expressed in term of field of regard (FOR). In this case, the FOR is limited, less than 100%, because the virtual scenarios cannot be displayed outside the projection screens. However, in practice, forklift truck divers often require extra views like side view in making the right judgement in times of loading or unloading process. Therefore, one of the solutions is to modify the forklift simulator in a way that its cabinet is surrounded by a circular wide screen. Nevertheless, this may take up more room but little modification can be done. Two examples of vehicle simulators with high FOR are shown in Figure 2.6. Figure 2.6 Examples of vehichle simulators with high field of regard (FOR) 2-6 To address the viewing problem, apart from applying a wide screen monitor, CastillaLeon Institute of Technology (ITCL) (2008) put HMD into considerations. Similar to the work of Bergamasco et al., ITCL developed the simulator on a real forklift truck cabin which attached on a movable platform for motion feedback, as illustrated in Figure 2.7. However, an HMD was used in place of the projection screens to generate stereoscopic visualization by tracking the wearer‟s head position and orientation. This intuitive interface design allows users to have a normal vision as in the reality under “look left see left” principle. Recalling from section 1.2.1, motion or simulator sickness and limited FOV are two common problems associated with HMD. Motion sickness can be induced by a number of factors like position tracking error, latency or flicker. Also, prolonged usage will also lead to muscle fatigue and strains on neck and eyes, causing not only a loss of motivations but also certain inappropriate user behaviours during simulation due to discomfort experience. Figure 2.7 The Forklift Simulator developed by ITCL Although there were many research works comparing the degree of motion sickness verses various type of simulators (fixed/motion based, HMD/CAVE), there is still a huge debate on which one predominant over the others. Users may perceive and react differently even they are put under an identical circumstance for the same duration. But in general, the higher the degree of immersiveness of the simulator, the higher the 2-7 chance of motion sickness will be induced. Therefore, compromises and choices are made according to the nature and needs of the simulators. For example, motion-based design may show greater importance in flight simulators than others, while field of view (FOV) is a deeper concern in forklift truck simulator than a train simulator. Table 2.1 is the comparison of the general aspects between HMD and CAVE. Field of Resolution view (FOV) Ease of Body setup attachment Motion Interactions Sickness CAVE HMD with System: Good Fair (1280x1024 (60-120 NVIS) degree) Excellent (4096x2400 VisCube) Excellent Light Easy Good Subjective with Peers: (depends on Poor calibrations with System: and Lighter Good duration of (Most wireless) with Peers: usage) (wired/wireless helmets) Fair (Unlimited) Good Table 2.1 A general comparison between HMD and CAVE Although the HMD has several advantages over the CAVE, such as being cheaper, more compact and transportable, HMD is not a complete solution. Due to HMD‟s nature that keeps the user‟s vision inside the computer generating world without any connections with the physical world, users cannot even locate their hands in sights. This may create discrepancy in user experience, leading to unexpected misbehaviours throughout the simulation. On the other hand, CAVE allows users to participate in groups, promoting effective interactions and spread of ideas among peers. 2.4 Physical Behaviours Traditionally, the motion of a ball bouncing against the floor can be simulated virtually by drawing hundreds of frames and displaying them frame-by-frame in a particular sequence and time interval. However, motion behaviours in VR simulations are not pre-defined. Rather, they all run in real-time. Objects appearing inside the 2-8 virtual environment have nothing to do with physics, not even having a mass or obeying the Newton‟s Laws of Motion unless they are programmed to do so. Therefore, physics attributes like the mass, gravity, initial falling height, motion directions, and elasticity of a ball need to be set precisely as each of these attributes can influence the final simulation result. Therefore, it is always a challenge for the developers of VR simulators to evaluate what physics behaviours are required and how they are going to be mimicked in their simulation systems. Among VR vehicles simulators, certain physics behaviours, such as acceleration/ deceleration, turning motion and collision detection, are commonly found. They can be mimicked by programming certain formulas and rules to govern them. But to get a forklift truck operating in a virtual warehouse, a lot more physics behaviours are involved. For example, in simulating the pallet-loading process, the mass of pallet loads, upwards impulse applied by the forks, the centre of gravity of the forklift truck body are all indispensable factors in achieving a sensible result. To verify whether certain physics behaviours are used in the VR forklift truck simulators mentioned in section 2.1.1, they are put under testing and the results are listed in Table 2.2. 1. Simulation of Overturn/tip over 2. Moment of Inertia (e.g. skidding) 3. Weight variation of the pallet loads 4. Will the pallet loads fall off the forklift trucks? Forklift Forklift Truck NSC Safetywork Madness Simulator 2009 Lift Truck Table 2.2 Physical behavioural criteria of forklift trucks versus different forklift truck simulators 2-9 To highlight the physics behaviours of forklift trucks in time of adverse conditions, four essential criteria are set to determine if one can fulfil the requirements. These include the simulation of overturn and tip over, skidding, weight variation of the pallet loads and the possibility of the pallet loads falling off the forklift truck. From the result, although some of the VR simulators allow the pallet loads to slip off the lifting forks during operations, they cannot simulate common physics behaviours neither like flipping the car sideward nor forward to cause overturn and tip over. 2.4.1 Examples of Physics Engines In practice, formulas and rules of physics behaviours are seldom programmed for one particular use. Instead, they are often grouped into a library of codes called “Physics Engine”. A physics engine is a general solution to simulate objects in a virtual environment as if they are rigid bodies that obey the Laws of Newton in reality. Gravity, elasticity, moment of inertia and collision detection are some common basics supported by a general physics engine. There are various physics engines available in the market and can be categorized into two main groups: open source and closed source, as illustrated in Table 2.3. Open Sources Box2D, Bullet, Newton Game Dynamics, Open Dynamic Engine (ODE), Tokamak Physics Engine Closed Sources PhysX, Havok (open free for non-commercial), Vortex Table 2.3 Common examples of Physics Engines (Sources: http://web.cs.wpi.edu/~rich/courses/imgd4000/lectures/C-Physics.pdf) Each physics engine supports different features and performs in its own characteristic way. A simulation with the same inputs like mass, weight, and heights in systems with different physics engines may generate possibly different results. Some physics engines may show better performance in joint-based physics while others can render collisions at a higher degree of precision. Here are some examples of common physics engines: 2-10 PhysX (Previously known as NovodeX): It is owned by NVIDIA and is the only solution in the market that fully supports NVIDIA GPU/PPU acceleration for graphics. Havok: A reputed physics solution not only supports real-time collision, dynamics of rigid bodies, but dedicated tools for character animations. Recently, its SDK library has been available to all developers for non-commercial uses. ODE (Open Dynamics Engine): Developed in C/C++ by Russel Smith in 2001 and has been ported to many platforms. It includes a rigid body dynamics simulation engine and a collision detection engine. Newton Game Dynamics: An open source engine available for Windows, MAC and Linux under zlib license. Current version is reported to support the use of multi-core CPUs and GPUs. Bullet: Another highly favoured physics engine used in both games and movies. It is free for commercial use. Latest version 2.77 was released on September 22, 2010. A Boeing (2007) suggested there are number of factors affecting the performance of a physics engine, such as the simulation paradigm, collision detection and response, air resistance, etc. As a result, it is hard to tell which physics engine gives the best performance in simulating the operation of a forklift truck vehicle. ODE (Open Dynamic Engine) has been used by Bergamasco et al. (2006) in INDICA simulator. However little has been mentioned on the study of the engine itself. And again, to author‟s knowledge, no physics behaviours of forklift trucks accident have been demonstrated in his work. Instead of benchmarking the physics engines, the project aims at investigating a simple and realistic way to get the forklift trucks operating in the virtual environment for accidents review. Among the available 3D platforms to be used in CAVE for VR simulations, Virtools has proven to be a practicable, quick-fit solution. Virtools 4 is a 3D platform to develop and deploy virtual experience on personal computers, game 2-11 consoles and other web applications. With the VR Library add-on, developers can easily overcome the complexity inherent in distributed computing on PC clusters during the configuration of CAVE. Moreover, Virtools allow developers to create realistic physics by integrating Havok Physics Engine it its Physics Library. In addition to typical dynamics like gravity, mass, fiction, elasticity, collision detection behaviours, other physics constraints like hinges, springs, and joints can also be mimicked in great simplicity. With the opportunity of changing all physics simulations parameters real-time in Virtools, both the diversity and functionality of the scenarios built could be enhanced. Step-wise procedures on the paradigm of applying such Physics Library in the project are reviewed later in chapters 3 and 4. Figure 2.8 shows the distribution of game title released with respect to different physics engine from 2006 to 2009. Figure 2.8 Distribution of released game titles with respect to Physics Engines used (source: http://physxinfo.com/articles/?page_id=154) 2.5 VR User Interfaces In addition to a high immersive level of VR display backed up by a right-fit physics rendering engine, user interfaces of VR simulations share equal importance in 2-12 bringing forth the best virtual experience. As shown in Figure 2.9, by connecting the end users and the VR simulation system with the most common motion tracking techniques, users are allowed to navigate and interact with the virtual world through simple movement or hand gestures. The more intuitive and easy-to-learn the design of the interface, the more favourable virtual experience the simulator brings about. Virtual Environment (VE) Virtual Objects & Other Attributes Multimodal Displays User / Input Interfaces Users Presence & Virtual Experience Figure 2.9 Interactions among users and Virtual Environment (VE) There are various types of user interfaces being used in VR simulations, ranging from typical keyboards and mice for desktop level simulators, motion or gesture tracking systems to high-end emerging techniques like brain-computer interface. To choose an appropriate user interface that suits best for a particular application, some key factors like functionalities, physical interaction techniques required, complexity to learn and control, ergonomics and universal usability need to be examined because a particular user interface may suit well in one application but entirely incompatible with another. For example, keyboards and mice which have long been recognized the best combination of input interfaces for desktop computers may not be appropriate in some immersive virtual environments wh/ere users are supposed to stand. In contrast, a complex 6-DOF tracking device may only be fully utilized in a pre-defined room space. In general, user interface devices can be classified, based on their functionalities and configurations, into the following categories: Generic Input Devices 3D Mouse Tracking Devices 2-13 2.5.1 Generic Input Devices Keyboards and mice are classic examples of desktop input devices due to their universality and user familiarity. Even nowadays, with the emerging of touch screen technologies for tablets PC, the typical “keyboard + mouse” interface is irreplaceable in near future. Because there is no other input devices work as effective and precise as this combo do. However, many Virtual Environments are featured to allow users to move around physically. The users may then find inconvenient to carry along the devices. One way to overcome the obstacle is to eliminate the connection chord and reduce the size of the device as compact as possible, as illustrated in Figure 2.10. Yet holding the device will hinder the user from further interacting with the VEs. Figure 2.10 Handheld Bluetooth Wireless Keyboard Trackballs and joysticks are also common input devices to be used frequently in tradition driving and flight simulator or other CAD applications. They can be redesigned or modified to fulfil the requirements of certain VR applications. 2.5.2 3D Mouse Traditionally, 2D mouse offers the function to move and to select on a coordinate plane. But for 3D mouse, they are specifically designed to interact with 3D objects by detecting movements in x, y and z directions. One of the most recent breakthroughs was the launching of Wii Remote in late 2006 by Nintendo, as shown in Figure 2.11. Wii Remote is the game controller designated to be operated with Wii game console. It is a hand-held VR controller with built-in accelerometers to sense the orientation changes, both directions and acceleration, at a 3D space defined for signal 2-14 transmission through Bluetooth. Besides, it incorporates an IR light emitter together with an infrared camera placed at a distance of a few meters far for pointing and navigation on screen. The Wii remote has also multi-buttons, a speaker and a rumble device for further enhancements of user experience. Apart from gaming, Wii Remote has been transplanted by third party applications to replace generic input devices, like keyboard, mouse or joystick. Figure 2.11 Wii Remote paired up with Motion-Plus (left); Characteristics of Wii Remote - Motion, Pointing, Rumble, Audio (right) Sreedharan et al. (2007) determined the key functions required by selection common gesture performed by avatars in a VR application - Second Life to be mimicked by five gestural controls on the Wii Remote. Ten participants from various backgrounds were invited to take part in testing and validation. And 70% of them would rather use Wii Remote interface than the keyboard interface. Wingrave et al. (2010) related Wii Remote as a Spatially Convenient Device to be used by 3D User Interfaces developers to use or modify it to meet their needs without substantially investing in hardware. With the add-on of Motion-Plus, which is consisted of two gyroscopes reporting the angular velocity, the Wii Remote is much more of a general 3D tracker for a wide range of applications. Smith and Ecrison (2009) developed a VR user interface similar to Wii Remote into a fire-safety training simulation for children in CAVE. By using a 6-DOF wand with tracker reporting its orientation, a ray will be generated to the direction the wand pointing. It is an intuitive design to be learned and used quickly by children. However, 2-15 beside a wand, an extra gamepad is required for users to navigate through the virtual environment. This may isolate users from the virtual environment. Functionality and design of the interface remain the major concerns of 3D mouse solution. 2.5.3 Motion Tracking Devices For most VR applications, it is vital for the user interface to be able to track the user‟s physical position or orientation in the given 3D space. This can be achieved by acquiring the information of body movement or gesture from the target person. Currently motion tracking techniques in VR can be divided into Gesture (Non-marker) Tracking and Marker Tracking. Gesture (Non-marker) Tracking In Gesture Tracking, the user‟s bare motion is recognized by the system through cameras. As it requires a plane view for detection, gesture tracking is often used in desktop level applications instead of projection screen system like CAVE. In general, a well-illuminated environment with good contrasts between the user and the background will be more recognizable to the tracker, thus giving more speedy and accurate result. Dhawale et al. (2006) introduced a simple, inexpensive way to capture bare hand motion through a single camera. By defining certain hand gestures like horizontal/vertical flip and fist, the system is able to recognize them at a recognition rate of more than 90% in most cases. The interface was then put into two desktop applications running on Windows to validate the results. However, the proposed system will only be able roughly track the shape of hand and associate it with the predefined patterns instead of tracking the movement of the hand. Song et al. (2008) develop a tracking interface which supports 3 DOFs of a single finger to interact with a desktop AR gaming application. But the accuracy of finger detection algorithm is easily affected by the shapes surrounded and comparatively less reliable to that of a 3D mouse. Also, it does not support multiple hands of fingers tracking. 2-16 To get over the hurdle, Microsoft integrated the detections of both 3D position and body movement or gestures in its latest add-on peripheral for Xbox360. Kinect, the portmanteau of “kinetics” and “connect”, is a motion sensing input device designed to completely replace the traditional game pads through a natural human interfaces using gestures and voice commands. As shown in Figure 2.12 (left), there is a Kinect Sensor which is indeed a combination of an RGB Camera, a pair of 3D Depth Sensors, four multi-array microphones and a motorized tilt. To track the human body from the background, one of the 3D Depth Sensors emits millions of Infrared dots on all the objects in the 3D space while the other sensor collects the Infrared lights coming back. By recognizing the distribution of the Infrared dots, the sensor system will then be able to give a full 3D depth view on the detection region which is 1.2 to 3.5 m far from the sensors. Figure 2.12 (right) shows the depth map generated by the 3D Depth Sensors using colour gradients from red (near) to purple (far). Figure 2.12 (top) Kinect Sensor; (bottom) Depth Map taken by a Kinect Sensor As illustrated in Figure 2.13, after tracking the 3D position of user‟s body, Kinect will automatically pair up the nearest skeletal structure from its library to the person with a feature extraction of twenty joints. By doing so, Kinect will be able to create 2-17 unique avatar for each specific user for motion tracking later in game applications. Meanwhile, Kinect Sensor can track up to six people at a time including two players with motion tracking. Apart from body motion, users can trigger the menu or make selection through simple hand gestures and voice command. As Kinect is still a piece of raw jewellery to be exploited, there is little publication of its applications. But with the release of beta version of Kinect for Windows SDK in June 2011, Kinect will be no longer a peripheral to gaming console, but also a simple, intuitive and effortless 3D user interface to be used in lots of VR applications. Figure 2.13 (left) Skeleton joint positions relative to the human body; (right) Active tracking for two players Marker Tracking Marker tracking is another tracking method which makes use of passive markers. By attaching these markers on user‟s hand, one‟s motion or gesture can be tracked by the marker recognition system easily with high accuracy. This can be done by using either ultraviolet light (Kim and Fellner 2004) or InfraRed light, because these lights are visible to sensors but not to human eyes. In comparison, IR tracking is more preferred as it is less interfered by the surrounding light sources than that in UV tracking. Rahman et al. (2009) proposed a motion-path based gesture recognition technique and applied it in a smart home environment. An IR camera was used to track the position of the user‟s hand glove to produce a series of motion-points which are then analysed to match the intended hand gesture with that defined in the systems. Fifteen users were invited to evaluate the gesture recognition process and 97.25% of accuracy has been achieved. 2-18 Figure 2.14 (left) Screen shot of drawing a gesture “S”; (right) Defined gestures and corresponding actions However, this recognition technique, as shown in Figure 2.14, did not support multiple hands, and the marker tracking was limited to movements on a 2D screen. In order to track the orientation of a target object in a 3D virtual environment, instead of using single marker, a network of four infra-red markers was introduced in the work of Pintaric and Kaufmann (2007). As illustrated in Figure 2.15, four IR cameras were used to track markers in a room-sized space. By fixing the distance and angle between markers, a unique pose will be formed. This recognisable pose will then be used to identify the target object, as well as tracking its real-time position and orientation. This technique enhances the speed and accuracy of IR tracking and can be applied to large virtual environment like CAVE. Figure 2.15 An early prototype of pose-traker 2-19 Other than 3D mouse and motion tracking, there are biological tracking systems like brain-computer interface (BCI) of Touyama and Hirose (2007), and eye-gaze tracking of Steptoe et al. (2008). Yet they remain experimental and are limited to specific purposes. 2.6 Summary This chapter reviews several forklift trucks simulators and discusses their limitations. In general, simulators with full VR immersive applications bring about better user experiences by immersing them into the virtual environment for more realistic interactions. From the comparison between two popular immersive displays HMD and CAVE, HMD is much cheaper and transportable than CAVE. However, HMD is not feasible in driving simulators because of its limited FOV and discrepancy in user experience throughout the simulation. This chapter also points out that most of the forklift truck simulators under review are only able to mock up graphic simulation of forklift truck operations instead of mimicking the physics behaviours of forklift trucks accidental conditions like overturn and skidding. To let a virtual forklift truck perform according to the dynamics in reality, a physics engine is needed. The characteristics of a few physics engines are presented. Some may show better performance in certain physics behaviours than others do, and vice versa. There is no silver bullet to all physics matters. The proposed project uses CAVE as the platform to study the feasibility and effectiveness of simulating accidental behaviours of forklift truck operations. The Havok physics engine embedded in Virtools Physics Library will be used. Some accidentals scenarios are built for testing and being reviewed. For hardware, a real mock-up of forklift truck cockpit may bring forth the best use experience. Yet, in this simulation prototype, a gaming driving wheel from Logitech will be used instead for testing purpose. 2-20 Apart from operating the virtual forklift truck, user is proposed to interact with the system, like pause, restart or call off simulation programme, alter current virtual environments or change physics parameters of forklift truck body or pallet loads. In view of this, VR user interfaces like generic input devices, 3D mouse and tracking devices of both gesture and marker have also been reviewed. Although Kinect from Microsoft offers high accuracy and is easy to learn, it is not considered feasible in the CAVE system. Instead, the marker system is proposed. Based on the idea proposed by Pintaric and Kaufmann (2007), IR tracking is used for both head-tracking and hand-tracking in CAVE to provide a cutting edge driving experience in forklift truck operations. The methodology, implementation and analyse of the proposed simulation model will be discussed in detail in the following chapters. 2-21 CHAPTER 3 Implementation 3.1 Introduction This chapter demonstrates the design paradigm of the proposed forklift truck simulator to be used in the virtual environment of a full immersive CAVE system. To begin with, the hardware configuration of the system is reviewed. It is then followed by the procedures of setting up such a system with the aid of CAD development programmes and Virtools Dev platform. The implementation of the simulator is carried out in three phases: CAD model preparation, development in Virtools, and implementation and testing. 3.2 CAD Model Preparation Same as the production in 3D animation, each object perceived virtually by the user is first mocked up with CAD models. The more complex the virtual interaction required, the more efforts of both time and money developers need to pour into CAD design. In this project, not all but those major components involved in forklift truck operations are drawn. These include the body parts of the forklift truck, pallets, a virtual warehouse, pallet racks, etc. They are drawn in scale with reference to the factual dimensions released by the manufacturers listed on data sheets. 3.2.1 Forklift Truck Vehicle There are various types and brands of forklift trucks, as illustrated in Figure 3.1, which are sometimes called powered industrial trucks. The Industrial Truck Association has identified them into eight classes, including “Electric Motor Narrow Aisle Trucks” (Class II) that are specially designed to be used in warehouses with narrow aisle and confined workspace and “Rough Terrain Forklift Trucks” (Class VII) that are usually found in outdoor areas like construction sites and container terminals. But in comparison, “Counterbalanced forklift trucks” (Class VI, V) are most versatile and used widely nowadays. These trucks contain forks with adjustable distances, a tilt mast, and most importantly a counterweight fixed at the back of the vehicles for weight balance during operations. Among various models of counterbalanced forklift 3-1 trucks, Toyota Forklift 8-series 8FG(C) U is chosen as the prototype model to build with for the VR simulators. Its specification was extracted from the official website of Toyota. Figure 3.2 shows the major components of a forklift truck. Figure 3.1 (left) Electric Moto Narrow Aisle Truck; (right) Rough Terrain Forklift Truck Control lever Steering wheel Overhead guard Mast Headlights Lift Cylinder Counterweight Back rest Adjustable Forks Driving wheels Steering/ rear wheels Figure 3.2 Major body parts of a counterbalanced forklift truck SolidWorks is initially used as a development tool in building CAD models of the forklift truck. It is developed by Dassault Systems SolidWorks Corp in 1993. It adopts a feature-based approach to model construction. Simply by selecting the desired feature and inputting the corresponding parameters, CAD models can be 3-2 easily built up or assembled. However, one should bear in mind that once a CAD model is built and imported in the VR world, it is regarded as a single object or identity. In other words, although its size can be changed, its shape is fixed and not supposed to break down by any means. For examples, if the four driving wheels of forklift truck are mimicked to rotate with respect to the truck movement, they should be built separately as four identities instead of attaching to the body as a whole. Likewise for simulation of fork motions on pallet operations, the models of mast, back rest and lift cylinder are prepared respectively, as shown in Figure 3.3. It is important to consider all movable parts needed for interactions in virtual environment before creating the models. Figure 3.3 CAD Models of Movable parts of forklift truck 3.2.2 Texture mapping Before inputting into VR for interactions setup, all the CAD models are converted into certain formats (*.3ds / *.asc / *.wrl) supported by Virtools Dev 4.0, which is the software kernel of CAVE-based VR system for launching the simulators. However, in times of conversions, unexpected results may appear. The CAD model of forklift truck imported may either collapsed or become single-coloured. These matters are commonly found in conversions between CAD objects as data stored for the model like shininess, emissiveness, transparency and other material properties are likely lost or modified during conversion due to format discrepancy. Therefore, instead of using the format converter plugins, colourings in the project is made within 3ds Max of 3-3 Autodesk. All CAD models from SolidWorks are imported into 3ds Max for texture mapping. Texture mapping is a shading technique that has often been used in adding details, texture or creating particular visual effect on a CAD model. It enhances the visual experience of users like depth and lighting without increasing complexity of the geometry or mesh of the model. Even a low-polygon CAD model like the ambulance in Figure 3.4, which is made up of only 545 polygons, 603 vertices can give a relatively high quality of visual effect. Nowadays, many games and VR applications apply this technique in polishing the surfaces of models used in their virtual environments. Figure 3.4 A CAD Model of an ambulance truck with and without textures To project a 2D photo or texture onto a 3D model, UV mapping is used. There are several ways in UV mapping: planar, box, spherical and cylindrical. For planar mapping, it works like a projector that projects the texture directly onto the 3D surface from a single direction while the other three mappings project images correspondingly on boxes, planets and pillars. For more complex models with irregular shapes like the ambulance truck, basic UV mapping techniques mentioned may not be compatible. Instead, UV maps are unwrapped and exported as an image file before further editing using graphics editing programmes like Adobe Photoshop or Illustrators. The 2D image used in texture mapping is indeed a square image, most commonly be (*.jpg) or (*.tga) format, with different resolutions. Texture data of various parts of 3-4 the model are packed closely inside the square in the best way that details of model may be presented. In the project, beside the forklift truck body, all other CAD models used in the simulators like pallets and cylinders are built and texture-mapped in this way. Figure 3.5 shows the textures prepared in mapping the forklift truck body. (a) (b) (c) (d) Figure 3.5 UV mapping (a) Forklift truck model in 3dsMax; (b) UVW map of forklift truck; (c) Texture rendered for Forklift Truck; (d) Texture rendered for Driving Wheels 3-5 Apart from the issue in texture, some of the CAD models built from SolidWorks were later found too complex for use in the virtual environment. Instead of rebuilding, they are optimized by “Nugraf” from Okino. It is a fast and powerful tool in processing a CAD model by reducing its number of vertices or faces by nearly half without sacrificing much in details. 3.3 Developments Phase After preparing the CAD models, they are then imported into a VR platform for 3D model rendering as well as coordinating the hardware infrastructures of VR before the simulator can perform in action in CAVE-based VR systems. 3.3.1 Virtools Dev 4.0 Virtools, owned by 3DVIA, is an extensive real-time platform that facilitates prototyping and robust development of highly interactive 3D experience through web, game consoles, PC clusters or any other immersive virtual environments. It is also commonly adopted as the software kernel of CAVE-based VR systems. By rendering all 3D models and coordinating the required hardware infrastructures in an optimized way, Virtools opens rooms for game developers or researchers to explore various VR applications. In addition, Virtools works as a behavioural engine (CK2) by processing various behaviours assigned onto objects or entities. A behaviour is actually a description of the ways certain elements act inside the given environment. In Virtools, there are collections of ready-to-use behaviours in the form of Behaviour Building Blocks (BBs) for users to create contents through the schematic interface. Each BB is a packed C++ object containing I/O input, parameter I/O for certain function in 3D Transformations, Collisions, Physics, Camera Sounds, etc. By combing the functions BBs in a logical sequence, developers can create motion behaviours without the need of mastering a new programing language. For advanced developers, they are built their customized BB using the “Virtools Script Language (VSL)” or modify the existing one. 3-6 Figure 3.6 shows the User Interface in Virtools Dev 4.0. Each imported CAD model or 3D Object in Virtools is shown in the 3D layout, top left corner, with respect to its 3D coordinate. It can also be positioned, resized or rotated by changing the World Matrix in 3D Object Setup. On the top right corner of Figure 3.6, there is a library of pre-set Behaviours BBs to be called out and used in Schematics view. Also, an attribute manager and a hierarchy manager are included for defining attributes and hierarchy of 3D objects. The design details of the physics behaviours in the forklift truck model will be discussed in the next chapter. Figure 3.6 User Interface in Virtools Dev 4.0 3.4 Implementation and Testing After all required VR interactions of forklift truck operations are set and debugged in Virtools at desktop level, they can be imported into the ImseCAVE for final delivery. 3-7 Virtools not only render all 3D models or objects but also controls a set of four virtual cameras that mimic the human user‟s view to generate stereo images for projection on the four screens (front, floor, left and right) of the ImseCAVE, based on the cameras‟ locations. 3.4.1 ImseCAVE The ImseCAVE at the University of Hong Kong is a typical example of CAVE-based VR systems. It is a fully immersive and interactive visualization system for users to participate in a cube-like structure (10x10 feet) with walls for VR simulation. It provides a low cost platform for design, analysis and evaluating the complex engineering systems or operations. Figure 3.7 and Table 3.1 show the schematic layout and the specification of the control computers of the ImseCAVE. It consists of eight computers (PCs) with medium-to-high configuration, shown in Figure 8, in both graphical and processing units linked together. One of them is the Master (PC 03) while all others are Slaves. Eight corresponding projectors are installed in pairs to project respective views on four screens: front, left, right and floor, separating the L/R views of human eyeballs. Due to inter-pupillary distance, each eye captures a slightly different perspective image. Virtools is the graphics kernel used for generation of these images. To view a stereoscopic 3D image with both eyes, we should first place a linear polarizing filter in front of each projector in order to omit either the vertical or the horizontal light rays. After that, we can spot the image with depth by using a pair of 3D polarized glasses that merely allows single side of the linear lights to pass through, resulting in a virtual 3D image effect. Technical Specification of ImseCAVE (identical for all PC clusters) AMD Athlon 64 3200+ CPU 1 GB DDR PC3200 RAM Memory NVIDIA GeForce 8800 GTX Display Realtek AC‟97 Sound 80.0 GB WD Hard disk Epson EMP-820@1024x768 Projectors Table 3.1 Technical Specification of Computers using in ImseCAVE 3-8 (a) Front Screen Right Screen Floor Screen Left Screen (b) (c) Figure 3.7 (a) Stereoscopic Images through 3D polarized glasses; (b) CAVE system with four projection screens; (c) Computer Network of ImseCAVE 3.4.2 Infrared Tracking Tools With the aid of Virtual-Reality Peripheral Network (VRPN) from VR Library of Virtools, which is a class library defining the rules governing VR peripherals like tracker, haptic devices are used in VR systems, we are able to transfer data, like position and orientation, from Infrared tracking tools, assigning them to a virtual object in Virtools on which all the virtual cameras attach. Therefore, whenever the user is moving around in the ImseCAVE, his or her movements can be captured and transferred into Virtools, which makes corresponding actions on screen spontaneously. Implementation and applications of Infrared Tracking technique in both hand tracking and head tracking will be further explained and demonstrated in chapter 5. 3-9 3.4.3 Motion Feedback Wheel For most desktop-level simulators we have discussed in chapter 2, they are solely controlled by the combination of keyboard and mouse. However, it is considered infeasible to carry the combo inside the ImseCAVE system. Also it would be a poor user experience of forklift truck operations. Using the mock-up of a real forklift truck vehicle without a doubt will brings the best experience ever. Yet the cost will be too high and it does not fit the multi-purpose of the ImseCAVE system. Therefore, a mobile racing wheel is used instead. Though it is primarily designed for PC gaming, its functions and quality are sufficient to meet the basic requirements of performing forklift truck operations. There are lots of brands or models of driving wheels. After reviewing several models, a mid-range model – Logitech MOMO Racing Force Feedback Wheel, as shown in Figure 3.8, is chosen for the simulation prototype. The racing wheel includes a driving panel attached with a switchable gear shift lever and a flat no-slip foot pedal base. Six programmable buttons are also installed within easy reach on the wheel. These buttons are used as the secondary control of the proposed simulator, backing up the hand tracking tools. To get people at different height be involved in the simulator, a customized wheel stand with adjustable joints was used to integrate the wheel panel and pedal as a whole. The setup can be folded up and carried easily with one hand. Owing to its good quality and durability with such a compact size, it can be used in most CAVE-based VR systems. Figure 3.8 MOMO Racing Force Feedback Wheel as driving panel for forklift 3-10 3.4.4 VR Distribution Concept As mentioned previously, one of the core values of the Virtools is its high flexibility in launching the Virtools composition files (*.vmo / *.cmo) into complex VR systems that run on PC clusters using stereoscopic images or other tracking devices. According to the documentation of Virtools VR Library, there are mainly two ways to distribute and synchronize a composition file among PC clusters in ImseCAVE. While having one central computer as a distributor (master, Id=0), other hosts act as slaves. Cause Distribution The first approach as illustrated in Figure 3.9 is called cause distribution: the master will first identify the signals received from the input devices before pushing it to each slave. As soon as the salves received the state of signal, they will send an acknowledge reception respectively to the host. This shared state remains until it is shared and hold among all, then they will execute their own frame, based on the same shared causes. Time and random events are also aligned to ensure each of the cluster hosts behaves in the same way, creating identical results. (32.45, 46.79,-94.99) F Computation (32.45, 46.79,-94.99) Signal Transmission Master Input Letter Slaves (32.45, 46.79,-94.99) Figure 3.9 Cause Distribution Effect Distribution Another approach as illustrated in Figure 3.10 is effect distribution, instead of distributing the state of a signal to all slaves for computation, the master will first compute its own module, generate the result, and distribute it out afterwards. In doing so, the result is not only identical among all but is also synchronized at the same time. 3-11 F Computation (32.45, 46.79,-94.99) Master Input Letter Signal Transmission Slaves Figure 3.10 Effect Distribution Let‟s take an example of moving the forklift truck forward in the virtual environment. Assume a letter “F” is set to trigger the motion. In the case of cause distribution, the input signal “F” will be synchronized and distributed to each slave by the master. By doing so, each slave has its own computation and moves forward the forklift truck correspondingly. But for effect distribution, once the letter “F” command is received by the master, it will compute the new 3D coordinates of the forklift truck before synchronizing the position and orientation, or world matrix, with each of the slaves. Theoretically, two approaches should deliver the same result. But in effect, there is always latency between the master and the slaves. Even the latency are just a few microseconds, the deviation is noticeable in the first case. Therefore, effect distribution is always preferable than cause distribution. However, effect distribution requires a higher workload from the VR network than cause distribution. When the number of data sets using effect distribution exceeds twenty, the system becomes unstable. In the proposed simulator, other than positioning which requires both high precision and consistency, other functions like switching the camera view or sounding the horn are distributed by the first approach in order to get the simulation run smooth. In the next chapter, the design paradigm and validation of the physics behaviours of the forklift truck model will be presented. 3-12 CHAPTER 4 Physics Behaviours in Virtools 4.1 Introduction This chapter reviews the functionalities of the built-in Physics Library empowered by Havok of Virtools, and its efficiency in mocking the operation of a forklift truck. To begin with, the ways objects physicalized in Virtools are demonstrated. After that, the design paradigm of physics behaviours of the simulator is presented. It can broadly be divided into three phases. In Phase I, only the forklift truck body itself is physicalized. In Phase II, the research scope is extended to study the effect and difference between various methods, including Sensor Detection System (SDS) and “Beam Physics Object BB”, in mimicking the fork physics in pallet picking and release. Since they are not able to mimic pallet operations in full, a new design paradigm using “Motion controller BB” is introduced in Phase III. The feasibility of the proposed model is discussed at the end of this chapter. 4.2 Getting objects physicalized Apparently, imported CAD models looks visually alike to what we look at in the reality. In fact they do not inherit any physics properties. In other words, they are solely visually, but not physically, realistic. They do not have a mass; they cannot collide with each other, and are therefore not governed by any Newton‟s laws of motion. With reference to the documentation of Physics Library, it is necessary to create a mesh, which is the physics surface of an object, to get the object physicalized. In Virtools, a mesh can be represented in two ways: Convex Hull or Concave Hull. In either way, it remains in effect once it is created, unless “rebuild surface” is called by the user. 4.2.1 Convex Hull A hull is a volume estimated by the built-in physics engine to the volume inhabited by an imported CAD model. As shown in Figure 4.1, convex hull represents objects 4-1 without holes or hollows. For example, if a rubber band being stretched around an object can touch its surface at all points, the object is convex. Figure 4.1 Examples of Convex Hull 4.2.2 Concave Hull On the contrary, in Figure 4.2, concave hull represents objects with holes or hollows. Recalling the previous example of stretching a rubber band, it would not be able touch the surface of the object at all points this time round. Figure 4.2 Examples of Concave Hull By comparison, convex objects always require less processing time than concave objects. Therefore, convex hull is more preferred especially when lots of physicalized objects are involved in interactions. In general, convex hull representation will be sufficient to provide good approximation on the volume of the original mesh even on a concave objects shown in Figure 4.3. Red: Original Shape Black: Convex hull representation Figure 4.3 Convex Hull on Concave Objects 4-2 To better illustrate how mesh representation affect the simulation results, Physics Debug Rendering is used. Figure 4.4 shows the results between convex and concave hull representation on a storage rack under Physics Debug Rendering. Objects coloured in green are those physicalized in the virtual environment. In this project, both topologies were used to represent the geometry of all physicalized objects. Figure 4.4 Difference between Convex Hull (left) and Concave Hull (right) on a storage rack 4.2.3 Physicalized Building Block (BB) Within hundreds of Building Blocks (BB) provided by Virtools, there is a category named Physics. There are five sub-categories under Physics: Creation, Destruction, Modification, Control and Special. “Physicalized BB” which located under Creation is the BB responsible for making an object part of the physics environment. When it is added to an object, a mesh will be created automatically for the object using the convex hull (default) representation. The physicalized object will then behave realistically to interact with other physicalized objects under the governance of the physics engine. As shown in Figure 4.5, there are different categories in a “Physicalized BB”, for instance the friction, elasticity, mass, collision groups, mass centre, damping speeds for linear or rotation movement, etc. The values stored in these categories can be modified easily to fulfil particular requirements at a real-time basis during simulation. 4-3 According to the technical information of “Physicalized BB”, standard values for physical properties are suggested for in each category. Let us take friction as an example, the standard values 0 = frictionless, 0.1 = ice, 3 = very rough are suggested. Since these values are not friction coefficient that ranges from 0 to 1, estimations are made based on the given standard values. For example, we assume the friction of oil or lubricant lies between 0.1 (ice) and 3 (rough surface). However, the sliding motion between object A and object B will depend on the friction values of both. The optimal value is often achieved by a number of trials, instead of calculations. Figure 4.5 shows the dialog box of a “Physicalized BB” for inputting parameters. Figure 4.5 Dialog box of parameters in a “Physicalized BB” 4.3 Phase I – Building Forklift Truck Movement As mentioned early in this chapter, there are three phases in building physics behaviours of a forklift truck. In Phase I, the main objective is to physicalize the forklift truck model, so that it can operate as a normal vehicle. As usual, mimicking a vehicle often requires a lot of physics and equations. However, with the use “Physics Car BB”, this can be achieved in a whole lot easier way. 4-4 4.3.1 Physics Car BB “Physics Car BB” is another built-in BB found under the sub-category Special of Physics. It is a tailor-made BB used in creating a car system. By simply assigning names to the vehicle body and its four driving wheels (“FR”, “FL”, “BR”, “BL”) accordingly to the predefined rules, Virtools will be able to recognize them and mock up the car system accordingly. However, there are a few criteria to satisfy: The axes of both the car and wheels should be set equal to that shown in Figure 4.6. The wheels should be put under the name of the car in the hierarchy manager All the parts should be imported separately, instead of putting in a single assembly file Figure 4.6 (left) Reference axes of car system using “Physics Car BB”; (right) Reversed Axes used for Forklift Truck Model 4-5 Four Data Arrays Basic movement control of a car Figure 4.7 Standard I/O parameters of “Physics Car BB” The “Physics car BB” is fine-tuned for typical front-wheel steering automobiles, but the forklift trucks are rear-wheel steering, as described in section 1.1.1. Therefore, the axes of both the forklift truck body and driving wheels need be modified as in Figure 4.6. When all the models are prepared, the forklift truck body will then be connected directly to the “Physics Car BB”. The basic movement of the forklift truck vehicle is manipulated by “Forward” and “Backward”, “Turn Left”, and “Turn Right”, as highlighted in the yellow region of Figure 4.7. “Handbrake” and “Booster” are used to trigger brake or acceleration instantaneously. Besides, there are four set of data arrays governing the physics properties of the forklift truck to be mimicked: “Body”, “Wheel – Suspension”, “Engine – Steering”, and “Skidding Output”. Under each set of array, there are quite a number of parameters, listed in Figure 4.8, to be modified in order to fit any car system. Factual data available such as body mass in the specification sheet collected is input into each parameter accordingly, while the rest are estimated and modified 4-6 one at a time until the forklift truck operates naturally as it does in reality. Nonetheless, it is always better to input as much factual data as possible. Body Wheel - Suspension Engine - Steering Skidding Output Body Mass Wheel Mass Max Steering Skid Value Body Friction Wheel Friction Max Speed Steering Skid Position Body Elasticity Wheel Elasticity Steering Velocity Skid Normal Body Speed Damp Wheel Speed Damp Engine Power Floor Friction Rotation Damp Wheel Rotation Damp Min Engine Rpm Body Rotation Inertia Wheel Rotation Inertia Max Engine Rpm Shift Mass Center Suspension Constant Axle Torque Ratio Counter Torque Factor Suspension Damp Max Speed Steering Extra Gravity Suspension Compression Front Brake Deceleration Down Force Max Body Force Rear Brake Deceleration Down Force Offset Stabilizer Constant Gear Ratios (1/2/3/4/5) Figure 4.8 Parameters in Data Arrays of “Physics Car BB” (Body, Wheel, Engine, Skidding Output) “Physics Car BB” can be controlled either by generic input devices like “keyboard + mouse” combo or by a joystick controller. In the development phase, the simulator was tested by a keyboard and a mouse. “Switch On Key BB” was applied to define each corresponding key in trigger the functions inside the yellow region of Figure 4.7. Later, on launching into ImseCAVE, a MOMO Racing Force Feedback Wheel will be used as the primary manipulation devices. As illustrated in Figure 4.9, a programme is added to track the orientation of the driving wheel continuously, making corresponding changes on the virtual driving wheel in the virtual environment. Get real-time orientation from MOMO driving wheel Virtual Wheel Alignment Figure 4.9 A programme for driving wheel alignment 4-7 4.4 Phase II – Mimicking the Pallet Operations Other than mimicking the vehicle system of the forklift truck, a great challenge in building physics behaviours would be the pallet picking operation. It takes up huge efforts in looking for the best approach to get it done realistically in Virtools. Due to the physics constraint of the built-in Physics Library of Virtools, once an object is physicalized, there is no way for it to be positioned or orientated by standard 3D Transformation BBs like “Translate BB”, “Move to BB” or “Set Position BB”. Instead, Virtools suggests developers to use either “Unphysicalize BB” or “Beam Physics Object BB”. In the case of “Unphysicalize BB”, physicalized objects are temporarily removed from the physical environment by calling “Unphysicalize BB”. After standard 3D transformation, they will then be physicalized back to their original state. The advantage of using such a method is that the simulation result is precise and predictable. However, in exchange, objects which are initially physicalized will no longer be governed by any physics law for at least as a short duration of time. The other way of moving physicalized objects is making use of “Beam Physics Object BB” which pauses the physics engine processing while moving. The design paradigm and simulation results of both solutions will be discussed explicitly in the following sections. 4.4.1 First Approach – “Unphysicalize BB” Because physicalized objects cannot move, it is necessary to unphysicalize a pallet before it can be lifted up by the forks in the virtual environment, and only until it has reached the destination should it be allowed to physicalize again. In doing so, we will have to consider what would be the right moment to unphysicalize or physicalize a pallet. This makes the detection of both picking and release of pallets a huge challenge. To deal with it, an initial solution is to make use of three additional blocks, which are not physicalized. These blocks are transparent and penetrable to help detect whether 4-8 the pair of forks have inserted fully into a pallet. As illustrated in Figure 4.10, two of them were placed at the entrances of one side while the other long block was put inside the pallet at roughly 80% of the length of the inserted forks. Whenever the forks of the lift truck are inserted, they will be detected by the blocks and only when all of them collide with the forks will the pallets be able to lift up. Additional Blocks Figure 4.10 Three additional blocks used in detecting the forks motion Indeed, “Collision Detection” BB is assigned to all the three blocks for testing whether any object collides with them. If only the blocks at entrance collide, it is considered that the pair of forks has not yet inserted fully, and thus the pallet remains intact. Only until collision of the forks with the long block is detected will the pallets be unphysicalized by the “Unphysicalize BB” and attached under the hierarchy of the forks. Wherever the forks are moved, the pallet will follow as a whole, keeping the same orientation and speed. In theory, this method sounds good. However, it will inevitably increase the complexity of the scripts, especially when 12 different blocks (3 blocks X 4sides) are required for a single pallet. 4.4.2 Sensor Detection System (SDS) Based on the proposed idea in section 4.4.1, a simplified model called Sensor Detection System (SDS), as illustrated in Figure 4.11, was developed. Instead of building virtual blocks for collision detection, four sensors are fixed on the forks of the forklift trucks. 4-9 Figure 4.11 Senor Detection System (SDS) These sensors are called 3d frames in Virtools. A 3d frame is a dummy object which is transparent and not occupying any volume. It is often used as a tracker or a point of reference to other 3D objects in the virtual environment. As we can see in Figure 4.12 (left), the four sensors used in SDS work in pairs diagonally forming a virtual region for detection. A programme is written to detect the both X and Z (horizontal) coordinates of the nearest pallets continuously unit it lays within the detection region, the horizontal position test is passed. During trials, the sensors have once been set to work in linear instead of diagonally. The result was however not satisfactory. Z S1 P S2 S1 P S2 P: pallet S: sensor X Figure 4.12 (left) Sensor detection region in SDS; (right) Plane view on horizontal position testing 4-10 Once the horizontal position test is passed, the vertical position of the nearest pallet will be tested whether it is located within the pre-defined allowance. If it does, the pallet will then be unphysicalized and attached under the hierarchy of the forks as a whole to move along during the process of pallet picking, as illustrated in Figure 4.13. Figure 4.13 Pallet attached to the forks after passing both horizontal and vertical test Different from pallet picking, there is no clue whether the pallet is ready to drop off because in reality the forklift truck operators can drop it off anywhere, anytime by any means. Therefore, in the SDS built, releasing a pallet requires the user to control manually. By typing a certain key on the keyboard, the pallet will be detached from the forks and re-physicalized a few seconds later automatically. 4.4.3 Second Approach – “Beam Physics Object BB” “Beam Physics BB” is the other solution suggested by Virtools to moving a physicalized object to a new position or orientation without processing the physics behaviours in between. It is often called after a 3D transformation, such as “Set Position BB” or “Translate BB”. To validate the functionality of “Beam Physics Object BB”, a simple programme is made, as shown in Figure 4.14, to lift up a physicalized block with a single fork. The result is favourable at start but becomes unstable once the fork collides with the block. As illustrated in Figure 4.15, the fork starts looping unexpectedly with the block after collision and the entire physics 4-11 system crashed afterwards. Even after fine tuning the speed, physical properties of both physicalized objects, the result is not stable enough to be used in the proposed simulation model. Figure 4.14 (left) A physicalized block lifted by a fork; (right) A programme for “Beam Physics Object BB” Figure 4.15 A testing fork loops with the physicalized block. Both approaches mentioned above have been put under testing. For the case of “Unphysicalize BB”, three blocks were first used for forks insertion detection in trial before a more complex SDS system is introduced. Although the pallet picking operations have been successfully mimicked through horizontal and vertical testing, release of a pallet remains unsolved. Moreover, since the approach of unphysicalizing objects will bring certain objects out of the physics environment at a time. This will inevitably affect the simulation result by hindering some common accidents like tip over of a forklift truck from happening. For the second approach - “Beam Physics 4-12 Object BB”, it supports simple physicalized movement, like translation or position and performs well on a single object. However it is not preferred in a complex system which requires much detection of collisions with other physicalized objects. Besides, there are indeed two more BBs in Virtools supporting the movement of physicalized objects: “Physics Impulse BB” and “Physics Torque BB”, as illustrated in Figure 4.16. “Physics Impulse BB” provides a linear impulse, while “Physics Torque BB” provides a rotation impulse. They are excellent for simple simulation applications, such as snowboarding which requires low precision of the resulting positioning of the object. However, in mocking the forks movement during pallet picking and release operations, relative high precision and stable physics behaviour are needed. Therefore, they are considered not for use in the project. In the next section, we will introduce “Motion Controller BB” and demonstrates the way it is incorporated with the forklift truck model built in Phase I. Figure 4.16 (left) Standard I/O parameters of “Physics Torque BB” and “Physics Impulse BB”; (right) Snowboard simulation using “Physics Torque BB” 4.5 Phase III - Integration of “Motion Controller BB” Compared with the previous approaches, “Motion Controller BB” provides a greater degree of control over physicalized objects. Different from “Beam Physics Objects BB”, no objects will be unphysicalized in this case, keeping the objects perfectly coherent with other physics simulations. “Motion Controller BB” manipulates a 4-13 physicalized object by forcing it to follow the movement of another 3D object, such as a 3d frame. However, the position of physicalized object may not be always equal to that of the object to be followed. For example, if there is a wall or other blockages in the path of motion, the physicalized object will stop even when the object to be followed are positioned elsewhere. Figure 4.17 Dialog box of parameters in a “Motion Controller BB” Figure 4.17 shows the dialog box of “Motion Controller BB”. “Entity to follow” refers to the object to be followed. In the proposed simulation model, a 3d frame named “plane” is created as a reference. In addition, there are several parameters for monitoring the motion of the physicalized object. The greater the maximum translation or rotation force, the greater the impulse will be generated. There are also other factors like “Force Factor” and “Damp Factor” to control the position and speed of the object in motion. To apply “Motion Controller BB”, a 3d frame, which is a dummy object, is first built as a reference at same position as the forks, as illustrated in Figure 4.18. It is set under the hierarchy of the forklift truck system so as to remains static with respect position to the forklift truck during movement. On the other hand, a programme is prepared to manipulate the movement of the 3d frame. For an authentic forklift truck, the lifting forks will move along with the mast and the lift cylinder, while lifting 4-14 provided with a certain degree of back and forth tilt. Therefore, the sub-programme in area A of Figure 4.19 was made with “Translate BB” and “Rotate BB” for mocking vertical and rotation motion respectively. Whenever the 3d frame is moved or rotated, the physicalized mast and the lift cylinder will follow its motion as if they are directly manipulated by the user. Figure 4.18 (left) 3d frame – plane; (right) Lifting and rotation of forks B A Figure 4.19 A programme that controls the forks operations using “Motion Controller BB” 4-15 Figure 4.20 Lift cylinder with physicalized (left) or without physicalized (right) To constrain the forks movements, allowances must be set. Therefore, a subprogramme illustrated in area B of Figure 4.19 is made to ensure both the height and the angle of the lifting peripherals are within the range of limits given by the forklift truck‟s manufacturer. Ideally, the entire forklift truck body, including the lift cylinder and the lift forks, should be physicalized as illustrated in Figure 4.18 (left). However, on testing and debugging, physicalized objects perform badly when they are closely positioned at 1 to 2cm apart. Trembling and other misbehaviours, such as slipping and bouncing happen. To resolve it, the lift cylinder is set unphysicalized instead, as illustrated in Figure 4.20. Because of the geometry and position, the lift cylinder is not involved in most physics simulation. Nevertheless, it does not affect the physics simulation of normal forklift truck operations very much. To validate the feasibility of the proposed model using “Motion Controller BB”, two routine tasks of forklift truck operations are tested. In the first test, the user should operate the virtual forklift to position A of Figure 4.21 and pick one pallet load of four 200ml cylinders. Then, the user is instructed to unload the pallet at a certain partition of the storage rack at position B. To assist the user in making judgements during forks insertion, an extra camera is added at the front of the forklift truck. This camera can be called out anytime. Although it does not exist in reality, it can help user to evaluate their ability in space perception. For the second test, the user is 4-16 required to pick the pallet from the storage rack at position B and load it into the container truck at position C. Through these tests, physics behaviours involved in basic forklift truck operations, such as picking or dropping pallets, driving up a ramp, making turns at narrow aisle and backing, can be simulated. Some screen captures of the simulation are demonstrated in Figure 4.22 and Figure 4.23. B A C Figure 4.21Overview of a virtual warehouse in Virtools a b Figure 4.22 Screens captured from simulation (a) Addition view for pallet picking; (b) driving up a ramp; 4-17 d c Figure 4.23 (c) dropping off at storage rack; (d) loading into container Physics Building Blocks Behaviours Physics Car BB Forklift Truck Manipulation Forks Motion in Pallet Operations Unphysicalize BB (SDS) Beam Physics Object BB Physics Impulse BB/ Physics Torque BB Motion Controller BB Strengths (S) & Weaknesses (W) S: easy to use in mimicking car systems without involving complex calculations. W: modification needed for forklift truck vehicle which is back-wheels steered. S: supports movement that requires precise position and timing. W: isolate objects from physics environment hindering accidents from happening. S: favourable for single object. W: trembles at collisions. S: provides impulse for simple VR interactions. W: uncontrollable results. S: relatively stable and precise in movement W: much complicated than other BBs. Table 4.1 Strengths and weaknesses of tested building blocks Table 4.1 summarizes the strengths and weaknesses of each Building Block described above for mimicking the physics behaviours of forklift truck operations. For forklift truck manipulation, Physics Car BB is used. By modifying physics parameters of data array each at a time; a virtual forklift truck system was successfully mimicked. It reacts properly in some accident scenarios like overturn. An in-depth analysis and discussion of forklift truck performance verse accident-like scenarios will be covered in chapter 6. 4-18 Moreover, several BBs are used in imitating the forks motion on pallet operations, “unphysicalize BB” performs better in object positioning while “Beam Physics Object BB” can move physicalized objects without affecting its physical state. However, only “Motion Controller BB” is capable of both. Two tests are conducted to validate the result. In the next chapter, the design, characteristics and applications of infrared marker system in building VR interfaces on both hand tracking and head tracking will be presented. 4-19 CHAPTER 5 Integration of IR Tracking System 5.1 Introduction This chapter describes the design and application of an intuitive VR interface developed in the proposed simulator using infra-red (IR) tracking technique. As mentioned in chapter 2, most of the generic input devices like keyboards and mice combo are considered unfeasible in CAVE-based VR applications. Therefore, a marker system is chosen in the project to create a natural and intuitive interface for users to interact with the virtual environment. By capturing the 3D positions of passive markers with IR cameras, the position and orientation of a user can be correctly tracked. This IR tracking technique is applied on head tracking for additional driving view to enhance the degree of realism in user experience. Likewise, the proposed design is modified to support simple gesture recognition in hand tracking. The user‟s hand gesture can be detected and identified by the IR tracking system to execute the corresponding commands. A 3D rotatable option menu is built in the project incorporating with hand tracking for functions calling during driving simulation. Hardware configuration and design infrastructure of such tracking system are discussed in the chapter. 5.2 The IR Tracking System in ImseCAVE The IR Tracking System adopted in the project is jointly developed for another MPhil project in the Department (Yang, 2010; Yang et al., 2010). It is based on the hardware configuration of Motion Capture System from OptiTrack. A total of six IR cameras are mounted at the top edges (8 feet) of ImseCAVE. They are linked up with a master hub connected to dedicated computers for processing in high speed USB cable. Each camera supports variable frame rates from 25 fps to 100fps at a resolution of 640 x480 (VGA), attaining a high accuracy to sub-millimetre with less than 10ms of latency. The positions and orientations of the IR cameras are optimized to track over 70% of the cubic space in ImseCAVE. Figure 5.1(c) and (d) show the 5-1 cameras arrangements and graphic presentation of the tracking coverage in ImseCAVE. (a) (b) IR cameras IR cameras Tracking Coverage (c) (d) Figure 5.1 (a) IR camera of OptiTrack; (b) Network layout of IR cameras; (c) Setup of IR cameras in ImseCAVE; (d) Camera arrangement and TrackCoverage in ImseCAVE TrackingTools is a software package provided by OptiTrack to track and render the position of the target object in the virtual space. In the project, the rendered information of a user‟s position is transmitted to Virtools via local area Ethernet network under the Virtual Reality Peripheral Network (VRPN) protocol. In both TrackingTools and Virtools, a virtual cubic space is mocked up in the exact scale of the physical one in ImseCAVE. By synchronizing their spatial arrangements, the system will then be able to track the position and movement of the user and render its avatar in the virtual space accordingly for 3D interactions. 5-2 5.2.1 Principles of IR Tracking Twenty six high efficient illuminated LEDs are built in each IR camera emitting IR ray, which is not sensible to human eyes but IR reflective coating. Under the IR lights, the IR marker surfaced with IR reflective coating, illustrated in Figure 5.2, appears to be shiny and distinguishable to the IR cameras. Each IR camera will be able to track only the 2D position of the marker. These data from six cameras will then be gathered in TrackingTools to calculate the corresponding 3D coordinates of the marker. The IR tracking system used in the project can track IR markers of size of 1cm in diameter or larger. In addition, the inter-distance between IR markers should not be less than 3 cm. (a) IR Ray from LEDs Reflection Lights (b) (c) Figure 5.2 (a) IR markers; (b) A IR marker is being tracked; (c) Image captured by an IR camera 5.3 Head Tracking Based on the principle stated above, the 3D position of an object in the physical space can be recognized by tracking its IR marker. However, to track both position and 5-3 orientation of an object, “rigid-body” tracking is required. By fixing three or more IR markers at a certain distance in-between, a virtual “rigid-body” is formed. In Figure 5.3 (left), a triangular “rigid-body” coloured in red is bounded by three IR markers, which are attached on one‟s hand. A “rigid-body” serves as an identification device (ID) for an object to be tracked. Instead of tracking the shape of an object, the IR tracking system tracks the pattern of the “rigid body” of IR markers to distinguish an object from another. Different objects may be represented by the unique pattern of a “rigid-body”. For examples, a square pattern is for hand position, and a triangle pattern for head position. These patterns should be first defined in TrackingTools as virtual trackers before the tracking system is able to recognize them correctly. Also, the IR markers used in forming the “rigid-body” should always remain in position relative to each other, or else the patterns will vary and no longer be recognizable. Rigid-body Reality TrackingTools Figure 5.3 (left) “Rigid-body” in reality and TrackingTools; (right) Positions of IR markers in head tracking As shown in Figure 5.3 (right), three IR markers are fixed on top of a pair of polarized glasses forming an orange “rigid-body”. This “rigid-body” is defined in TackingTools as a virtual tracker to track the position and orientation of the user‟s head. Generally, head tracking may not be required in driving simulators. However, the experience of operating a forklift truck differs from other vehicles, especially in times of pallet operations. Forklift truck operators are often required to tilt his or her head slightly to gain a better viewing angle to get the task done smoothly. Meanwhile, all forklift trucks simulators being reviewed in chapter 2 have not come across in this 5-4 matter. Instead, the driving views of most driving simulators are static and have no interactions with the head movement of operators. Undoubtedly, this will affect the decision-making of forklift truck operators. Because if the pallet loads to be handled can only be viewed from a fixed angle, it would be hard for an operator without having good spatial perception to insert the lifting forks or load the pallets onto the storage rack precisely. Therefore, in the proposed model, hand tracking is integrated to track user‟s head position and orientation in order to render images of corresponding viewing angle on screen simultaneously. Head tracking incorporated in CAVE-based VR systems was originally used in rendering better stereoscopic images with respect to the user location in the cubic space of 3m x 3m x 2.5m. To generate the corresponding images on all projection walls in ImseCAVE (Front, Floor, Left, Right), a set of four imaginary cameras are used. In practice, they will be positioned at 3D coordinates (0, 0, 0) which is the cubic centre of CAVE-based VR system. Figure 5.4 shows the top view of ImseCAVE, even the user is found by head tracking at the left side of the system, the position of the camera set will always remain at centre. Instead, the position of cameras is often manipulated by a generic input device, such as a joystick. Front Walls Side Walls User Figure 5.4 Cameras Positions in CAVE-based VR system: (left) Static; (right) Mobile In contrast, the camera set in the proposed model is mobile and subjected to the tracked position of users. Referring to the previous example, if the user‟s head position is tracked at left side of the CAVE-based VR system, the camera will rotate 5-5 slightly and keeps content displays in focus. Apart from providing additional side views of content displays ahead at the front wall, the design enables the camera to follow the movement of user in ImseCAVE. Therefore, if the user approaches the front wall, objects projected on screen will grow larger, and vice versa. In the proposed model, the user‟s position in ImseCAVE is recognized by tracking the “rigid-body” formed by the markers attached to a pair of polarized glasses that the user wears. By synchronizing the position and orientation between the user and the camera set, the resulting images projected on screen will be aligned with the head movements of the user. Simulated views of a driver operating a forklift truck are demonstrated in Figure 5.5. Side view Side view User Position Figure 5.5 Simulated views of user operating a forklift truck 5.4 Hand Tracking As mentioned, a “rigid-body” should remain in shape in order to be identified and tracked continuously. For hand tracking, an extra IR marker was added to the existing triangular pattern for tracking both position and orientation. The fourth IR 5-6 marker associates with two of the existing IR markers to form a new “rigid-body” for gesture tracking. Figure 5.6 shows the shapes of the new “rigid-bodies”. In addition to the existing “rigid-body” which is in yellow, there is a new “rigid-body” formed in green. Since the fourth IR marker is attached on the finder tip of the middle finger, the shape of the “rigid-body” will alter as the hand gesture changes from grab (fist) to drop (release). Therefore, two different “rigid-bodies”, green for grab and red for release, are formed to recognize the hand gesture of a user in order to triggers interactive events in virtual environment. Different from head tracking where IR markers are fixed at the top of polarized glasses, the position of the fourth marker in hand tracking varies for all users due to the size difference in hand. Therefore, personal calibration in TrackingTools is required for the first time of each new user. Figure 5.6 Spatial arrangement of gestures; (left) “grab”; (right) “drop” 5.4.1 3D Rotatable Option Menu It has been stated in the previous discussion that generic input devices like keyboards and mice are considered infeasible in the environment of CAVE-based VR system. Therefore, a VR interface system based on the hand tracking technique is developed to select various options from the design menu. Four IR markers are attached on the glove to be worn by user. By making hand movement combined with simple gesture, user can browse the options available on the menu and select the preferred one intuitively. A 3D rotatable option menu was built to demonstrate how hand tracking is applied in menu command control. 5-7 Figure 5.7 A 3D rotatable option menu As illustrated in Figure 5.7, a 3D rotatable option menu was built using 3ds Max and imported into Virtools afterwards. A total of 12 functions, 3 rows x 4 columns, are available in the menu. The user can swap driving scenarios, vary the weight of pallet loads, change the camera views or reload the forklift truck if necessary anytime during simulation. By default, the option menu is minimized and set to be invisible. To active it, user simply reach out his or her hand to the up right corner, make a “grab” gesture and drag it to the front. The menu will then automatically emerges and slides to the centre of the screen. Once the menu is activated, a column with three option buttons of same colour will be highlighted and brought to the front of user, illustrated in Figure 5.8. According to the user‟s eye level, which can tracked by head tracking, the space between the user and the column in focus can be divided into two zones: “Focus Zone” of “Area #1”, “Area #2”, “Area #3” and “Non-focus Zone” which is the area out the “Focus Zone”. Figure 5.9 reveals the main command controls of the option menu including navigation, selection and operation. 5-8 Figure 5.8 The concept of “Focus Zone” Figure 5.9 Command controls of the option menu 5-9 Menu Navigation: Based on the “Focus Zone” concept, a 3D rotatable option menu interaction is developed mimicking the focusing behaviour of human‟s eye by tracking the hand position. Whenever the user‟s hand reaches a menu area, “Area #”, intuitively, a sport light will be triggered to light up the corresponding menu button, while other options buttons will be dimmed. Menu Selection: To make a selection, all user requires is simply making a simple hand gesture of “grab”. The IR tracking system will then recognize the change in the pattern of “rigid-body” and pop out the selected option button right away. A yellow frame box is built to surround the selected option button as a selection indicator. In reverse, user can cancel the selection and return back to menu navigation by making a hand gesture of “drop”. Menu Operation: Once an option button is selected, user can execute the function by lowering his or her hand to reach a virtual Activation Zone. Also, user is able to withdraw his or her selection any time by making a “drop” hand gesture before the function is being executed. Figure 5.10 Hand tracking for menu command control In summary, this chapter presents the design and application of IR tracking system in the proposed simulator. IR tracking was used in both head tracking and hand tracking. 5-10 For head tracking, user‟s head position and orientation are continuously tracked to render images from corresponding viewing angle. This design does not solely enhance the visual perception, but also bring forth the most intuitive driving experience of a forklift truck vehicle ever in CAVE-based VR system. In addition, hand tracking is incorporated with a 3D rotatable option menu to provide an intuitive and effortless way to call functions for simulation by a simple hand gesture, as illustrated in Figure 5.10. In the next chapter, the proposed forklift truck simulator model is evaluated in several case scenarios of accidents. Performance analysis and limitations are discussed. 5-11 CHAPTER 6 Case Analysis of Forklift Truck Accidents 6.1 Introduction In chapter 4, the design paradigm of physics behaviours of forklift truck in the proposed simulator using the built-in Physics Library of Virtools was demonstrated. However, accidents scenarios have not been covered so far. This chapter further investigates several case scenarios of common forklift truck accidents mocked up in the simulator. Also, an in-depth analysis has been performed on overturn accident. The virtual forklift truck is programmed to turn an angle at various speeds. By tracking the turning path of the forklift truck, the correlation between velocities of a forklift truck against its turning radii is established. Lastly, the overall performance of the proposed simulator is reviewed. 6.2 Common accidents scenarios There are numerous causes of forklift truck accidents such as slipping off, crushing pedestrians, tipping over, driver ejection, off-the-dock, etc. In the proposed project, there are several accident-like scenarios built to allow user to percept and manoeuver the warehouse operations of forklift truck. These include skidding or overturn, slipping of pallets loads, tipping over. 6.2.1 Skidding or overturn Skidding, or overturn, is considered to be the leading cause in forklift truck accidents by OSHA, representing about 25% of the forklift-related deaths. It occurs in many possible ways for instance travelling on steep slopes, operating over slippery ground like oil spills, crossing soft or uneven surface, being unevenly loaded or overloaded and making sharp turns at speed. Under the concept of Stability Triangle discussed in section 1.1.2, the forklift truck begins to skid or overturn when the centre of gravity 6-1 (COG) of the forklift truck body shifts beyond the triangular safety zone. Figure 6.1 shows the result of overturn in the proposed simulator. Figure 6.1 Forklift Overturn between (left) reality and (right) simulation To allow users to monitor the stability of the forklift truck during simulation, a colour scale indicator with floating pointer has been created and attached to the left side of driving view showing the real-time rotation speed of the forklift truck vehicle. As illustrated in Figure 6.2, the pointer rises from green to yellow as the speed gets higher. When the pointer reaches the red zone, the forklift truck will possibly get overturned. With this colour indicator, the user will then be able to review and rectify their manoeuvring skills during simulations. Overturn scenario like oil spillage is mimicked by varying the value of ground friction of the affected area. Figure 6.2 Colour Indicator of overturn during simulation 6-2 6.2.2 Slipping or falling of pallet loads A pallet load usually falls off either when its weight is unevenly distributed or the forklift truck is experiencing a sudden break or sharp turns. For safety reasons, the forklift truck operators are always advised to drive slowly and stay the lifting forks low, a few inches from the ground, when loaded. Favourable result was simulated in this scenario. 6.2.3 Tipping over There are two ways for a forklift truck to tip over, either forward or sideward. For tipping forward, the longitudinal stability is considered. It is calculated by measuring the moment on the forklift truck and that of the pallet load. When the load moment is greater than that forklift truck moment, the forklift truck will tip forward. Other than longitudinal stability, lateral stability is also used in determining the stability of a forklift truck. Figure 6.3 OSHA's Examples of Tipping Over Potential Note the illustration provided by OSHA in Figure 6.3, the tilted forklift truck remains stable as long as the vertical stability line of the combined centre of gravity of the forklift truck and the loads falls within the stability triangle. However, the forklift 6-3 truck becomes unstable or tip over if the vertical stability line falls out of the stability triangle. The higher or heavier the loads are elevated, the higher chance the forklift truck gets tipped. To simulate such a scenario in the proposed simulation model, a programme is created to manually increase the weight of the pallet load. Ideally, the forklift truck will tip over once the moment of pallet load exceeds that of the forklift truck body. However, it can be noted in Figure 6.4 that only the pallet mast has tipped forward but the forklift truck remains stable on the ground regardless. It is because the built-in Physics Engine of Virtools has considered the lifting mast and the forklift truck body as two different physics identity in physics rendering. As a result, their physics behaviours are independent of each other creating huge obstacle in mimicking forklift truck accidents that involves the combined centre of gravity of forklift truck body and pallet loads such as tipping over. In an attempt to solve the issue, physics joints and constraints have been added to integrate the lifting mast into part of the forklift truck system. Yet, it did not work either. It is believed that the bottleneck lies on the constraint of the “Physics Car BB” used in mocking the virtual forklift truck. Once the “Physics Car BB” is activated, the physics properties including the centre of gravity of the forklift truck are not subjected to change. Since modification of “Physics Car BB” is not allowed in Virtools, no feasible solution has come up so far in the project. Yet, alternatives are suggested later in the chapter summary. Figure 6.4 Failure in simulating the tipping over of forklift truck 6-4 6.3 Analysis of forklift truck overturns To validate the results simulated by the proposed simulator, an in-depth analysis of forklift truck overturns has been carried out to demonstrate how data can be extracted from the simulator and interpreted for the sake of forklift truck safety. As mentioned in 6.2, there are many possible ways causing a forklift truck overturn. Among all, the most common one is making turns at speed. When a forklift truck turns at level surfaces, a centripetal force ( Fc mv 2 ), or r named inertia is required to keep the forklift truck moving in a circular path. Ideally, this force can be provided by the lateral frictional force ( Ff ) between the inner and outer pair of tyres of forklift truck. When the lateral friction force is greater than the required centripetal force ( Ff Fc ), the forklift truck will remains on track. However, as the velocity of the forklift truck increases, the required centripetal force will increase until the lateral friction force no longer be enough to provide the required force ( Ff Fc ), the forklift truck will skids, or overturns. R1 R2 mg F1 F2 Figure 6.5 Forklift truck turning on level surface As shown in Figure 6.5, the weight of forklift truck „mg‟ is turning on a level surface. R1 and R2 are the forces of normal reaction of the ground on the tyres. They are acting vertically upward as the surface is levelled. Hence, 6-5 R1 R2 mg Let F1 and F2 be the lateral friction forces between tyres and ground towards the centre. Then, we have F1 R1 and F2 R2 where μis the coefficient of friction between tyres and ground. Assume „v‟ is the velocity of the forklift truck and „r‟ is the turning radius, the centripetal force required will be (mv2/r). If the friction force is sufficient to provide the centripetal force, therefore ( Fc Ff ) mv2 ( F1 F2 ) r mv2 ( R1 R2 ) r mv2 (mg ) r v 2 gr v gr By simple calculations, we get the maximum velocity which the forklift truck can safely turn at a level surface without skidding is gr m/s. If the coefficient of friction remains constant, we can conclude that the higher the turning velocity of the forklift truck, the greater the turning radius will be. A programme was prepared in Virtools to visualize the correlation between velocities of forklift truck against its turning radii on the proposed simulator. The forklift truck is programmed to accelerate to certain speed before making turns. In Figure 6.6, “Zone A” is provided for the acceleration of forklift truck. Its velocity is continuously monitored by the system to make sure it has met the target maximum speed before reaching “Zone B”. Once the forklift truck enters “Zone B”, the rear wheels will be 6-6 set to turn left. Meanwhile, the positions of forklift truck will be tracked at time intervals of milliseconds. Eventually, the data collected will be output to a text file. Zone B Zone A Figure 6.6 Top view of “Zone A” and “Zone B” (a) (c) (b) (e) (d) (f) Figure 6.7 A programme for testing turning radius Figure 6.7 shows the main procedures in the simulation programme: (a) Test continuously the position of the forklift truck in Virtools until it has reached the trigger point of X-Z coordinate of (0, 0). (b) “Chrono BB” is used together with “Counter BB” in order to keep track on the time elapsed in the simulation. 6-7 (c) Five “Set Cell BB” are used to assign corresponding parameters into the data array. (Time elapsed, Velocity, z-Position, x-coordinate, states of forklift truck) (d) A “Delayer BB” is used to define the time interval between each position tracked, 200ms is chosen for velocities at 12m/s or below. For higher speed, 15m/s and 20m/s, 100ms is used instead for more accuracy result. The choice of time interval here is independent of the simulation results. (e) All the parameters recorded in the data array of Virtools is output to a text file which will later be imported into Microsoft Excel for data analysis, as illustrated in Figure 6.8. (f) A “Key event BB” is used to monitor the states of the forklift truck. Once the forklift truck overturns, the state will change from FALSE to TRUE to indicate an accident at that particular time interval. Figure 6.8 Output text file generated by the testing programme As we can see from the text file generated in Figure 6.8, there are five sets of data collected from Virtools each time for a particular velocity. They include time elapsed in zone B, velocity of the forklift truck, z-coordinate of forklift truck, x-coordinate of forklift truck and a Boolean variable stating the forklift truck is tipped or not. A total of 50 rows of data will be collected for each run. Ten velocity samples have been chosen from 1m/s to 20m/s as the target maximum velocity allowed in zone A. Finally, these data are imported into Microsoft Excel for graphical analysis. 6-8 20 m/s Turnover 2-4m/s Figure 6.9 Turning tracks of forklift truck at various velocities Ten turning tracks of forklift trucks are plotted with respect to their velocities in Figure 6.9. Broadly speaking, the velocity of forklift truck is directly proportional to its turning radius. The faster the forklift truck in making turns, the longer the circular path will the forklift truck needed to travel. At 2-4 m/s, the turning path is steady because the lateral friction force is sufficient to provide the centripetal force required. However, as the turning velocity increases gradually from 7m/s to 15m/s, the forklift truck begins to skid. At 20m/s, the forklift truck experiences an overturn at the red dot indicated in the figure. According to OSHA, the speed of forklift truck should never exceed 5 mph (~2.24 m/s) during operations. Indeed, this limit can be validated by the simulation results obtained. Through the test, not only can we estimate the safety speed limit of forklift truck in making turns, but also the driving paths of the forklift truck on simulation can be tracked. As such, the driving misbehaviours of user can be evaluated and rectified. By and large, the overall objective of the proposed simulator prototype is achieved. 6-9 Similar studies can also be conducted on other physics behaviours such as the correlation between weight variations in pallet loads to turning radius and stopping distance. Figure 6.10 shows some other possible case scenarios to be studied in future. Figure 6.10 Other possible case scenarios for future analysis (Sources: http://www2.illinoisbiz.biz/osha/PDF/Books/ForliftFullManual_ENGandSPN.pdf) 6.4 Summary In this chapter, several case scenarios of forklift truck accidents built in the proposed simulator are presented. Their performances can be summarized in Table 6.1. Type of accident Result Remarks Skidding/ Overturn Pass Favourable result is achieved. A real-time indicator was added to monitor the lateral balance of forklift truck. Also, an in-depth analysis was conducted on the correlation between velocity and turning radius on making turns. Falling objects Pass Pallet loads slip or fall off in experiencing a sudden break or a sharp turn. Tipping Over Fail Due to the constraint of built-in “Physics Car BB”, the forklift truck and the lifting mast are considered as two separate physics identities. Tipping over is not mimicked in the project. Crushing pedestrians/ driver ejection N/A Not attempted in the project. More interactive elements such as Artificial Intelligence (AI) characters are required. One of the possible extensions in future. Table 6.1 Summary of overall performance in each case scenario 6-10 Most accident scenarios like skidding and falling objects are successfully simulated in the proposed simulator except the case of tipping over. Due to the constraint of the “Physics Car BB”, physics properties of the forklift truck cannot be modified once the simulation runs. To solve the issue, we can either reconstruct a new physics system for manoeuvring the dynamics of forklift truck operations or replace the builtin physics engine with other open-source engines mentioned in chapter 2. Seugling and Rölin (2006) evaluates several physics engines including Open Dynamic Engine (ODE), AGEIA Novodex (PHYSX), Newton Game Dynamics, Bullet, etc. in Virtools. Various tests were conducted on frictions, scalability and stability, ODE and Newtown Game Dynamics stand out from the rest. Nonetheless, more research work is required on the feasibility of replacing the built-in Havok Engine of Virtools. 6-11 CHAPTER 7 Conclusion and Recommendations 7.1 Conclusion The success of supply chain management requires all frontline logistics operations to be carried out safely on schedule. Forklift trucks are often involved in daily operations in warehouses or docks to transport pallet loads from one place to another. Although all forklift truck operators are trained before they are qualified to drive, countless accidents happen each year, causing serious injuries and deaths due to the lack of safety awareness and mentality of operators. To deal with the issue, simulations using Virtual Reality (VR) is considered to supplement and enhance practical training. With the use of VR, forklift truck drivers are then allowed to participate into various sorts of accident-like scenarios where they practise their reactions and learn from their mistakes afterwards. In times of trials, they can be more vigilant and experienced in handling adverse situations like oil spill and forklift trucks overturn. This research project therefore attempts to develop a prototype of forklift truck operations to be simulated in a full-immersive CAVE-based VR environment. Since most the forklift truck simulators reviewed have not incorporated with any Physics Engine, they can barely simulate physics behaviours. In the proposed simulator, the Havok Engine embedded in Virtools is integrated to mimic all physics behaviours of forklift truck like pallet picking and dropping. Since typical input devices like the “keyboard + mouse” combo are considered not feasible in CAVE-based VR system, passive Infrared (IR) marker motion tracking system is introduced. By recognizing the pre-defined rigid-body structure formed by the passive IR markers, the IR motion tracking system is able to track the 3D position of an object in the cubic space of ImseCAVE. This technique was applied on head tracking for additional driving view to enhance the degree of realism in user 7-1 experience. Likewise, the proposed design is modified to support simple gesture recognition, “grab” and “drop” in hand tracking. While operating the forklift truck, users can execute commands like swapping accident scenarios, varying weight of loads and changing camera views by making a simple hand gesture intuitively. Several accidents scenarios such as skidding, overturn, falling objects are built and tested. Most of them are successfully simulated as they are in reality except tipping over. The simulated forklift truck is unable to tip forward even when weight of the pallet load exceeds its maximum loading limit. This is due to the constraint of built-in Physics Library of Virtools. Other than mimicking the physics behaviours of a forklift truck, an in-depth analysis of forklift truck overturns is carried out to demonstrate how data can be extracted from the proposed system and interpreted real-time for the sake of forklift truck safety. As the velocity of forklift truck increases, its turning radius will increases. Until the frictional force is no longer enough to provide the centripetal force, the forklift truck will skid or overturn. A programme is prepared to track the positions of the forklift truck on making turns and the data collected are plotted on a graph for analysis. As such, the system can estimate the safety speed limit in making turns and review the manoeuvring skills of forklift truck operators. As a prototype of forklift truck simulator, the project provides a general concept on how forklift truck operations can be mimicked and launched into a full-immersive CAVE-based VR system for safety analysis. In addition, with the use of IR motion tracking system in both hand and head tracking, the proposed simulator brings forth the most intuitive driving experience of a forklift truck vehicle ever. However, due to time and resources constraints, not all possible accident scenarios and forklift truck operations are mocked up in full. Once in a while, some unexpected physics behaviours may cause system instability. Yet, it can be solved by resetting the simulation. Modification and improvements are required to fine-tune and enhance the 7-2 proposed simulator to a more practicable learning kit for education or training purposes. 7.2 Recommendations The proposed simulation system is a feasibility study and an initial attempt to develop a forklift truck simulator in full-immersive CAVE-based VR environment. Currently, no industrial data of forklift truck engines or warehouses have been incorporated. For in-depth study on the dynamic behaviours in accidents scenarios, factual information like friction, weight, inertia, elasticity, damping, and suspension etc. should be gathered. In addition, more interactive elements like Artificial Intelligence (AI) characters of pedestrians and in-house workers may be added in simulating complex accidents scenarios where human play an important factor. The simulation model presented in the project, due to the constraint of the Physics Library of Virtools, has not mimicked the forklift truck operations in full. The issue of forklift truck tip-over remains untouched. Therefore, an essential technical development is to explore the possibilities of incorporating other open source physics engines, such as Open Dynamics Engine (ODE) which was suggested in chapter 6. In the project, an in-depth analysis of forklift truck overturn accidents was demonstrated. The relation between turning velocity and turning radius was studied. Similar studies can also be conducted in future on other physics behaviours such as the correlation between weight variations in pallet loads to turning radius and stopping distance. With the issue of physics engine solved, tests can be performed on tip-over of forklift truck as well. By adding small weight increments on the pallet loads each time, the operators will then be able to percept the variations on forklift truck performance and learn how to avoid the forklift truck from tipping over. In the long run, the simulation system can be further developed into a practical tool for training forklift truck operators; with standardized training rules or guidelines. Sound effects, map guiding system, driving tips and warning signals can be 7-3 consolidated to get users better involved in the virtual scenarios as if they are working in reality. Instead of letting users to drive aimlessly, tasks with certain objectives should be set to be completed. By reviewing drivers‟ performance on simulation, their manoeuvring skills can then be rectified and polished. Indeed, the system together with the behaviour model can be ported into other similar VR simulations of other industrial vehicles, like truck cranes, stackers, bulldozers, and excavators for safety studies which eventually may save human lives. 7-4 REFERENCES Autodesk 3ds Max, Autodesk, Inc. http://usa.autodesk.com/3ds-max/. Boeing, A. and Bräunl T. 2007. Evaluation of real-time physics simulation systems. In Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia (GRAPHITE '07). ACM, New York, NY, USA, 281-288. Bergamasco, M., Perotti, S., Avizzano, C. A., Angerilli, M., Carrozzino and M., Ruffaldi, E. Fork-lift truck simulator for training in industrial environment, Emerging Technologies and Factory Automation, 2005. ETFA 2005. 10th IEEE Conference on , vol.1, no., pp.5 pp.-693, 19-22 Sept. 2005 Cruz-Neira, C., Sandin, D. J. and DeFanti, T. A. 1993. Surround-screen projection-based virtual reality: the design and implementation of the CAVE, Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques, ACM, New York, NY, USA, 135-42. Dhawale, P., Masoodian, M. and Rogers, B. 2006. Bare-hand 3D gesture input to interactive systems, Proceedings of the 7th ACM SIGCHI New Zealand chapter's international conference on Computer-human interaction: design centered HCI, ACM, New York, NY, USA, 25-32. Forklift madness, ShockBreak Games. http://www.shockbreak.com/index.php/forklift-madness. Forklift Safety Sim, Etcetera Edutainment. http://www.etceteraedutainment.com/forklift-safety.php. R-1 FORTUNE 500, Cable News Network (CNN). http://money.cnn.com/magazines/fortune/fortune500/2009/full_list/. Full Flight Simulator (FFS), Aeronautical Systems Engineering (AES). http://www.aerosyseng.com/. Gabelstapler-Simulator 2009, Astragon. http://www.astragon.de/produktdetails/article/gabelstapler-simulator-2009.html. ImseCAVE, Industrial and Manufacturing System Engineering Department, The University of Hong Kong, Hong Kong. http://www.imse.hku.hk/intellisyslab/facilities/imseCAVE.htm. The Industrial Truck Association of US. http://www.indtrk.org/. Kim, H. and Fellner, D. W. 2004. Interaction with hand gesture for a back-projection wall, Proceedings of the Computer Graphics International, IEEE Computer Society, Washington, D.C., USA, 395-402. Kinect for Windows, Microsoft Research. http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/. Logitech MOMO Racing Force Feedback Wheel, Logitech. http://www.logitech.com/en-us/441/320. Nugraf , Okino Computer Graphics. http://www.okino.com/default.htm. Occupational injuries in 2009, National Safety Council (NSC). http://www.nsc.org/safetyhealth/Pages/Waronregulationsmisguided_2.17.11.aspx. OptiTrack from Naturalpoint. http://www.naturalpoint.com/optitrack/. R-2 Pintaric, T. and Kaufmann, H. 2007. Affordable Infrared-Optical Pose Tracking for Virtual and Augmented Reality, Vortrag: IEEE Virtual Reality 2007, Charlotte, NC (USA); 14.03.2007 - 17.03.2007 PlayStation Move, Sony . http://us.playstation.com/ps3/playstation-move/. Rahman, ASM., Hossain, M. A., Parra, J. and El Saddik, A. 2009. Motion-path based gesture interaction with smart home services. In Proceedings of the 17th ACM international conference on Multimedia (MM '09). ACM, New York, NY, USA, 761764. Seugling A, Rölin M. 2006. Evaluation of Physics Engines and Implementation of a Physics Module in a 3d-Authoring Tool. Umea University. Simulator for training fork lift truck and load handling machinery operators, Castilla and Leon Institute of Technology ITCL (2008). http://www.itclimasd.org/Virtual-Reality/Simulators/. Smith, R. 2001. Open Dynamic Engine. http://www.ode.org/. Smith, S. and Ecrison, E. 2009. Using immersive game-based virtual reality to teach fire-safety skills to children, Virtual Reality, 13(2), Springer-Verlag, London, UK, 87-99 SolidWorks, Dassault Systèmes. http://www.solidworks.com/. Song, P., Yu, H. and Winkler, S. 2008. Vision-based 3D finger interactions for mixed reality games with physics simulation, Proceedings of the 7th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and Its Applications in Industry, ACM, New York, NY, USA. R-3 Sreedharan, S., Zurita, E. S., and Plimmer, B. 2007. 3D input for 3D worlds, Proceedings of the 19th Australasian conference on Computer-Human Interaction: Entertaining User Interfaces, ACM, New York, NY, USA, 227-30. Steptoe, W., Wolff, R., Murgia, A., Guimaraes, E., Rae, J., Sharkey, P., Roberts, D. and Steed, A. 2008. Eye-tracking for avatar eye-gaze and interactional analysis in immersive collaborative virtual environments, Proceedings of the 2008 ACM conference on Computer supported cooperative work, ACM, New York, NY, USA, 197-200. Touyama, H. and Hirose, M. 2007. Steady-state VEPs in cave for walking around the virtual world, Proceedings of the 4th international conference on Universal access in human-computer interaction, ambient interaction, Springer-Verlag, Berlin/Heidelberg, Germany, 715-17. Toyota Industrial Equipment. http://www.toyotaforklift.com/. Virtools, Dassault Systèmes. http://www.3ds.com/products/3dvia/3dvia-virtools/. Wii, Nintendo. http://www.nintendo.com/wii. Wingrave, C. A., Williamson, B., Varcholik, P. D., Rose, J., Miller, A., Charbonneau, E., Bott, J. and LaViola Jr., J. J. The Wiimote and Beyond: Spatially Convenient Devices for 3D User Interfaces, IEEE Computer Graphics and Applications, pp. 7185, March/April, 2010 Yang, X. B. 2010. A Hand Input-based Approach to Intuitive Human-Computer Interactions in Virtual Reality. Mphil thesis. The University of Hong Kong, Hong Kong. R-4 Yang, X. B., Choi, S. H., Yuen, K. K. and Chan, K. Y. 2010. An intuitive HumanComputer Interface for Large Display Virtual Reality Applications, Computer-Aided Design and Applications, 2010, v. 7 n. 2, p. 269-278 R-5