440 likes | 548 Views
Automated Analysis of Human Factors Requirements. Jan M. Allbeck Norman I. Badler Center for Human Modeling and Simulation University of Pennsylvania. Introduction to work in progress…. Human factors analyses is often laborious.
E N D
Automated Analysis of Human Factors Requirements Jan M. Allbeck Norman I. Badler Center for Human Modeling and Simulation University of Pennsylvania
Introduction to work in progress… • Human factors analyses is often laborious. • Use digital human models to automate the process of requirements checking of designs. • Framework using PAR to represent and store design requirements. • Link requirements to analyzers that use digital humans. • Report successes, warnings, and failures. • Less effort setting up and running repeated analyses on designs. 2006-01-2366
Related Work: HFE and Guidelines • Much work in analyzers: reach and grasp, visibility, postures, accommodation, foot pedal operation, etc. • Numerous guidelines, regulations, and requirements: • American Bureau of Shipping Guidelines • NASA STD-3000 • FAA: The Human Factors Design Standard • http://hfetag.dtic.mil/hfs_docs.html • Federal Motor Vehicle Safety Standards and Regulations 2006-01-2366
ABS Table 2006-01-2366
Natural Collision-free Reach 2006-01-2366
Operational Reach 2006-01-2366
Related Work • Representations for ECAs. • Instructional agents. • Natural language processing. • 7 basic actions (Ianni 1999) • Smart Objects (Kallmann and Thalmann 1998) • WordsEye (Coyne and Sproat 2001) • PDM/PLM 2006-01-2366
Parameterized Action Representation • Natural language and animation intermediary • Applications: VET, ATOV, ACUMEN • Action and Object representations • Stored in Hierarchies • Level of Detail • Uninstantiated and instantiated 2006-01-2366
Action Representation • type parameterized action = • (name: STRING; • participants: agent-and-objects; • applicability conditions: BOOLEAN-expression; • preparatory specification: sequence conditions- and-actions; • termination conditions: BOOLEAN-expression; • post assertion: STATEMENT; • during conditions: STATEMENT; • purpose: purpose-specification; • subactions: par-constraint-graph; • parent action: parameterized action; • … 2006-01-2366
Action Representation cont. • type parameterized action = … • previous action: parameterized action; • concurrent action: parameterized action; • next action: parameterized action; • start: time-specification; • duration: time-specification; • priority: INTEGER; • data: ANY-TYPE; • kinematics: kinematics-specification; • dynamics: dynamics-specification; • manner: manner-specification; • adverbs: sequence adverb-specification • failure: failure-data). 2006-01-2366
Object Representation • type object representation = • (name: STRING; is agent: BOOLEAN; • properties: sequence property-specification; • status: status-specification; posture: posture-specification; • location: obj rep; contents: sequence obj rep.; • capabilities: sequence par; • relative directions: sequence relative-dir-specification; • special directions: sequence special-dir-specification; • sites: sequence site-type-specification; • bounding volume: bounding-volume-specification; • coordinate system: site; • position: vector; velocity: vector; acceleration: vector; orientation: vector; • data: ANY-TYPE). 2006-01-2366
Example Whiledrivingturnontheairconditioning. 2006-01-2366
Object Representation • air_button_0: • Part_of: climate_unit_0 • Parts: joint_0 • Purpose : toggle(air_conditioning_0) • Capabilities: push • Site: push_site • Status: on, off • Posture: pushed: joint_0 = -2.0 2006-01-2366
Action Representation (low level) • push: • Participants: driver_0, air_button_0 • Prep. Spec.: {reachable(air_button_0), locomote(agent_0, air_button_0)} • Term. Cond.: air_button_0. posture = pushed • Post. Assert.: air_botton_0.status = !status • Failures: not reachable, broken button, etc. 2006-01-2366
Action Representation (high level) • While driving, turn on the air conditioning. • Drive(car_0, location_0) {parallel_0} • Operate(foot_pedal_0) {parallel_1, while_0} • Steer(car_0) {parallel_1, while_0} • View(road_0) {while_0} • Turn_on(air_cond_0) {parallel_0} • Turn(air_knob_0) {sequential_0} • Push(air_button_0) {sequential_1} 2006-01-2366
Framework 2006-01-2366
Reports 2006-01-2366
Thank you 2006-01-2366
Human Factors Engineering • Physical and psychological interactions of humans with environments. • Analyses check designs to optimize safety and performance. • Analysis can focus on a generic product, specific environment or object, or aspects of a particular design. • Requirements, regulations, guidelines. 2006-01-2366
Positioning and comfort Visibility Ingress and egress Reaching and grasping Foot pedal operation Multi-person interaction User maintenance Strength assessment Fatigue/Recovery Time Analysis Working posture analysis Test fit and accommodation Lower back spinal force analysis Static strength prediction NIOSH Lifting analysis Predetermined Time Analysis MTM-1 Rapid upper arm assessment Metabolic Energy Expenditure Manual Handling limit Human Factors Engineering 2006-01-2366 From Tecnomatrix website.
Guidelines • American Bureau of Shipping Guidelines • NASA STD-3000 • FAA: The Human Factors Design Standard • Human Engineering Design Approach Document - Maintainer • Army’s MANPRINT • DoD Human Engineering Design Data Digest • http://hfetag.dtic.mil/hfs_docs.html 2006-01-2366
Related Work: HFE • Commercial products: Jack, RAMSIS, DELMIA, etc. • Task Simulation Builder (Raschke et al) • Change layout and figures. • Fill in needed actions. • User interface. • Research: Chaffin, Delleman, Santos, MIDAS, Maida, LMCO, etc. • SAE International 2006-01-2366
Extended Example 2006-01-2366 From ATOV slides
Object Representations • power_supply_0: • Part_of: F22_0 • Rel. Dir.: top, bottom, left, right • connector_0…connector_4: • Part_of: F22_0 • Parts: joint_0, joint_1 • Purpose: connect(power_supply_0, x) • Capabilities: disconnect, grasp, push, rotate, pull • Grasp sites: located on connectors • Approach vector: vector • Status: connected, disconnected • Postures: pushed: joint_0 = -0.5, • closed: joint_1 == 0, opened: joint_1 == 90 2006-01-2366
Action Representation • Disconnect(Bayonet _connector) • Participants: agent_0, con_0 • Preparatory Spec.: {grasping(con_0), grasp(agent_0, con_0)} • Subactions: Push until pushed; • Rotate until opened; • Pull until disconnected; • Failures: not reachable, not graspable, unable to turn, unable to identify, … 2006-01-2366
Framework 2006-01-2366
Distribute the Wealth 2006-01-2366
Pre-preprocessing 2006-01-2366
Preprocessing 2006-01-2366
User Interaction 2006-01-2366
Load Models 2006-01-2366
Create iPARs 2006-01-2366
Five top electric connectors 2006-01-2366
Digital Human Brain 2006-01-2366
Digital Human Body 2006-01-2366
Distribute Complexity: Querying and Updating 2006-01-2366
Results 2006-01-2366
Existing Components 2006-01-2366
Contributions • Developing a framework for establishing databases of human factors requirements. • Creating procedures for testing those requirements against varying designs in an automated fashion using digital humans. • Representing requirements as parameterized actions in concert with an object representation. • Demonstrating the viability of this approach on real data. 2006-01-2366
Not Focusing On • Tagging geometric features. • Building of analyzers. • Autonomous agents. • GUI development. 2006-01-2366
Prototype Examples • “Simple” geometry calculation (ABS) • Posture or positioning • Visibility • Reaching and grasping • Complex maintenance task 2006-01-2366
7 Basic Actions • Position, Touch, Get, Put, Lookat, Usetool, Operate • Failure codes: Success states, Warnings & Danger messages, Programming errors, and Task failures. 2006-01-2366
ABS Table 2006-01-2366
TSB • Natural instruction interface • Simulation automaticity • Refinement and reuse of actions • Immediate erogonmic reporting • Expandability • In development • Not representing or processing requirements 2006-01-2366