A mathematical introduction
to robotic manipulation
Chapter 7&8
Harada Lab, Osaka university
D2 Zhenting Wang
2021.11.19
Overview
Chapter 7 - Nonholonomic Behavior in Robotic System
7.1 Controllability and Frobenius’ Theorem
7.2 Examples of Nonholonomic Systems
7.3 Structure of Nonholonomic Systems
Chapter 8 - Nonholonomic Motion Planning
8.1 Steering Model Control Systems Using Sinusoids
8.2 General Methods for Steering
• Fourier techniques
• Conversion to chained form
• Optimal steering of nonholonomic systems
• Steering with piecewise constant inputs
8.3 Dynamic Finger Repositioning
Overview
Chapter 7 - Nonholonomic Behavior in Robotic System
7.1 Controllability and Frobenius’ Theorem
7.2 Examples of Nonholonomic Systems
7.3 Structure of Nonholonomic Systems
Chapter 8 - Nonholonomic Motion Planning
8.1 Steering Model Control Systems Using Sinusoids
8.2 General Methods for Steering
• Fourier techniques
• Conversion to chained form
• Optimal steering of nonholonomic systems
• Steering with piecewise constant inputs
8.3 Dynamic Finger Repositioning
11/19
12/03
Nonholonomic System
Pfaffian constraints:
holonomic: it restricts the motion of a system to a smooth hypersurface of the configuration space.
Integrable: An integrable Pfaffian constraint is called a holonomic constraint.
A set of Pfaffian constraints is said to be nonholonomic if it is not equivalent to a set of holonomic
constraints.
Chapter 7 - Nonholonomic Behavior in Robotic System
Introduction
Nonholonomic System
In this chapter:
Understand when we can exploit the nonholonomy of the constraints to achieve motion between
configurations.
Examples:
Chapter 7 - Nonholonomic Behavior in Robotic System
Introduction
Lie derivative and Lie bracket
Chapter 7 - Nonholonomic Behavior in Robotic System
Lie derivative and Lie bracket
Chapter 7 - Nonholonomic Behavior in Robotic System
Two kinds of situations:
1. Bodies in contact with each other which roll without slipping
• Dextrous manipulation with a multi-fingered robot hand
• Path planning for mobile robots or automobiles
2. Conservation of angular momentum in a multibody system
• Motion of a satellite with robotic appendages moving in space
Chapter 7 - Nonholonomic Behavior in Robotic System
Examples of Nonholonomic Systems
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 1: Kinematic car
Configuration:
Pfaffian constraints:
Control system:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 2: Hopping robot in flight
Configuration:
Pfaffian constraints: (total angular momentum is initially 0)
Control system:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 3: Fingertip rolling on an object
Configuration:
Kinematic equations of contact:
The rolling constraint is obtained by setting the sliding velocity and the velocity of
rotation about the contact normal to 0:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 3: Fingertip rolling on an object
Control system:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 3: Fingertip rolling on an object
Specialize the example to the case that the object is flat and the fingertip is a sphere
of radius one. The curvature forms, metric tensors and torsions for the fingertip and
the object are (chapter 5):
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 3: Fingertip rolling on an object
With the input being the rates of the rolling about the two tangential directions:
Distribution:
Chapter 7 - Nonholonomic Behavior in Robotic System
Structure of Nonholonomic Systems
Chapter 7 - Nonholonomic Behavior in Robotic System
Structure of Nonholonomic Systems
Degree of nonholonomy
Chapter 7 - Nonholonomic Behavior in Robotic System
Structure of Nonholonomic Systems
Growth vector, relative growth vector
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 1: Kinematic car
Control system:
To calculate the growth vector, we build the filtration:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 2: Hopping robot in flight
Control system:
The controllability Lie algebra:
Chapter 7 - Nonholonomic Behavior in Robotic System
Example 3: Fingertip rolling on an object
Input:
Constructing the filtration:
Optimal control
By attaching a cost functional to each trajectory, we can limit our search of trajectories
which minimize a cost function.
Typical cost functions might be the length of the path, the control cost, or the time
required to execute the trajectory.
Piecewise constant inputs
The most naive way of using constant inputs is to pick a time interval and generate a
graph by applying all possible sequences of input. Each node on the graph
corresponds to a configuration, and branches indicate the choice of a fixed control
over the time interval.
Chapter 8 – Nonholonomic Motion Planning
Introduction
Canonical paths
This approach solves the nonholonomic path planning problem by choosing a family
of paths which can be used to produce desired motions.
The set of canonical paths used for a given problem is usually specific to that problem.
In some cases the paths may derived from some unifying principle.
Chapter 8 – Nonholonomic Motion Planning
Introduction
First-order controllable systems: Brockett’s system
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case:
Total cost:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Case: input m
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
First-order controllable systems: Brockett’s system
Control Algorithm:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
Second-order controllable systems
By computation:
The maximum number of controllable is :
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
Second-order controllable systems
Control Algorithm:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
Second-order controllable systems
Control Algorithm:
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
m=2
Higher-order systems: chained form systems (12/03)
Generalization: conversion to chained form
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
Fourier techniques
Example 1: Hopping robot in flight
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Control equations:
Fourier techniques
Example 1: Hopping robot in flight
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Control equations:
Fourier techniques
Example 2: Kinematic car
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Fourier techniques
Example 2: Kinematic car
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Step C:
Overview
Chapter 7 - Nonholonomic Behavior in Robotic System
7.1 Controllability and Frobenius’ Theorem
7.2 Examples of Nonholonomic Systems
7.3 Structure of Nonholonomic Systems
Chapter 8 - Nonholonomic Motion Planning
8.1 Steering Model Control Systems Using Sinusoids
8.2 General Methods for Steering
• Fourier techniques
• Conversion to chained form
• Optimal steering of nonholonomic systems
• Steering with piecewise constant inputs
8.3 Dynamic Finger Repositioning
11/19
12/03
Higher-order systems: chained form systems
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
2 input system:
One-chain system
Higher-order systems: chained form systems
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
One-chain system
Higher-order systems: chained form systems
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
One-chain system
Higher-order systems: chained form systems
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
One-chain system
Higher-order systems: chained form systems
Chapter 8 – Nonholonomic Motion Planning
Steering Model Control System Using Sinusoids
One-chain system
Conversion to chained system
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Control system:
The system is in chained form in the z
coordinates with input v.
Conversion to chained system
The system can be converted into one-chain form if these distributions are all constant
rank and involutive, and there exists a function such that:
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Sufficient conditions for the 2 input case, in which case the system is to be converted
into the one-chain form:
Conversion to chained system
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Chosen independent of :
Conversion to chained system
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example 2: Kinematic car
One-chain system
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Optimal steering of nonholonomic systems
The solution of this equation is of the form:
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Optimal inputs of Engel’s system
Optimal steering of nonholonomic systems
The solution of this equation is of the form:
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Optimal inputs of Engel’s system
Optimal steering of nonholonomic systems
The optimal inputs for the Engel’s system come from elliptic function.
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Optimal inputs of Engel’s system
Elliptic integral
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
We consider a nilpotent Lie algebra of order k generated by the vector fields
The Philip Hall basis of the controllability Lie algebra generated by are
defined as
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
All flows of the nonlinear control system:
are of the form
for some suitably chosen functions known as the Philip Hall coordinates.
The mean of (8.22) is:
All flows that could possibly be generated by the control system may be obtained by
composing flows along the Philip Hall basis elements
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
All flows of the nonlinear control system:
are of the form
for some suitably chosen functions known as the Philip Hall coordinates.
The mean of (8.22) is:
All flows that could possibly be generated by the control system may be obtained by
composing flows along the Philip Hall basis elements
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
satisfies a differential equation involving the basis elements:
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Differentiating equation:
We introduced the notation:
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Nilpotent system of degree three with two inputs
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Nilpotent system of degree three with two inputs
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Example: Nilpotent system of degree three with two inputs
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Steering with piecewise constant inputs
Chapter 8 – Nonholonomic Motion Planning
General Methods for Steering
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Problem description
The overall constraints on the system have the form:
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Problem description
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Steering using sinusoids
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Steering using sinusoids
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Steering using sinusoids
The location of the contact on
the finger is unchanged
The location of the contact on
the face of the object
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Geometric phase algorithm
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Geometric phase algorithm
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Geometric phase algorithm
Chapter 8 – Nonholonomic Motion Planning
Dynamic Finger Repositioning
Geometric phase algorithm
Thank you!

A Mathematical Introduction to Robotic Manipulation 第7&8章

  • 1.
    A mathematical introduction torobotic manipulation Chapter 7&8 Harada Lab, Osaka university D2 Zhenting Wang 2021.11.19
  • 2.
    Overview Chapter 7 -Nonholonomic Behavior in Robotic System 7.1 Controllability and Frobenius’ Theorem 7.2 Examples of Nonholonomic Systems 7.3 Structure of Nonholonomic Systems Chapter 8 - Nonholonomic Motion Planning 8.1 Steering Model Control Systems Using Sinusoids 8.2 General Methods for Steering • Fourier techniques • Conversion to chained form • Optimal steering of nonholonomic systems • Steering with piecewise constant inputs 8.3 Dynamic Finger Repositioning
  • 3.
    Overview Chapter 7 -Nonholonomic Behavior in Robotic System 7.1 Controllability and Frobenius’ Theorem 7.2 Examples of Nonholonomic Systems 7.3 Structure of Nonholonomic Systems Chapter 8 - Nonholonomic Motion Planning 8.1 Steering Model Control Systems Using Sinusoids 8.2 General Methods for Steering • Fourier techniques • Conversion to chained form • Optimal steering of nonholonomic systems • Steering with piecewise constant inputs 8.3 Dynamic Finger Repositioning 11/19 12/03
  • 4.
    Nonholonomic System Pfaffian constraints: holonomic:it restricts the motion of a system to a smooth hypersurface of the configuration space. Integrable: An integrable Pfaffian constraint is called a holonomic constraint. A set of Pfaffian constraints is said to be nonholonomic if it is not equivalent to a set of holonomic constraints. Chapter 7 - Nonholonomic Behavior in Robotic System Introduction
  • 5.
    Nonholonomic System In thischapter: Understand when we can exploit the nonholonomy of the constraints to achieve motion between configurations. Examples: Chapter 7 - Nonholonomic Behavior in Robotic System Introduction
  • 6.
    Lie derivative andLie bracket Chapter 7 - Nonholonomic Behavior in Robotic System
  • 7.
    Lie derivative andLie bracket Chapter 7 - Nonholonomic Behavior in Robotic System
  • 8.
    Two kinds ofsituations: 1. Bodies in contact with each other which roll without slipping • Dextrous manipulation with a multi-fingered robot hand • Path planning for mobile robots or automobiles 2. Conservation of angular momentum in a multibody system • Motion of a satellite with robotic appendages moving in space Chapter 7 - Nonholonomic Behavior in Robotic System Examples of Nonholonomic Systems
  • 9.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 1: Kinematic car Configuration: Pfaffian constraints: Control system:
  • 10.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 2: Hopping robot in flight Configuration: Pfaffian constraints: (total angular momentum is initially 0) Control system:
  • 11.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 3: Fingertip rolling on an object Configuration: Kinematic equations of contact: The rolling constraint is obtained by setting the sliding velocity and the velocity of rotation about the contact normal to 0:
  • 12.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 3: Fingertip rolling on an object Control system:
  • 13.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 3: Fingertip rolling on an object Specialize the example to the case that the object is flat and the fingertip is a sphere of radius one. The curvature forms, metric tensors and torsions for the fingertip and the object are (chapter 5):
  • 14.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 3: Fingertip rolling on an object With the input being the rates of the rolling about the two tangential directions:
  • 15.
    Distribution: Chapter 7 -Nonholonomic Behavior in Robotic System Structure of Nonholonomic Systems
  • 16.
    Chapter 7 -Nonholonomic Behavior in Robotic System Structure of Nonholonomic Systems
  • 17.
    Degree of nonholonomy Chapter7 - Nonholonomic Behavior in Robotic System Structure of Nonholonomic Systems Growth vector, relative growth vector
  • 18.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 1: Kinematic car Control system: To calculate the growth vector, we build the filtration:
  • 19.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 2: Hopping robot in flight Control system: The controllability Lie algebra:
  • 20.
    Chapter 7 -Nonholonomic Behavior in Robotic System Example 3: Fingertip rolling on an object Input: Constructing the filtration:
  • 21.
    Optimal control By attachinga cost functional to each trajectory, we can limit our search of trajectories which minimize a cost function. Typical cost functions might be the length of the path, the control cost, or the time required to execute the trajectory. Piecewise constant inputs The most naive way of using constant inputs is to pick a time interval and generate a graph by applying all possible sequences of input. Each node on the graph corresponds to a configuration, and branches indicate the choice of a fixed control over the time interval. Chapter 8 – Nonholonomic Motion Planning Introduction
  • 22.
    Canonical paths This approachsolves the nonholonomic path planning problem by choosing a family of paths which can be used to produce desired motions. The set of canonical paths used for a given problem is usually specific to that problem. In some cases the paths may derived from some unifying principle. Chapter 8 – Nonholonomic Motion Planning Introduction
  • 23.
    First-order controllable systems:Brockett’s system Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 24.
    First-order controllable systems:Brockett’s system Case: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 25.
    First-order controllable systems:Brockett’s system Case: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 26.
    First-order controllable systems:Brockett’s system Case: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 27.
    First-order controllable systems:Brockett’s system Case: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 28.
    First-order controllable systems:Brockett’s system Case: Total cost: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 29.
    First-order controllable systems:Brockett’s system Case: input m Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 30.
    First-order controllable systems:Brockett’s system Control Algorithm: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 31.
    Second-order controllable systems Bycomputation: The maximum number of controllable is : Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 32.
    Second-order controllable systems ControlAlgorithm: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 33.
    Second-order controllable systems ControlAlgorithm: Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids m=2
  • 34.
    Higher-order systems: chainedform systems (12/03) Generalization: conversion to chained form Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids
  • 35.
    Fourier techniques Example 1:Hopping robot in flight Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Control equations:
  • 36.
    Fourier techniques Example 1:Hopping robot in flight Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Control equations:
  • 37.
    Fourier techniques Example 2:Kinematic car Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 38.
    Fourier techniques Example 2:Kinematic car Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Step C:
  • 39.
    Overview Chapter 7 -Nonholonomic Behavior in Robotic System 7.1 Controllability and Frobenius’ Theorem 7.2 Examples of Nonholonomic Systems 7.3 Structure of Nonholonomic Systems Chapter 8 - Nonholonomic Motion Planning 8.1 Steering Model Control Systems Using Sinusoids 8.2 General Methods for Steering • Fourier techniques • Conversion to chained form • Optimal steering of nonholonomic systems • Steering with piecewise constant inputs 8.3 Dynamic Finger Repositioning 11/19 12/03
  • 40.
    Higher-order systems: chainedform systems Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids 2 input system: One-chain system
  • 41.
    Higher-order systems: chainedform systems Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids One-chain system
  • 42.
    Higher-order systems: chainedform systems Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids One-chain system
  • 43.
    Higher-order systems: chainedform systems Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids One-chain system
  • 44.
    Higher-order systems: chainedform systems Chapter 8 – Nonholonomic Motion Planning Steering Model Control System Using Sinusoids One-chain system
  • 45.
    Conversion to chainedsystem Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Control system: The system is in chained form in the z coordinates with input v.
  • 46.
    Conversion to chainedsystem The system can be converted into one-chain form if these distributions are all constant rank and involutive, and there exists a function such that: Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Sufficient conditions for the 2 input case, in which case the system is to be converted into the one-chain form:
  • 47.
    Conversion to chainedsystem Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Chosen independent of :
  • 48.
    Conversion to chainedsystem Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example 2: Kinematic car One-chain system
  • 49.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 50.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 51.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 52.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 53.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 54.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 55.
    Optimal steering ofnonholonomic systems Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 56.
    Optimal steering ofnonholonomic systems The solution of this equation is of the form: Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Optimal inputs of Engel’s system
  • 57.
    Optimal steering ofnonholonomic systems The solution of this equation is of the form: Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Optimal inputs of Engel’s system
  • 58.
    Optimal steering ofnonholonomic systems The optimal inputs for the Engel’s system come from elliptic function. Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Optimal inputs of Engel’s system Elliptic integral
  • 59.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering We consider a nilpotent Lie algebra of order k generated by the vector fields The Philip Hall basis of the controllability Lie algebra generated by are defined as
  • 60.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering All flows of the nonlinear control system: are of the form for some suitably chosen functions known as the Philip Hall coordinates. The mean of (8.22) is: All flows that could possibly be generated by the control system may be obtained by composing flows along the Philip Hall basis elements
  • 61.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering All flows of the nonlinear control system: are of the form for some suitably chosen functions known as the Philip Hall coordinates. The mean of (8.22) is: All flows that could possibly be generated by the control system may be obtained by composing flows along the Philip Hall basis elements
  • 62.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering satisfies a differential equation involving the basis elements:
  • 63.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Differentiating equation: We introduced the notation:
  • 64.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 65.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 66.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Nilpotent system of degree three with two inputs
  • 67.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Nilpotent system of degree three with two inputs
  • 68.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering Example: Nilpotent system of degree three with two inputs
  • 69.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 70.
    Steering with piecewiseconstant inputs Chapter 8 – Nonholonomic Motion Planning General Methods for Steering
  • 71.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning
  • 72.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Problem description The overall constraints on the system have the form:
  • 73.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Problem description
  • 74.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Steering using sinusoids
  • 75.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Steering using sinusoids
  • 76.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Steering using sinusoids The location of the contact on the finger is unchanged The location of the contact on the face of the object
  • 77.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Geometric phase algorithm
  • 78.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Geometric phase algorithm
  • 79.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Geometric phase algorithm
  • 80.
    Chapter 8 –Nonholonomic Motion Planning Dynamic Finger Repositioning Geometric phase algorithm
  • 81.

Editor's Notes

  • #2 Content in chapter 8
  • #3 For the 7.1, I will introduce some basic concepts and theorems for the nonholonomic system And second I will introduce some examples of nonholonomic system, I prefer to introduce these two chapters based on those examples because the basic theory may be hard to understand without verifying by your own hand. For the chapter 8. I will firstly introduce the steering model control system using sinusoids, which contains the First-order system, the Brockett’s system, the second-order system, and higher-order systems, the chained form system. And then I will introduce some general method for steering.
  • #4 For today’s presentation, I will only introduce the part before the optimal steering of nonholonomic systems. And the remaining parts will be introduced in next time presentation.
  • #5 In the previous chapter, we derived the equations of motion for a robotic system with kinematic constraints. And the constraints is restricted to Pfaffian constraints which had the general form. Where q is the configuration of the system. By shifting this equation, the preceding constraints can be written in the form: w are the row vectors. w is assumed linearly independent at each point q. and each w describes one constraint on the directions in which q dot is permitted to take values. A constraint is said to be holonomic if it restricts….Locally, a holonomic constraint can be represented as a set of algebraic constraints on the configuration space. A set of k Pfaffian constraints is integrable if there exist function h such that…. A set of Pfaffian constraints is integrable if it is equivalent to a set of holonomic constraints. And an integrable Pfaffian constraint is often called a holonomic constraint. A set of………
  • #6 Given two points, when does there exist a path which satisfies the constraints at all times and connects these two points? A good example is an automobile. The kinematics of an automobile are constrained because the front and rear wheels are only allowed to roll and spin, but not to slide sideways. As a consequence, the car itself is not capable of sliding sideways, or rotating in place. Despite this, from our experience, we can park an automobile at any position and orientation. Thus, the constraints are not holonomic since the motion of the system is unrestricted. And finding an actual path between two given configurations is an example of a nonholonomic motion planning problem which will be discussed in next chapter.
  • #9 Nonholonomic constraints arise in two kinds of situations:
  • #10 The rear tires are aligned with the car, while the front tires are allowed to spin about the vertical axes. To simplify the problem, we model the front and rear pairs of wheels as single wheels at the midpoints of the axles. The constraints on the system arise by allowing the wheels to roll and spin, but not slip. X,y is the location of the rear wheels, theta is the angle of the car body with respect to the horizontal. Phi is the steering angle with respect to the car body. The constraints for the front and rear wheels are formed by setting the sideways velocity of the wheel to zero. In particular, the velocity of the back wheels perpendicular to their direction is sinthetaxdot The velocity of the front wheels perpendicular to the direction they are pointing is… , so that the Pfaffian constraints on the automobile are:… Convert this to a control system, The input is the driving velocity u1 and the steering velocity u2.
  • #11 This robot consists of a body with an actuated leg that can rotate and extend. The constraint on this system is the conservation of angular momentum. Configuration consists of the leg angle, the leg extension and the body angle of the robot. We choose one vector field corresponding to controlling the leg angle and the other corresponding to controlling leg extension.
  • #12 Alpha f fingertip surface 2 , alpha o object surface 2 , phi angle of contact 1 . Substituting this into the kinematic equations, we get the following constraints:
  • #13 we get the following constraints:
  • #16 Nonholonomic constraints arise in two kinds of situations:
  • #21 Let the input be the two components of rolling velocities
  • #22 This chapter provides a survey of some of the techniques which have been used in planning paths for nonholonomic systems. For example, in the case of fingers rolling on the surface of a grasped object, obstacle avoidance may consist of keeping the fingers from colliding with each other or with the grasped object. Holonomic path planners implicitly assume that arbitrary motion in the configuration space is allowed as long as obstacles are avoided. If a system contains nonholonomic constraints, many of these path planners cannot be directly applied since they generate paths which violate the constraints.
  • #23 For example, we might consider paths for a car that cause a net rotation of any angle, or translation in the direction that the car is facing. We can then move to any configuration by reorienting the car, driving forward, and again reorienting the car. The path used to cause a net rotation might consist of a set of parameterized piecewise constant input or heuristic trajectory. The set of canonical paths used for a given problem is usually specific to that problem.
  • #28 Thus we got the functional form of the optimal controls, when given values for q0 and qf one can solve for the u(0) and lamda required to steer the system optimally. However, from the form of the control system, it is clear that the state q1 and q2 may be steered directly. Thus, what we need to focus on is steering from q(0) to q(1).
  • #29 By directly integrating for q1 and q2, we get … Further, total cost is …. Since lamda=2npi, the minimum cost is achieved for n=-1 and that||u(0)||^2=2pia. Thus, the optimal input steering the system between the point(0,0,0) and (0,0,a) is a sum of sines and cosines at a frequency 2pi.
  • #30 The generalization of the system to an m-input system is the system like this…
  • #31 From this conclusion, we can get the control algorithm for steering system of the form of this.
  • #32 Then, we extend the previous canonical form to the next higher level of bracketing: Not all state variables of the form of qijk are controllable. Indeed, a straightforward but somewhat laborious computation shows that:
  • #33 The required calculations for step2 are identical to those in algorithm1. A general calculation of the motion in step3 is quite complex. But for some specific systems, the calculations are quite straightforward. For example…
  • #34 To steer q1,q2 and q12 to their desired locations, we apply algorithm 1. To steer q121 independently of the other states, choose u1=asinpi2t, u2=.. To obtain: And all other states return to their original values. Both the algorithms presented above require separate steps to steer in each of the qijk directions. It is also possible to generate net motion in multiple coordinates at the same time by using a linear combination of sinusoids and by solving a polynomial equation for the necessary coefficient.
  • #35 One kind of the higher-order systems is the chained form systems. Because for the general methods for steering, it is able to convert some specific system to the chained form systems using conversion to chained form. So I prefer to introduce this part in the next presentation together with the conversion to chained form.
  • #36 Model control systems of the kind that we discussed in the previous section will very hard to use directly without modification. In this section, we consider some techniques in motion planning for more general nonholonomic systems. The methods involving sinusoids at integrally related frequencies can be modified using some elementary Fourier analysis to steer system which are not in any of the model classes that we have discussed. I will introduce this part based on two examples I introduced before First, is the… The phi is the angle of the hip of the hopping robot, l is the length of the leg extension and theta is the angle of the body of the robot. If we neglects the higher order terms in the last equation, this equation has the form of a chained form system with 3 states. We first steer the phi and l to their desired values and then use the sinusoids to steer alpha.
  • #37 By choice, after one period(1 second), the last motion does not affect the final values of phi and l. since l=.. Over this piece of motion, we can expand f(l) by its Fourier series: Since beta is a function of a2, we can solve for a1 and a2 numerically to achieve a net change in alpha.
  • #38 In this form, u1 does not control any state directly. We use a change of coordinates…(up) and a change of inputs…(down) to put the equations in the form: As in the previous example, the linear terms in the taylor series expansions of the nonlinearities in the last two equations match the terms of the one-chain system. And we include the effect of the nonlinear terms using fourier analysis.
  • #39 This figure shows an example of the application of algorithm 2 applied to the car. The trajectory shown is a sample path which moves the car from () to (). The first 3 figure show the states versus x and the bottom right graphs show the inputs as functions of time. The first part of the path, labeled A, drives x and phi to their desired values using a constant input. The second portion labeled B, uses a sine and cosine to drive theta while bringing the other two states back to their desired values. The last step labeled C, involving the inputs:… brings y to the desired value and returns the other states back to their correct values.
  • #40 In last time,
  • #41 As in the previous sections, we may try to generate canonical classes of higher order systems, systems where more than one level of Lie brackets is needed to span the tangent space to the configuration space. But it is difficult to use sinusoids to steer such systems. In this part, we focus on the chained systems, that can be steered using sinusoids at integrally related frequencies. Further, we can convert many other nonlinear systems into chained form systems as we discuss in the next section.
  • #42 We denote iterated Lie products as…(k)
  • #43 The first item is to check the controllability of these system. We denote iterated Lie products as…(k) This can be proved by induction.
  • #46 An interesting question is whether it is possible using a change of input and nonlinear transformation of the coordinates to convert a given nonholonomic control system into one of the model forms discussed in the previous section. Given the system…, does there exist a matrix beta and a diffeomorphism phi such that…
  • #47 The conditions assume that g1 and g2 are linearly independent.
  • #48 If we can find these functions h1 and h2, then the map phi: q to z and input transformation given by:
  • #49 First, we rewrite the kinematic equations as:… Then, with…, it is easy to verify that this system satisfies the conditions given above and the change of variables and input are given by:… to a one-chain system.
  • #55 The 8.16 gives the derivatives of the optimal input.
  • #57 So that the optimal inputs satisfy the differential equation obtained by specializing 8.16. Further, since the optimal Hamiltonian given by: H() is independent of q3 and q4, it follows p3 dot = p4 dot =0 so that p3 and p4 are constant.
  • #58 Using the functional form of u1 and u2 we get: c and k are some constants.
  • #59 This equation may be integrated using elliptical integrals for alpha using:…
  • #71 In my understanding, this part means that we can connect several inputs to generate the motion along the fictitious v between u1 and u2 in some seconds
  • #72 We now focus on the problem of repositioning the finger on a hand without actually lifting the fingers from the object. If we have spherical fingertips contacting a planar face, it is possible to move the contact point via pure rolling. This section works out this problem in detail and gives several different solutions for the dynamic finger repositioning problem.
  • #74 We focus on the second case, which is considerably simpler.
  • #75 The control system is:
  • #76 The control system is:
  • #77 This figure shows an example of such a path moving a spherical fingertip down the side of a planar object. We consider the motion of a finger with spherical tip on a rectangular object. The plot to the right of the figure show trajectories which move a finger down the side of the object. The location of the contact on the finger is unchanged as shown in the upper graph. The location of the contact on the face of the object undergoes a displacement in the v0 direction.
  • #78 We describe the use of some techniques from classical differential geometry which can be brought to bear on the specific problem of rolling a spherical finger on a planar surface.
  • #80 Variation of the contact angle is equal to the area of omega
  • #81 If the length of AB and DA is x and the length of BC and CD is pi/2, if x satisfy this equation, the sphere can roll from alpha to alpha along to the closed curve ABCDA on the plane.