Advanced programming for 3d applications ce00383 3
Download
1 / 73

Advanced Programming for 3D - PowerPoint PPT Presentation


  • 308 Views
  • Updated On :

Advanced Programming for 3D Applications CE00383-3. Introduction to Human Motion Lecture 2. Bob Hobbs Staffordshire university. General Outline. Human Skeleton Muscle Groups How Robots simulate humans Kinematics Gait Locomotion. Human Dynamics. Users described as participants

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Advanced Programming for 3D' - Roberta


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Advanced programming for 3d applications ce00383 3 l.jpg

Advanced Programming for 3DApplicationsCE00383-3

Introduction to Human Motion

Lecture 2

Bob Hobbs

Staffordshire university


General outline l.jpg
General Outline

  • Human Skeleton

  • Muscle Groups

  • How Robots simulate humans

  • Kinematics

  • Gait

  • Locomotion


Human dynamics l.jpg
Human Dynamics

  • Users described as participants

  • basic interaction involves control of camera (viewpoint)

    • exploratory navigation / locomotion

    • Walk through systems

  • More advanced environment allow interaction

    • Touch , selection, manipulation

    • referred to as direct manipulation


Simulation of body l.jpg
Simulation of Body

  • Body model is the description of the interface

    • eyes are viual interface, ears are audio interface

    • geometric description drawn from egocentric point of view

    • description of hand and fingers forms basis of grasping simulation for picking up objects (Boulic 1996)


Simulation of body building the body l.jpg
Simulation of Body- Building the body

  • The more points represneting the body the more realistic the movement

  • Up to 90 points for motion-capture in animation

  • Standard for human skeleton (H-Anim 1999)

  • More typically head, Torso, Both hands

  • Inferred movement from limited points

  • Inverse kinematics problem - infinite possibilities of movement in virtual environment, consistent restraint

  • Elbow position in 4- Tracker system (Badler, 1993)


H anim l.jpg
H-Anim

Humanoid

L Hip

L Knee

L Ankle

L Midtarsal

Sacroiliac

R Hip

R Knee

R Ankle

R Midtarsal

L Shoulder

L Elbow

L Wrist

vl5

R Shoulder

R Elbow

R Wrist

Skullbase


Simulation of body tracking the participant l.jpg
Simulation Of body - tracking the participant

  • Choice of system depends on 5 factors

    • accuracy, resolution, range, lag, update rate

  • Many different tracking technologies

    • Meyer 1992

    • frequency and time

      • ultrasonic time-of-flight measurement

      • Pulsed Infra-red

      • GPS

      • Optical Gyroscopes

      • Phase difference


Simulation of body tracking the participant8 l.jpg
Simulation Of body - tracking the participant

  • Spatial Scan

    • Outside-in

    • Inside-out

  • Inertial sensing

    • mechanical gyroscope

    • Accelerometer

  • Mechanical Linkages

  • Direct - Field Sensing


  • Interaction with virtual body l.jpg
    Interaction with virtual Body

    • Limitations mean reliance on metaphors for

      • object manipulation (grasping and moving)

      • locomotion (movement)

    • Limitations in haptics mean that restraint on the virtual environment exists


    Muscles l.jpg
    Muscles

    • http://www.youtube.com/watch?v=T-ozRNVhGVg&feature=PlayList&p=37A3DC6AF2D7C881&index=5

    • http://www.youtube.com/watch?v=pbTah5NVOtU&NR=1


    The musculotendinous unit l.jpg
    The Musculotendinous Unit

    • Tendon- spring-like elastic component in series with contractile component (proteins)

    • Parallel elastic component (epimysium, perimysium, endomysium, sarcolemma)

    F

    x

    PEC: parallel elastic component

    CC: contractile component

    SEC: series elastic component


    Ii mechanics of muscle contraction l.jpg
    II. Mechanics of Muscle Contraction

    • Neural stimulation – impulse

    • Mechanical response of a motor unit - twitch

    T: twitch or contraction time, time for tension to reach maximum

    F0: constant of a given motor unit

    Averaged T values

    Tricep brachii 44.5 ms Soleus 74.0 ms

    Biceps brachii 52.0 ms Medial Gastrocnemius 79.0 ms

    Tibialis anterior 58.0 ms



    Generation of muscle tetanus l.jpg
    Generation of muscle tetanus

    100Hz

    10 Hz

    Note: muscle is controlled by frequency modulation from neural input

    very important in functional electrical stimulation


    Wave summation tetanization l.jpg
    Wave summation & tetanization

    Critical frequency


    Motor unit recruitment l.jpg
    Motor unit recruitment

    • All-or-nothing event

    • 2 ways to increase tension:

    • - Stimulation rate

    • Recruitment of more motor unit

    Size principle

    Smallest m.u. recruited first

    Largest m.u. last


    Models l.jpg

    Robots

    • Springs

    • Screws

    • Metal parts

    • Servos

    • Rubber

    Models

    • Springs

    • Joints

    • Segments

    • Muscles

    simple, fast, easy to understand


    Robotic basics l.jpg
    Robotic Basics

    • Have moveable segments

    • Connected with joints

    • Robots spin wheels and pivot jointed segments with some sort of actuator

    • Some robots use electric motors and solenoids as actuators some use a hydraulic system and some use a pneumatic system (a system driven by compressed gases).

    • Robots may use all these actuator types.

    • Robots usually have some sort of sensor


    Actuators l.jpg
    Actuators

    • Electrical current drives actuators controlling individual joints

    • Directly to motors or solenoids

    • To valves controlling flow of fluids to hydraulic or pneumatic systems


    Robot arm l.jpg
    Robot arm

    • Simplest sort of robot

    • Typical arm has 7 segments, 6 joints

    • 6DOF

    • Human arm 7DOF

    • Usually driven by Step Motors

    • Main use is in manufacturing


    Robot arm21 l.jpg
    Robot Arm

    • Fitted with end effector

    • Usually interchangeable

    • Artificial Hand , paint gun, welding rod

    • Pressure sensor needed to prevent crushing

    • Programmed by incremental steps which are then replicated ad infinitum


    Step motor l.jpg
    Step Motor

    • electromagnetic, rotary actuator, that mechanically converts digital pulse inputs to incremental shaft rotation.

    • The rotation not only has a direct relation to the number of input pulses, but its speed is related to the frequency of the pulses.


    Step motor23 l.jpg
    Step Motor

    Each pulse corresponds to an angular rotation


    Step motors l.jpg
    Step Motors

    • Between steps holds position w/o brake or clutch

    • Can be programmed to move a precise number of steps and then hold position

    • Possible to be bi-directional

    • Rapid acceleration, deceleration and reversal

    • cf DC Servo motors


    Choosing the right motor l.jpg
    Choosing the right motor

    • Basic Types:

      • Variable Reluctance,

      • Permanent Magnet,

      • Hybrid

    • Parameters to be considered

      • Distance to be traversed.

      • Maximum time allowed for a traverse.

      • Desired detent (static) accuracy.

      • Desired dynamic accuracy (overshoot).


    More parameters l.jpg
    More parameters

    • Settling time

    • Required step resolutiong

    • System friction

    • System inertia.

    • Speed/Torque characteristics of the motor: When selecting a motor/drive, the capacity of the motor must exceed the overall requirements of the load.

    • Torque-to-inertia Ratio

    • Torque Margin: Selecting a motor drive that provides at least 50% margin above the minimum required torque is ideal.


    Frameworks chains or skeletons l.jpg
    Frameworks, Chains (or Skeletons)

    • A lot of mechanical objects in the real world consist of solid sections connected by joints

    • Obviously robot arm but also

      • Creatures such as humans and animals.

      • Car Suspension

      • Ropes, string and Chains


    Frameworks chains or skeletons28 l.jpg
    Frameworks, Chains (or Skeletons)

    • Sections and joints of robot arm are known as a 'chain‘

    • In creatures could be referred to as a skeleton

    • Moveable sections correspond to bones

    • Attachments between bones are joints.


    Frameworks chains or skeletons29 l.jpg
    Frameworks, Chains (or Skeletons)

    • Motions of chains can be specified in terms of translations and rotations.

    • Forward Kinematics - From the amounts of rotation and bending of each joint in an arm, for example, the position of the hand can be calculated.

    • Inverse Kinematics - If the hand is moved, the rotation and bending of the arm is calculated, in accordance with the length and joint properties of each section of the arm.


    Joint translation rotation l.jpg
    Joint Translation-Rotation

    • We can use a transform (T) to transform each point relative to the body to a position in world coordinates.

    • If we want to model both linear and angular (rotational) motion then we need to use a 4x4 matrix to represent the transform


    What is inverse kinematics l.jpg

    ?

    End Effector

    Base

    What is Inverse Kinematics?

    • Forward Kinematics


    What is inverse kinematics32 l.jpg

    End Effector

    Base

    What is Inverse Kinematics?

    • Inverse Kinematics


    What does looks like l.jpg

    ?

    End Effector

    Base

    What does looks like?


    Solution to l.jpg

    Infinite number of solutions !

    Solution to

    • Our example

    Number of equation : 2

    Unknown variables : 3


    Redundancy l.jpg

    Redundancy

    • System DOF > End Effector DOF


    Redundancy36 l.jpg
    Redundancy

    • A redundant system has infinite number of solutions

    • Human skeleton has 70 DOF

      • Ultra-super redundant

    • How to solve highly redundant system?


    Iterative solution l.jpg
    Iterative solution

    • Start at end effector

    • Move each joint so that end gets closer to target

    • The angle of rotation for each joint is found by taking the dot product of the vectors from the joint to the current point and from the joint to the desired end point. Then taking the arcsin of this dot product.

    • To find the sign of this angle (ie which direction to turn), take the cross product of these vectors and checking the sign of the Z element of the vector.


    Goal potential function l.jpg
    Goal Potential Function

    • “Distance” from the end effector to the goal

    • Function of joint angles : G(q)


    Our example l.jpg

    Goal

    distance

    End Effector

    Base

    Our Example


    Dynamics of the long jump l.jpg

    Ground reaction force (N)

    time (ms)

    m1

    Energetic losses may increase performance!

    Nonlinear spring-damper element

    k

    m2

    Dynamics of the long jump

    Seyfarth et al. (1999) J. Biomech.


    Joint structures l.jpg
    Joint Structures

    • This allows two nodes to be attached to each other in a flexible way so that forces in the plane of the joint will be transmitted through it, but forces perpendicular to the joint will cause it to bend. This will provide IK like capabilities


    Types of joint l.jpg

    • Symbol

    • DOF

    • Revolute joints

    • R

    • 1

    • Prismatic joints

    • P

    • 1

    • Helical joints

    • -

    • 1

    • Cylindrical joints

    • RP

    • 2

    • Spherical joints

    • 3R

    • 3

    • Planar joints

    • RRP

    • 3

    Types of Joint


    Joint structures43 l.jpg
    Joint Structures

    • In character animation, only 2 types of joint need to be considered. These are the "revolute" and "prismatic" joints. All other types can be based on these two.

    • 1 degree of freedom:

      • rotational joint - wheel.

      • hinge - similar to rotational joint above but with limits to motion (end stops)

    • 2 degrees of freedom

      • ball & socket joint


    Dynamics l.jpg
    Dynamics

    • Forward Dynamics - The movements are calculated from the forces, such as, force = mass * acceleration.

    • Inverse Dynamics - Constraints are applied which specifies how objects interact, for example, they may be linked by a hinge joint or a ball joint, and from this the forces can be calculated


    Forward dynamics l.jpg
    Forward Dynamics

    • If no forces act on a particle, the particle retains its linear momentum.

    • The rate of change of the linear momentum of a particle is equal to the sum of all forces acting on it.

    • When two particles exert forces upon each other, these forces are equal in magnitude and opposite in direction.


    Forward dynamics46 l.jpg
    Forward Dynamics

    • These laws can also be applied to rigid bodies by assuming that the forces are acting on the centre of mass of the object.

    • Assuming that the mass is constant then the second law becomes:

      • force = mass * acceleration

    • Euler extended these laws to include rotation. So there are equivalent laws for rotation such as:

      • torque = inertia * angular acceleration.


    What is a robot l.jpg
    What is a robot?

    • Joseph Engelberger, a pioneer in industrial robotics, once remarked "I can't define a robot, but I know one when I see one."

    • Many different machines called robots

    • Everybody has a different idea of what constitutes a robot

    • Name from robota– forced labour


    What relevance to us l.jpg
    What relevance to us?

    • VR models use robotic principles

    • Avatars behave like robots

    • Simulations of robots used to test real robots

    • May be used to control remote robotics


    Virtual actors autonomous or guided l.jpg
    Virtual Actors: Autonomous or Guided

    Guided Actors are Slaved to the Motions of a Human Participant Using Body Tracking

    – Optical, mechanical, . . .

    – A.K.A. Avatar

    • Autonomous Actors Are Controlled by Behavior Modeling Programs, and Can

    - Augment or replace human participants

    - Serve as surrogate instructors

    - Act as guides in complex synthetic worlds

    • Hybrid Control Desirable

    - VRLOCO uses interaction to invoke and control locomotion behaviors


    The weiss 6 level motor organization hierarchy l.jpg
    The Weiss 6-Level Motor Organization Hierarchy

    Organism Level

    6. Motor Behavior

    5. Motor Organ

    System

    4. Motor Organ

    3. Muscle Group

    2. Muscle

    1. Motor Unit

    Neuron Level

    3. Muscle Group

    - Coordinated action of several muscles

    - Motion at one joint

    2. Muscle

    - Muscle contraction

    1. Motor Unit

    - Neuron + muscle fibers

    - Twitching, shivering


    The weiss 6 level motor organization hierarchy51 l.jpg
    The Weiss 6-Level Motor Organization Hierarchy

    Organism Level

    6. Motor Behavior

    5. Motor Organ

    System

    4. Motor Organ

    3. Muscle Group

    2. Muscle

    1. Motor Unit

    Neuron Level

    6. Motor Behavior

    - Movement of the whole organism

    - E.G., Goal-directed locomotion

    - Task manager

    5. Motor Organ System

    - Coordinated action of several limbs

    - E.g., Walking

    - Motor programs, skills

    4. Motor Organ

    - Coordinated action of several joints

    - E.G., Stepping motion of a limb

    - Local motor programs


    Motion and reaction l.jpg
    Motion and Reaction

    • Sensorymotor level

    - Levels 1 - 5

    - Peripheral and proprioceptive feedback associated with

    reflex arcs

    - Motor programs and reflexes coordinate and control

    motion

    - Executes behaviors

    • Reactive level

    – Level 6 and higher

    - Perception triggers and modulates behavior

    - Organism responds to environmental stimuli to select and compose behaviors

    - Selects behaviors


    Organization of a virtual actor l.jpg
    Organization of a Virtual Actor

    Organism Level

    6. Motor Behavior

    5. Motor Organ

    System

    4. Motor Organ

    3. Muscle Group

    2. Muscle

    1. Motor Unit

    Neuron Level

    Level 6 and above

    Reactive level

    Levels 1-5

    Sensorymotor level








    Kinematic chains l.jpg
    Kinematic Chains

    • Solid links connected at movable joints

    • Fixed end: base

    • Movable end: tip or end effector

    • One degree of freedom (DOF) per joint

    • Open chain: one fixed end, one movable end

    • Closed chain: both ends fixed



    Kinematic redundancy l.jpg
    Kinematic Redundancy

    • End-effector has 6 DoFs

    - (x, y, z) position

    - ( , , ) orientation

    • Non-redundant linkage has < = 6 joints (DoFs)

    • Redundant linkage has > 6 joints (DoFs)

    - Human arm has 7 DoFs

    » Shoulder 3

    » Elbow 1

    » Forearm 1

    » Wrist 2

    - Redundancy enables multiple solutions


    Inverse kinematics ik l.jpg
    Inverse Kinematics (IK)

    • Non-redundant Linkages

    - Analytical solutions

    • Redundant Linkages

    - Many techniques

    » Pseudo-inverse (Jacobian)

    » Gradient

    » Others

    • IK Commonly Found in Animation Packages

    - 3D Studio Max



    Weight l.jpg
    Weight

    • Bend:

    – Non-weight-bearing motion

    – Traverse subtree rooted at rotating joint

    • Pivot

    – Weight-bearing motion

    – Traverse entire tree starting at root EXCEPT for subtree rooted at rotating joint

    • Critical Element of Realism

    – Is the character supported by its legs, or are the legs dangling in space as the character is translated along?


    Slide68 l.jpg

    Bend

    Non-weight-bearing motion

    – traverse subtree

    rooted at rotating joint


    Slide69 l.jpg

    Pivot

    Weight-bearing motion

    – traverse entire tree starting at root EXCEPT for subtree rooted at rotating joint


    Gait parameters l.jpg
    Gait Parameters

    • Gait Pattern

    – Sequence of lifting and placing feet

    • Gait Cycle

    – One repetition Of the gait pattern

    • Period

    – Duration of one gait cycle

    • Relative Phase of Leg I

    – Fraction of gait cycle before leg I is lifted

    • Duty Factor

    – Fraction of gait cycle period a given leg spends on ground

    • Swing Time

    – Time a leg spends In the air

    • Stance Time

    – Time a leg spends On the ground

    • Stroke

    – Distance body travels during a leg's stance time



    Locomotion l.jpg
    Locomotion

    • Tracker has a limited range

    • Must use locomotion metaphor to move greater distances

    • Locomotion is on an even plane , virtual terrain may not be even

    • Collision detection can be employed to raise or lower the participant accordingly


    Slide73 l.jpg

    Directions of locomotion

    Fly in direction of aim

    Fly in direction of pointing

    Fly in direction of gaze

    Fly in direction of torso


    ad