The present invention relates generally to the computer-aided design (“CAD”) industry and, more particularly, to a system and method for simulating human movement.
Human movement simulation tools are used for ergonomic analysis of workplaces, products, training and service operations, as well as in the entertainment, industry. The process of accurately representing human movement is tedious, time-consuming, and requires skilled operators adept at manipulating complex 3D kinematic systems at the joint level. Efforts to model human movement using empirical observation of actual people performing tasks is referred to as motion capture technology. Subsequent statistical modeling of these movement data are limited by the form of the data. Both joint angle data over time and landmark data over time datasets are available. However, joint angle data may not be applied to arbitrary skeletal configurations because the angle definitions are dependent on the skeletal configuration. Landmark data require constraint solutions, in which the kinematic human “skeleton” is best fit to the landmark data using mathematical optimization methods, which are slow and inconsistent. Another limitation of the current approach is that these empirical data tend to reflect the experimental conditions under which they were experimentally observed in the lab. For example, always beginning a movement from a “neutral starting posture.” In most simulations, however, the ending posture of the previous motion defines the starting posture of the next, so movements from arbitrary start postures are required. Collecting data and developing empirical models for the almost infinite number of tasks and loading conditions of which humans are capable are remote.
Another human movement modeling method utilizes key frame locations, such as in the robotics field. In this method, simple posture transition interpolators drive all joints such that they start moving and end at the same time. This results in a robotic looking motion, which looks unrealistic.
According to one embodiment of the invention, a computerized method for simulating human movement includes storing a plurality of sets of data, in which each set of data is indicative of a measured movement of a first human, receiving a start point and an end point for a desired movement of a second human, and comparing the desired movement to the stored sets of data. The method further includes selecting, based on the comparison, a stored set of data that is representative of the desired movement and simulating the desired movement based on the start point, the end point, and the relative change in position of a first joint associated with the selected set of data from an empirical start point to an empirical end point.
Embodiments of the invention provide a number of technical advantages. Embodiments of the invention may include all, some, or none of these advantages. In one embodiment, a human movement simulation method captures the complex choreography of human motion to realistically simulate human motion. Based on identification of when particular angles of joints and segments of a skeletal configuration start to move, and at what rate, then simple posture transition methods may be modified to capture the complex choreography of the human motion. In this manner, the start points and end points from stored data sets are disassociated, which makes it easier to simulate human motion. This method may be adapted to any posture in a consistent manner without having to utilize mathematical optimization methods. In addition, any reasonable kinematic skeletal configuration may be simulated, such as a human or other living object. The use of angle profiles to simulate human movement may be adapted to the type of task (i.e., reach one-handed, reach two-handed, lifting, etc.) taking into account all parameters that may affect how humans move, including such factors as age, gender, and size. Embodiments of the present invention may help users that are unskilled in ergonomics and human factors science evaluate human factor concerns throughout all phases of a product engineering cycle.
Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of the invention, and for further features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Example embodiments of the present invention and their advantages are best understood by referring now to
Input device 110 is coupled to computer 106 for allowing human movement simulator 104 to utilize human movement simulation application 118. For example, human movement simulator 104 may utilize human movement simulation application 118 through one or more user interfaces contained within human movement simulation application 118. This allows human movement simulator 104 to input, select, and/or manipulate various data and information. In one embodiment, input device 110 is a keyboard; however, input device 110 may take other forms, such as an independent computer program, a mouse, a stylus, a scanner, or any combination thereof.
Output device 112 is any suitable visual display unit, such as a liquid crystal display (“LCD”) or cathode ray tube (“CRT”) display, that allows human movement simulator 104 to “see” the human movement that he or she is trying to simulate. For example, referring back to
Processor 114 comprises any suitable type of processing unit that executes logic. One of the functions of processor 114 is to retrieve human movement simulation application 118 from memory 116 and execute human movement simulation application 118 to allow human movement simulator 104 to simulate human movement. Other functions of human movement simulation application 118 are discussed more fully below in conjunction with
Human movement simulation application 118 is a computer program written in any suitable computer language. According to the teachings of the present invention, human movement simulation application 118 is operable to utilize data and information stored in database 120 and input by human movement simulator 104 for the purpose of simulating movement of a human. Human movement simulation application 118 may perform other suitable functions, capturing data indicative of a measured movement of a human. Some functions of human movement simulation application 118 are described below in conjunction with
Memory 116 and database 120 may comprise files, stacks, databases, or other suitable organizations of volatile or nonvolatile memory. Memory 116 and database 120 may be random-access memory, read-only memory, CD-ROM, removable memory devices, or any other suitable devices that allow storage and/or retrieval of data. Memory 116 and database 120 are interchangeable and may perform the same functions. In the illustrated embodiment, database 120 stores various rules, formulas, tables, and other suitable logic that allows human movement simulation application 118 to perform its function when simulating human movement. Database 120 may also store data associated with the capturing of a measured movement of a human, such as that data captured with the use of motion capture technology.
Referring to
Some data captured from empirical model 200 is illustrated in
In previous systems of simulating human movement, a straight line interpolation is made of end effector 206 from start position 210 to end position 212. As a result, the simulation starts end effector 206 upward at time zero towards end position 212 such that it traverses the same angular displacement per unit time. Simulating all joints and segments of a skeletal configuration this way makes for a robotic-looking motion, which is unnatural. Curve 222 as illustrated in
The data associated with empirical model 200 is utilized in the following manner. It is known from this data the amount of rotation of joint 202 as end effector 206 moves from one point 208 to the next point 208 as it travels its path from start position 210 to end position 212. For example, when joint 202 first starts to rotate, it starts out at zero degrees rotation, as represented by reference numeral 229 in
For example, if the relative rotational change of joint 202 from point 229 to point 230 (
Even though the portion of the human's arm is travelling from 0 to 90 degrees for desired simulation 300 in
Based on the comparison at step 404, a stored set of data that is representative of the desired movement is selected at step 406. This may be done by human movement simulator 104 using input device 110 and output device 112, in which human movement simulator 104 may select from a plurality of stored movements. Or, human movement simulation application 118 may do this automatically using any suitable algorithm. At step 408, a first joint associated with the selected set of data is identified. A position of this first joint is identified, at step 410, at a plurality of respective times during a time period of movement of the first joint from an empirical start point to an empirical end point. The relative change in position (i.e., the relative rotation) of the first joint between adjacent empirical points is identified, based on the positions at the respective times, at step 412. Then, the relative change in position may be applied, at step 414, to a plurality of points between the start point and the end point of the desired movement to simulate the movement. This concludes one method of simulating movement of a living object according to one embodiment of the present invention.
Although embodiments of the invention and their advantages are described in detail, a person skilled in the art could make various alterations, additions, and omissions without departing from the spirit and scope of the present invention as defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5253189 | Kramer | Oct 1993 | A |
5623428 | Kunii et al. | Apr 1997 | A |
5625577 | Kunii et al. | Apr 1997 | A |
5835693 | Lynch et al. | Nov 1998 | A |
5867631 | Sato et al. | Feb 1999 | A |
5905658 | Baba | May 1999 | A |
5982389 | Guenter et al. | Nov 1999 | A |
5989157 | Walton | Nov 1999 | A |
6005548 | Latypov et al. | Dec 1999 | A |
6057859 | Handelman et al. | May 2000 | A |
6088042 | Handelman et al. | Jul 2000 | A |
6161080 | Aouni-Ateshian et al. | Dec 2000 | A |
6243106 | Rehg et al. | Jun 2001 | B1 |
6462742 | Rose et al. | Oct 2002 | B1 |
6651044 | Stoneman | Nov 2003 | B1 |
6690999 | Kimura | Feb 2004 | B2 |
6694044 | Pavlovic et al. | Feb 2004 | B1 |
6738065 | Even-Zohar | May 2004 | B1 |
20030018412 | Kimura | Jan 2003 | A1 |
20030083596 | Kramer et al. | May 2003 | A1 |
20030215130 | Nakamura et al. | Nov 2003 | A1 |
20040012593 | Lanciault | Jan 2004 | A1 |
20040054510 | Raschke | Mar 2004 | A1 |
20050107916 | Nagasaka | May 2005 | A1 |
Number | Date | Country |
---|---|---|
0 858 201 | Aug 1998 | EP |
1 130 875 | Sep 2001 | EP |
WO 9618253 | Jun 1996 | WO |
WO 0016206 | Mar 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20040054510 A1 | Mar 2004 | US |