The document is a presentation about navigation and trajectory control for autonomous vehicles. It was presented by two students from the University of Trento in Italy.
The presentation introduces mobile robot design considerations including the interrelation between tasks, environments, kinematic models, path/trajectory planning, and high-level and low-level control. It explains that the robot task and environment must be identified first and the kinematic model selected based on this. Path planning is then needed to generate admissible trajectories that satisfy the kinematic constraints. High-level control executes tasks and trajectories while low-level control handles velocity commands.
It also explains concepts like holonomic and non-holonomic constraints, accessibility spaces, and maneuvers
Linear block codes add redundancy to data by encoding it into blocks of n coded bits from k information bits, forming (n,k) block codes. The encoder uses a generator matrix to map k message bits to n codeword bits. Codewords can be systematically encoded by placing the k message bits first followed by (n-k) parity check bits. The parity check matrix H defines the parity check equations to detect errors in the received codeword. The syndrome of a received word indicates the error pattern. The minimum distance of a block code is the smallest Hamming distance between distinct codewords and determines its error correction capability. Linear block codes are widely used in communications and storage for their simplicity in implementing error detection and correction.
IIR filter realization using direct form I & IISarang Joshi
The document discusses IIR filter realization using Direct Form I and Direct Form II structures. It presents the difference equation and transfer function for an IIR filter. It also provides examples of implementing IIR filters using Direct Form I and Direct Form II structures based on a given difference equation or transfer function.
The document discusses status registers and shift registers used in digital circuits. A status register contains status bits that indicate the result of arithmetic logic unit (ALU) operations, including carry (C), sign (S), zero (Z), and overflow (V) bits. The carry bit is set if there is an output carry from the ALU, the sign bit is set if the highest order bit is 1, the zero bit is set if the ALU output is all zeros, and the overflow bit is set if the result is out of the ALU's range. Shift registers are used to shift data in digital circuits.
Classification of signals and systems as well as their properties are given in the PPT .Examples related to types of signals and systems are also given .
1) The Denavit-Hartenberg (D-H) convention establishes a unified approach for assigning coordinate frames to the links of a robot manipulator. It defines a transformation matrix to relate adjacent coordinate frames based on four successive transformations.
2) The D-H parameters (α, a, d, θ) are used to describe the geometry and kinematic properties of the robot. Forward kinematics uses the transformation matrices to determine the end effector pose from the joint parameters.
3) The forward kinematics solution can be obtained by calculating the homogeneous transformation matrix relating the tool frame to the base frame as the product of individual transformation matrices. This determines the position and orientation of the end effector.
This document provides an introduction to ARM microcontrollers. It discusses that ARM designs RISC processor cores that are used in many microcontrollers produced by various manufacturers. The popular ARM7TDMI architecture is a 32-bit RISC processor that can operate in both 32-bit ARM and 16-bit THUMB modes. It has 31 registers and 7 operating modes. The ARM instruction set allows conditional execution and includes instructions for arithmetic, logical operations, and loading/storing data. Using THUMB instructions reduces code size by 30-40% compared to ARM.
The document summarizes key properties of the discrete Fourier transform (DFT). It describes linearity, periodicity, time/frequency shifts, conjugation, multiplication, convolution, correlation, and Parseval's theorem. Linearity means the DFT of a linear combination of signals is the linear combination of the DFTs. Periodicity means an N-point DFT is periodic with N samples. Shifts change the time or frequency domain representation. Multiplication in the time domain is convolution in the frequency domain. Correlation relates the time and frequency domain representations. Parseval's theorem relates the energy in the time and frequency domains.
5. convolution and correlation of discrete time signals MdFazleRabbi18
This document discusses convolution and correlation of discrete time signals. It defines convolution as a mathematical way of combining two signals to form a third signal, which is equivalent to finite impulse response filtering. Convolution relates the input, output, and impulse response of a linear time-invariant system. The document also provides examples of discrete linear convolution and periodic convolution. It then defines correlation as a measure of similarity between signals, discussing cross-correlation and auto-correlation, and providing examples of calculating each.
Linear block codes add redundancy to data by encoding it into blocks of n coded bits from k information bits, forming (n,k) block codes. The encoder uses a generator matrix to map k message bits to n codeword bits. Codewords can be systematically encoded by placing the k message bits first followed by (n-k) parity check bits. The parity check matrix H defines the parity check equations to detect errors in the received codeword. The syndrome of a received word indicates the error pattern. The minimum distance of a block code is the smallest Hamming distance between distinct codewords and determines its error correction capability. Linear block codes are widely used in communications and storage for their simplicity in implementing error detection and correction.
IIR filter realization using direct form I & IISarang Joshi
The document discusses IIR filter realization using Direct Form I and Direct Form II structures. It presents the difference equation and transfer function for an IIR filter. It also provides examples of implementing IIR filters using Direct Form I and Direct Form II structures based on a given difference equation or transfer function.
The document discusses status registers and shift registers used in digital circuits. A status register contains status bits that indicate the result of arithmetic logic unit (ALU) operations, including carry (C), sign (S), zero (Z), and overflow (V) bits. The carry bit is set if there is an output carry from the ALU, the sign bit is set if the highest order bit is 1, the zero bit is set if the ALU output is all zeros, and the overflow bit is set if the result is out of the ALU's range. Shift registers are used to shift data in digital circuits.
Classification of signals and systems as well as their properties are given in the PPT .Examples related to types of signals and systems are also given .
1) The Denavit-Hartenberg (D-H) convention establishes a unified approach for assigning coordinate frames to the links of a robot manipulator. It defines a transformation matrix to relate adjacent coordinate frames based on four successive transformations.
2) The D-H parameters (α, a, d, θ) are used to describe the geometry and kinematic properties of the robot. Forward kinematics uses the transformation matrices to determine the end effector pose from the joint parameters.
3) The forward kinematics solution can be obtained by calculating the homogeneous transformation matrix relating the tool frame to the base frame as the product of individual transformation matrices. This determines the position and orientation of the end effector.
This document provides an introduction to ARM microcontrollers. It discusses that ARM designs RISC processor cores that are used in many microcontrollers produced by various manufacturers. The popular ARM7TDMI architecture is a 32-bit RISC processor that can operate in both 32-bit ARM and 16-bit THUMB modes. It has 31 registers and 7 operating modes. The ARM instruction set allows conditional execution and includes instructions for arithmetic, logical operations, and loading/storing data. Using THUMB instructions reduces code size by 30-40% compared to ARM.
The document summarizes key properties of the discrete Fourier transform (DFT). It describes linearity, periodicity, time/frequency shifts, conjugation, multiplication, convolution, correlation, and Parseval's theorem. Linearity means the DFT of a linear combination of signals is the linear combination of the DFTs. Periodicity means an N-point DFT is periodic with N samples. Shifts change the time or frequency domain representation. Multiplication in the time domain is convolution in the frequency domain. Correlation relates the time and frequency domain representations. Parseval's theorem relates the energy in the time and frequency domains.
5. convolution and correlation of discrete time signals MdFazleRabbi18
This document discusses convolution and correlation of discrete time signals. It defines convolution as a mathematical way of combining two signals to form a third signal, which is equivalent to finite impulse response filtering. Convolution relates the input, output, and impulse response of a linear time-invariant system. The document also provides examples of discrete linear convolution and periodic convolution. It then defines correlation as a measure of similarity between signals, discussing cross-correlation and auto-correlation, and providing examples of calculating each.
This document outlines the course contents for a Digital Signal Processing course taught by Dr. Somchai Jitapunkul. The course covers topics including discrete-time signals and systems, sampling, the z-transform, Fourier analysis, filter design techniques, and applications of digital signal processing. Exams include a final and design project. Recommended textbooks and references are provided. Application areas like communications, audio, image processing, and biomedical are briefly described.
The document discusses time domain analysis and standard test signals used to analyze dynamic systems. It describes the impulse, step, ramp, and parabolic signals which imitate characteristics of actual inputs such as sudden shock, sudden change, constant velocity, and constant acceleration. The time response of first order systems to these standard inputs is expressed mathematically. The impulse response directly provides the system transfer function. Step response reaches 63% of its final value within one time constant.
This document describes an AM receiver project implemented by students. It begins with an abstract stating that the project studies and implements an AM receiver using the superheterodyne principle. It then acknowledges those who provided guidance and support for the project. Finally, it provides the table of contents which outlines the various sections covering modulation, AM demodulation techniques, the superheterodyne receiver design, its implementation in MATLAB, results, and conclusions.
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE ShivangiSingh241
Cyclic codes are a type of linear code where any cyclic shift of a codeword is also a codeword. This allows for efficient encoding and decoding using shift registers.
Encoding of cyclic codes can be done by dividing the message polynomial by the generator polynomial, with the remainder becoming the parity bits. Encoding circuits use shift registers with feedback to efficiently perform this division. Decoding uses the syndrome, which is computed by shifting the received word into a syndrome register. A decoder then attempts to match the syndrome to an error pattern, correcting errors one symbol at a time by shifting the syndrome and received word simultaneously.
The document discusses decimation in time (DIT) and decimation in frequency (DIF) fast Fourier transform (FFT) algorithms. DIT breaks down an N-point sequence into smaller DFTs of even and odd indexed samples, recursively computing smaller and smaller DFTs until individual points remain. DIF similarly decomposes the computation but by breaking the frequency domain spectrum into smaller DFTs. Both algorithms reduce the computational complexity of computing the discrete Fourier transform from O(N^2) to O(NlogN) operations.
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
The document discusses discrete-time signals and systems. It defines discrete-time signals as sequences represented by x[n] and discusses important sequences like the unit sample, unit step, and periodic sequences. It then defines discrete-time systems as devices that take a discrete-time signal x(n) as input and produce another discrete-time signal y(n) as output. The document classifies systems as static vs. dynamic, time-invariant vs. time-varying, linear vs. nonlinear, and causal vs. noncausal. It provides examples to illustrate each classification.
The document provides an introduction to robotics, defining a robot as a machine that senses its environment and produces actions based on sensory input. It discusses the basic components of robots including embodiment, control, and applications in fields like manufacturing, medical, rescue and more. Additionally, it outlines the basic roadmap of robotics including engineering, control theory, autonomous control, and learning/adaptation.
This document summarizes key aspects of the discrete Fourier transform (DFT). It defines the DFT, provides the formula for calculating it, and explains that the DFT transforms a discrete-time signal from the time domain to the frequency domain. It also outlines several important properties of the DFT, including linearity, shift property, duality, symmetry, and circular convolution. Examples are provided to illustrate duality and symmetry. References for further information on the discrete Fourier transform are also included.
The document discusses forward kinematics, which is finding the position and orientation of the end effector given the joint angles of a robot. It covers different types of robot joints and configurations. It introduces the Denavit-Hartenberg coordinate system for defining the relationship between successive links of a robot. The document also discusses forward kinematic calculations, inverse kinematics, robot workspaces, and trajectory planning.
This document discusses the design and applications of industrial robot manipulators. It describes how a robotic arm is composed of rigid links connected by joints, and defines important robot terms like degrees of freedom, joint types, link parameters, and work volume. It also categorizes common robot system configurations and explains robot kinematics, dynamics, motion types, and trajectory planning.
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsAmr E. Mohamed
This document provides an overview of discrete-time signals and systems in MATLAB. It defines discrete signals as sequences represented by x(n) and how they can be implemented as vectors in MATLAB. It describes various types of sequences like unit sample, unit step, exponential, sinusoidal, and random. It also covers operations on sequences like addition, multiplication, scaling, shifting, folding, and correlations. Discrete time systems are defined as operators that transform an input sequence x(n) to an output sequence y(n). Key properties discussed are linearity, time-invariance, stability, causality, and the use of convolution to represent the output of a linear time-invariant system. Examples are provided to demonstrate various concepts.
Windowing techniques of fir filter designRohan Nagpal
Windowing techniques are used in FIR filter design to convert an infinite impulse response to a finite impulse response. The process involves choosing a desired frequency response, taking the inverse Fourier transform to get the impulse response, multiplying the impulse response by a window function, and realizing the filter. Common window functions include rectangular, Hanning, Hamming, and Blackman windows, which are selected based on the required stopband attenuation. The windowing technique allows designing FIR filters with a simple process but lacks flexibility compared to other design methods.
Interfacing memory with 8086 microprocessorVikas Gupta
This document discusses interfacing memory with the 8086 microprocessor. It begins by defining different types of memory like RAM, ROM, EPROM, and EEPROM. It then discusses memory fundamentals like capacity, organization, and standard memory ICs. The document explains two methods of address decoding - absolute and partial decoding. It provides examples of interfacing 32KB RAM, 32K words of memory, and a combination of ROM, EPROM, and RAM with the 8086 using address decoding techniques. Diagrams and tables are included to illustrate the memory mapping and generation of chip select logic.
This document summarizes a presentation on FIR and IIR filter design techniques. It introduces common IIR filter design methods like impulse invariance and bilinear transformation. It also discusses FIR filter design using window functions, frequency sampling, and minimizing mean squared error. Specific window functions are examined, including rectangular, triangular, Hanning, Hamming, Kaiser, and Blackman windows. The document provides an overview of digital filter design topics and serves as a reference for further exploration of FIR and IIR filter design methods.
The document discusses dynamic models of robot manipulators. It introduces the direct and inverse dynamic problems of computing joint accelerations/torques given forces/velocities. It describes modeling manipulators as rigid links using the Euler-Lagrange approach. This involves computing the kinetic and potential energy terms to derive equations of motion. Key steps are defining generalized coordinates as joint variables, computing link velocities using Jacobians, and expressing kinetic energy using link masses, centers of mass, and inertia matrices.
Finite automaton discussed so far, is just associated with the RE or the language.
There is a question whether does there exist an FA which generates an output string corresponding to each input string ? The answer is yes. Such machines are called machines with output.
There are two types of machines with output.
Moore machine
Mealy machine
Equivalent machines Two machines are said to be equivalent if they print the same output string when the same input string is run on them.
This presentation covers:
Some basic definitions & concepts of digital communication
What is Phase Shift Keying(PSK) ?
Binary Phase Shift Keying – BPSK
BPSK transmitter & receiver
Advantages & Disadvantages of BPSK
Pi/4 – QPSK
Pi/4 – QPSK transmitter & receiver
Advantages of Pi/4- QPSK
This document describes a strain gauge measurement experiment conducted by a student. It includes:
1) An explanation of how a 1/4 Wheatstone bridge circuit operates to measure axial or bending strain using a single active strain gauge element.
2) Details of the measurement installation using a bonded metallic strain gauge on a steel beam, and cyanoacrylate glue.
3) How to scale the 1mV/V output to relative strain when the gauge factor is 2.
4) A short explanation that the goal was to familiarize with data acquisition, learn strain gauge principles, measure stress in a beam, and measure free vibration using a 1/4 bridge configuration.
Study the control of pneumatic cylinder (LabVIEW, Instrumentation)Mithun Chowdhury
This document describes an experiment on controlling a pneumatic cylinder using LabVIEW. The experiment uses a NI USB-6009 data acquisition card to control an Omron G3R solid state relay that regulates air flow to a 5/3-way valve controlling a pneumatic cylinder. A MTS 50 series magnetostrictive sensor measures the cylinder position. The LabVIEW block diagram and front panel show the analog output channels controlling the relay to move the cylinder between two positions. Diagrams show the components and overall experiment setup.
This document outlines the course contents for a Digital Signal Processing course taught by Dr. Somchai Jitapunkul. The course covers topics including discrete-time signals and systems, sampling, the z-transform, Fourier analysis, filter design techniques, and applications of digital signal processing. Exams include a final and design project. Recommended textbooks and references are provided. Application areas like communications, audio, image processing, and biomedical are briefly described.
The document discusses time domain analysis and standard test signals used to analyze dynamic systems. It describes the impulse, step, ramp, and parabolic signals which imitate characteristics of actual inputs such as sudden shock, sudden change, constant velocity, and constant acceleration. The time response of first order systems to these standard inputs is expressed mathematically. The impulse response directly provides the system transfer function. Step response reaches 63% of its final value within one time constant.
This document describes an AM receiver project implemented by students. It begins with an abstract stating that the project studies and implements an AM receiver using the superheterodyne principle. It then acknowledges those who provided guidance and support for the project. Finally, it provides the table of contents which outlines the various sections covering modulation, AM demodulation techniques, the superheterodyne receiver design, its implementation in MATLAB, results, and conclusions.
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE ShivangiSingh241
Cyclic codes are a type of linear code where any cyclic shift of a codeword is also a codeword. This allows for efficient encoding and decoding using shift registers.
Encoding of cyclic codes can be done by dividing the message polynomial by the generator polynomial, with the remainder becoming the parity bits. Encoding circuits use shift registers with feedback to efficiently perform this division. Decoding uses the syndrome, which is computed by shifting the received word into a syndrome register. A decoder then attempts to match the syndrome to an error pattern, correcting errors one symbol at a time by shifting the syndrome and received word simultaneously.
The document discusses decimation in time (DIT) and decimation in frequency (DIF) fast Fourier transform (FFT) algorithms. DIT breaks down an N-point sequence into smaller DFTs of even and odd indexed samples, recursively computing smaller and smaller DFTs until individual points remain. DIF similarly decomposes the computation but by breaking the frequency domain spectrum into smaller DFTs. Both algorithms reduce the computational complexity of computing the discrete Fourier transform from O(N^2) to O(NlogN) operations.
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
The document discusses discrete-time signals and systems. It defines discrete-time signals as sequences represented by x[n] and discusses important sequences like the unit sample, unit step, and periodic sequences. It then defines discrete-time systems as devices that take a discrete-time signal x(n) as input and produce another discrete-time signal y(n) as output. The document classifies systems as static vs. dynamic, time-invariant vs. time-varying, linear vs. nonlinear, and causal vs. noncausal. It provides examples to illustrate each classification.
The document provides an introduction to robotics, defining a robot as a machine that senses its environment and produces actions based on sensory input. It discusses the basic components of robots including embodiment, control, and applications in fields like manufacturing, medical, rescue and more. Additionally, it outlines the basic roadmap of robotics including engineering, control theory, autonomous control, and learning/adaptation.
This document summarizes key aspects of the discrete Fourier transform (DFT). It defines the DFT, provides the formula for calculating it, and explains that the DFT transforms a discrete-time signal from the time domain to the frequency domain. It also outlines several important properties of the DFT, including linearity, shift property, duality, symmetry, and circular convolution. Examples are provided to illustrate duality and symmetry. References for further information on the discrete Fourier transform are also included.
The document discusses forward kinematics, which is finding the position and orientation of the end effector given the joint angles of a robot. It covers different types of robot joints and configurations. It introduces the Denavit-Hartenberg coordinate system for defining the relationship between successive links of a robot. The document also discusses forward kinematic calculations, inverse kinematics, robot workspaces, and trajectory planning.
This document discusses the design and applications of industrial robot manipulators. It describes how a robotic arm is composed of rigid links connected by joints, and defines important robot terms like degrees of freedom, joint types, link parameters, and work volume. It also categorizes common robot system configurations and explains robot kinematics, dynamics, motion types, and trajectory planning.
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsAmr E. Mohamed
This document provides an overview of discrete-time signals and systems in MATLAB. It defines discrete signals as sequences represented by x(n) and how they can be implemented as vectors in MATLAB. It describes various types of sequences like unit sample, unit step, exponential, sinusoidal, and random. It also covers operations on sequences like addition, multiplication, scaling, shifting, folding, and correlations. Discrete time systems are defined as operators that transform an input sequence x(n) to an output sequence y(n). Key properties discussed are linearity, time-invariance, stability, causality, and the use of convolution to represent the output of a linear time-invariant system. Examples are provided to demonstrate various concepts.
Windowing techniques of fir filter designRohan Nagpal
Windowing techniques are used in FIR filter design to convert an infinite impulse response to a finite impulse response. The process involves choosing a desired frequency response, taking the inverse Fourier transform to get the impulse response, multiplying the impulse response by a window function, and realizing the filter. Common window functions include rectangular, Hanning, Hamming, and Blackman windows, which are selected based on the required stopband attenuation. The windowing technique allows designing FIR filters with a simple process but lacks flexibility compared to other design methods.
Interfacing memory with 8086 microprocessorVikas Gupta
This document discusses interfacing memory with the 8086 microprocessor. It begins by defining different types of memory like RAM, ROM, EPROM, and EEPROM. It then discusses memory fundamentals like capacity, organization, and standard memory ICs. The document explains two methods of address decoding - absolute and partial decoding. It provides examples of interfacing 32KB RAM, 32K words of memory, and a combination of ROM, EPROM, and RAM with the 8086 using address decoding techniques. Diagrams and tables are included to illustrate the memory mapping and generation of chip select logic.
This document summarizes a presentation on FIR and IIR filter design techniques. It introduces common IIR filter design methods like impulse invariance and bilinear transformation. It also discusses FIR filter design using window functions, frequency sampling, and minimizing mean squared error. Specific window functions are examined, including rectangular, triangular, Hanning, Hamming, Kaiser, and Blackman windows. The document provides an overview of digital filter design topics and serves as a reference for further exploration of FIR and IIR filter design methods.
The document discusses dynamic models of robot manipulators. It introduces the direct and inverse dynamic problems of computing joint accelerations/torques given forces/velocities. It describes modeling manipulators as rigid links using the Euler-Lagrange approach. This involves computing the kinetic and potential energy terms to derive equations of motion. Key steps are defining generalized coordinates as joint variables, computing link velocities using Jacobians, and expressing kinetic energy using link masses, centers of mass, and inertia matrices.
Finite automaton discussed so far, is just associated with the RE or the language.
There is a question whether does there exist an FA which generates an output string corresponding to each input string ? The answer is yes. Such machines are called machines with output.
There are two types of machines with output.
Moore machine
Mealy machine
Equivalent machines Two machines are said to be equivalent if they print the same output string when the same input string is run on them.
This presentation covers:
Some basic definitions & concepts of digital communication
What is Phase Shift Keying(PSK) ?
Binary Phase Shift Keying – BPSK
BPSK transmitter & receiver
Advantages & Disadvantages of BPSK
Pi/4 – QPSK
Pi/4 – QPSK transmitter & receiver
Advantages of Pi/4- QPSK
This document describes a strain gauge measurement experiment conducted by a student. It includes:
1) An explanation of how a 1/4 Wheatstone bridge circuit operates to measure axial or bending strain using a single active strain gauge element.
2) Details of the measurement installation using a bonded metallic strain gauge on a steel beam, and cyanoacrylate glue.
3) How to scale the 1mV/V output to relative strain when the gauge factor is 2.
4) A short explanation that the goal was to familiarize with data acquisition, learn strain gauge principles, measure stress in a beam, and measure free vibration using a 1/4 bridge configuration.
Study the control of pneumatic cylinder (LabVIEW, Instrumentation)Mithun Chowdhury
This document describes an experiment on controlling a pneumatic cylinder using LabVIEW. The experiment uses a NI USB-6009 data acquisition card to control an Omron G3R solid state relay that regulates air flow to a 5/3-way valve controlling a pneumatic cylinder. A MTS 50 series magnetostrictive sensor measures the cylinder position. The LabVIEW block diagram and front panel show the analog output channels controlling the relay to move the cylinder between two positions. Diagrams show the components and overall experiment setup.
Artificial Neural Network based Mobile Robot NavigationMithun Chowdhury
This document presents a neural network based navigation system for mobile robots. It uses an artificial neural network (ANN) trained with Backpropagation Through Time (BPTT) to plan paths and navigate around obstacles. The input to the ANN is the state of the robot described using polar coordinates relative to the target position and orientation. Obstacles are also included as inputs by dividing the area in front of the robot into regions. The cost function for training is extended with a potential field to repel the robot from obstacles. Simulation results showed the robot could successfully navigate a maze and reach the target while avoiding multiple obstacles.
1) Active filters employ op-amps in addition to resistors and capacitors to overcome limitations of passive filters like large size inductors.
2) Common types of active filters include single-pole and multiple-pole filters like the Sallen-Key configuration, which can provide various roll-off rates.
3) Active filters have advantages over passive filters like adjustable gain and frequency response without loading effects.
This document proposes a discrete-time sliding mode controller to address the trajectory tracking problem of a wheeled mobile robot. The robot is modeled as having two differentially driving wheels and two balancing casters. A discrete-time sliding mode control approach is used to avoid issues caused by discretization of continuous-time controllers. Simulation and real-time results demonstrate the effectiveness of the proposed discrete-time sliding mode controller for trajectory tracking of the wheeled mobile robot.
IRJET- Design and Fabrication of PLC and SCADA based Robotic Arm for Material...IRJET Journal
This document describes the design and fabrication of a PLC and SCADA-controlled robotic arm for material handling. The robotic arm uses pneumatic cylinders connected by joints to move along three axes (X, Y, and Z). A mechanical gripper is attached to the end of the arm to grip objects on a conveyor belt. The movements of the pneumatic cylinders and gripper are controlled by a PLC based on sensor inputs from the conveyor belt. The PLC and robotic arm are integrated with a SCADA system for centralized control and monitoring. The robotic arm is intended to automate repetitive picking and placing tasks to reduce labor costs compared to manual operations.
The document discusses forward and inverse kinematics for humanoid robots. It presents an analytical solution to the forward and inverse kinematics problems for the Aldebaran NAO humanoid robot. The solution decomposes the robot into five independent kinematic chains (head, two arms, two legs). It uses the Denavit-Hartenberg method and solves a non-linear system of equations to find exact closed-form solutions. The implemented kinematics library allows real-time transformations between joint configurations and physical positions, enabling motions like balancing and tracking a moving ball.
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
This document summarizes a research paper that proposes an adaptive neuro-control system with two levels for motion control of a nonholonomic mobile robot. The first level uses a PD controller to generate desired linear and angular velocities to track a reference trajectory. The second level uses a neural network to convert the desired velocities into a torque control signal. No prior knowledge of the robot's dynamic model is required, and the neural network does not need to change its synaptic weights even if the robot's parameters vary. The control approach guarantees asymptotic stability of the state variables and overall system stability through appropriate Lyapunov functions. Simulation results show the neural controller has better tracking performance under disturbances compared to a PD controller for different trajectory types.
A fuzzy logic controllerfora two link functional manipulatorIJCNCJournal
This paper presents a new approach for designing a Fuzzy Logic Controller "FLC"for a dynamically multivariable nonlinear coupling system. The conventional controller with constant gains for different operating points may not be sufficient to guarantee satisfactory performance for Robot manipulator. The Fuzzy Logic Controller utilizes the error and the change of error as fuzzy linguistic inputs to regulate the system performance. The proposed controller have been developed to simulate the dynamic behavior of A
Two-Link Functional Manipulator. The new controller uses only the available information of the input-output for controlling the position and velocity of the robot axes of the motion of the end effectors
ROBOTICS-ROBOT KINEMATICS AND ROBOT PROGRAMMINGTAMILMECHKIT
Forward Kinematics, Inverse Kinematics and Difference; Forward Kinematics and Reverse Kinematics of manipulators with Two, Three Degrees of Freedom (in 2 Dimension), Four Degrees of freedom (in 3 Dimension) Jacobians, Velocity and Forces-Manipulator Dynamics, Trajectory Generator, Manipulator Mechanism Design-Derivations and problems. Lead through Programming, Robot programming Languages-VAL Programming-Motion Commands, Sensor Commands, End Effector commands and simple Programs
This document describes the development of an autonomous mobile robot for wall following using a fuzzy incremental controller. Two ultrasonic sensors are used to sense the distance to the wall and provide input to the controller. The controller determines the speed of two DC motors to guide the robot along the wall. Experimental results showed the fuzzy controller successfully controlled the robot to follow the wall, performing better than a PID controller. The robot is intended for applications like cleaning air ducts or corridors by autonomously navigating while maintaining a set distance from the wall.
Wall follower autonomous robot development applying fuzzy incremental controllerrajabco
This paper presents the design of an autonomous robot as a basic development of an intelligent wheeled mobile robot for air duct or corridor cleaning. The robot navigation is based on wall following algorithm. The robot is controlled us- ing fuzzy incremental controller (FIC) and embedded in PIC18F4550 microcontroller. FIC guides the robot to move along a wall in a desired direction by maintaining a constant distance to the wall. Two ultrasonic sensors are installed in the left side of the robot to sense the wall distance. The signals from these sensors are fed to FIC that then used to de- termine the speed control of two DC motors. The robot movement is obtained through differentiating the speed of these two motors. The experimental results show that FIC is successfully controlling the robot to follow the wall as a guid- ance line and has good performance compare with PID controller.
The document provides an introduction to robotics, including a timeline of important developments, classifications of different types of robots, robot components and accessories, reference frames, work volumes, programming methods, and applications of robots in manufacturing. It describes common robot configurations like Cartesian, cylindrical, spherical, and articulated robots as well as their work envelopes. The document also covers robot control methods, including non-servo control, point-to-point control, and continuous path control.
The document provides an introduction to robotics, including definitions of key terms:
- A robot is an automatically controlled, reprogrammable device designed to perform tasks normally done by humans.
- Robots are classified based on their drive technology, work envelope/coordinate geometry, and motion control methods.
- Robotic systems have components like manipulators, end effectors, actuators, sensors, controllers, and software to allow various applications in manufacturing and other industries.
This document summarizes a research paper that presents a non-linear control law to track a reference trajectory for a mobile robot with caster wheels. The control law integrates kinematic and dynamic controllers to minimize position/orientation errors and differences between actual and reference velocities. The stability of the control law is proven using Lyapunov theory. Numerical simulations and experiments on a differential-drive mobile robot show the integrated control provides faster convergence and eliminates overshoot compared to just kinematic control.
Design of a controller for wheeled mobile robots based on automatic movement ...TELKOMNIKA JOURNAL
This document describes a controller for wheeled mobile robots that generates adaptive movement sequences based on an optimization algorithm. The controller codes movements using the ROS language from motion sets built by a genetic algorithm in a simulation environment. It uses a modified genetic algorithm with increased crossing operators and threshold-based selection of crossing and mutation to evolve robot movement parameter sets. The goal is to develop a controller that allows a robot to adaptively move between points in its environment based on sensory information without being limited to pre-defined or reactive movements.
The document discusses various path planning techniques for mobile robots to navigate between a starting point and destination while avoiding collisions. It describes methods like visibility graphs, roadmaps, cell decomposition, and potential fields. It also covers implementing techniques like breadth-first search on visibility graphs and optimizing trajectories using factors like travel time, distance and sensor information.
The document discusses various path planning techniques for mobile robots to navigate between a starting point and destination while avoiding collisions. It describes methods like visibility graphs, roadmaps, cell decomposition, and potential fields. It also covers implementing techniques like breadth-first search on visibility graphs and optimizing robot trajectories using factors like travel time, distance and sensor information.
A Design Of Omni-Directional Mobile Robot Based On Mecanum WheelsIJRESJOURNAL
ABSTRACT:As one of the important branch of mobile robotics, wheel mobile robot has long been paid atten tion to by the research people at home and abroad for its high load ability, positioning accuracy, high efficiency, simple control, etc. Mobile robot has close relation to many technologies suc-h as control theory, computer tech nology, sensor technology, etc. Therefore, research on the mobile robot has important significance
A Path Planning Technique For Autonomous Mobile Robot Using Free-Configuratio...CSCJournals
This paper presents the implementation of a novel technique for sensor based path planning of autonomous mobile robots. The proposed method is based on finding free-configuration eigen spaces (FCE) in the robot actuation area. Using the FCE technique to find optimal paths for autonomous mobile robots, the underlying hypothesis is that in the low-dimensional manifolds of laser scanning data, there lies an eigenvector which corresponds to the free-configuration space of the higher order geometric representation of the environment. The vectorial combination of all these eigenvectors at discrete time scan frames manifests a trajectory, whose sum can be treated as a robot path or trajectory. The proposed algorithm was tested on two different test bed data, real data obtained from Navlab SLAMMOT and data obtained from the real-time robotics simulation program Player/Stage. Performance analysis of FCE technique was done with existing four path planning algorithms under certain working parameters, namely computation time needed to find a solution, the distance travelled and the amount of turning required by the autonomous mobile robot. This study will enable readers to identify the suitability of path planning algorithm under the working parameters, which needed to be optimized. All the techniques were tested in the real-time robotic software Player/Stage. Further analysis was done using MATLAB mathematical computation software.
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM NITISH K
The document discusses the design and implementation of a path planning algorithm for a wheeled mobile robot in a known dynamic environment. It describes using an A* algorithm at a central control station to calculate the shortest path for the robot. If obstacles are detected, the robot's location and obstacle information is sent to update the environment map. The control station then recalculates the new shortest path for the robot. The system was tested experimentally and in simulation, showing it can effectively calculate the shortest path in a dynamic environment.
A Global Integrated Artificial Potential Field/Virtual Obstacles Path Plannin...IRJET Journal
This document presents a global path planning algorithm using an artificial potential field (APF) approach for multi-robot systems. A 3D potential map is created using simplified potential functions that account for attractive forces to goals and repulsive forces from obstacles. The local minima problem is handled using virtual obstacles. Simulations are conducted in MATLAB and V-REP to test controlling robots to follow paths generated from the 3D potential map in cluttered environments.
Similar to Navigation and Trajectory Control for Autonomous Robot/Vehicle (mechatronics) (20)
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Navigation and Trajectory Control for Autonomous Robot/Vehicle (mechatronics)
1. Navigation and Trajectory Control for
Autonomous Vehicles
Presented by:
Mithun Chowdhury Tesfaye Asmera Mengesha
Matricola No. 160758 Matricola No. 160827
Student of Mechatronics Engineering Student of Mechatronics Engineering
University of Trento, Italy University of Trento, Italy
UNIVERSITY OF TRENTO
2015, Italy
2. Question 1:
Introduce mobile robot designing with considerations about the interrelation existing within:
Task Operational environments Chosen kinematic model Admissible
path/trajectory planning Low-level control High-level control (overall strategy)
Solution:
The design of Mobile robot requires different level of consideration as its mobile base moves
through the environment. Complement to manipulation, the robot arm is fixed but moves objects
in the workspace by imparting force to them. In mobile robotics, the environment is fixed and the
robot moves by imparting force to the environment. Mobile robots have mobile base which
allows it to move freely in the environment.
Tasks and operational environment: Usually the mobile robot task and operational
environment is two completely related terms that goes together. Identification of required task to
be executed is the first step in design of mobile robot. The tasks can be a combination of high
level tasks and low level tasks depending on the application area. The tasks are accomplished
carrying out high level procedures executed concatenating with simpler low level execution. The
execution of mobile robot task is in operational environment, which could be structured
environment or unstructured environment in which there exists no obstacles or static obstacles or
moving objects. Depending on the tasks to be completed and the operational environments a
robot suitable for that application area is designed. This helps for selection of kinematic model of
the robot. So, after identifying the robot and the tasks, task planning should be developed. With
the robot moving in the operational environment the path which fulfills the needed criteria has to
be planned. Path planning is one of the key steps in mobile robot design for execution of the task
in a given operational environment. Trajectory is admissible trajectory if it can be a solution of
kinematic model. Admissible trajectory is the extension of admissible path with introduction of
time law. Planning produces a set of inputs for control loops. The control loop employs high
level control to execute high level tasks and meet the requirement of the robot. It is purely
kinematics based. In the mean while low level control is adopted for low level tasks.
Kinematic model choice: kinematics is the basic study of how the mechanical system of robot
behaves. In mobile robotics, we need to understand the mechanical behavior of the robot both in
order to design appropriate mobile robots for tasks and to understand how to create control
software for an instance of mobile robot hardware.
The kinematic model of a wheeled mobile robot must satisfy the non-holonomic constraints
imposed due to rolling without slipping condition. Denoting input vector fields by {g1,...,gm.} a
basis of N(AT
(q)), the admissible trajectories for the mechanical system can then be
characterized as the solutions of the non-linear dynamical system.
3. ( ) ( )
1
m
gj q uj G q uq
j
, m = n – k
Where q Rn
is the state vector and u = [u1…um]T
IRm
is the input vector. The choice of the
input vector fields g1 (q),...,gm(q) is not unique. Correspondingly, the components of u may
have different meanings. In general, it is possible to choose the basis of N (AT
(q)) in such a way
that the uj have a physical interpretation. In any case, vector u may not be directly related to
the actual control inputs that are generally forces and torques.
The holonomy or nonholonomy of constraints can be established by analyzing the controllability
properties of the associated kinematic model.
Admissible path/trajectory planning: admissible path is the path which fits to the desired
kinematic model whereas admissible trajectory is the extension of the path with associated time.
The path/trajectory is said to be Admissible path or trajectory if it is the solution of kinematic
model. With the robot moving in the operational environment the path which fulfills the needed
criteria has to be planned. Now, we can define Admissible Path as a solution of the differential
system corresponding to the kinematic model of the mobile robot, with some initial and final
given conditions. In other words, robot must meet the boundary condition (interpolation of the
assigned points and continuity of the desired degree) and also satisfy the non-holonomic
constraints at all points.
Planning: for execution of specific robotic task involves the consideration of motion planning
algorithm. In wheeled mobile robot path and trajectory (path with associated time law) planning
involves the admission flat output y and its derivative to certain order. The goal of non-
holonomic motion planning is to provide collision-free admissible paths in the configuration
space of the mobile robot system. Many kinematic models of mobile robots, including the
unicycle and the bicycle, exhibits a property known as differential flatness, that is particularly
relevant in planning problems. A non-linear dynamic system
( ) ( )*X f x G x u
is said to be differentially flat if there exists a set of output y, called flat outputs, such that the
state x and the control inputs u can be expressed algebraically as a function of y and its time
derivatives up to certain order:
( )
( , , ,.... )
r
x x y y y y
( )
( , , ,.... )
r
u u y y y y
4. Based on the assignment of output trajectory to flat output y, the associated trajectory of the state x and
history of control inputs u are uniquely determined. In fact Cartesian coordinates of unicycle and bicycle
mobile robot is flat output.
Path planning problem can be solved efficiently whenever the mobile robot admits the set of flat output.
The path can be planned by using interpolation scheme considering the satisfaction of boundary
condition. Approaches of path planning:
Planning via Cartesian polynomials
Planning via the chained form
Planning via the parameterized inputs
For example in the following considered vehicle is a unicycle that must perform various parking
manoeuvores.
Figure 1. These results shows two parking manoeuvres planned via cubic Cartesian polynomials; with the
same forward motion.
After the path q, q [qi, qf] has been determined the it is possible to choose a timing law q = q(t) with
which the robot should follow it. For example in the case of unicycle if the driving velocity and steering
velocity is subjected to the bounds,
max( )v t v
max( )t
It is necessary if the velocities along the planned path are admissible. The timing law is rewritten by
normalizing the time variable as follows, /t T with T = tf- ti
1
( ) ( )
ds
v t v s
dt T
,
1
( ) ( )
ds
t s
dt T
Increasing the duration of trajectory, T, reduces the uniformity of v and .
5. High level control: High level control purely kinematics-based, with velocity commands for wheeled
mobile robots (WMR). In WMR it is dedicated to generate reference motion (VL and VR), display user
interface with real-time visualization as well as a simulation environment. The objective of high level
control in mobile robots can be summarized as:
Use sensor data to create model of the world
Use model to form a sequence of behaviors which will achieve the desired goal
Execute the plan
Low-level control loops: These loops that are integrated in the hardware or software architecture, accepts
as input a reference value for the wheel angular speed that is reproduced as accurately as possible by
standard regulation actions (e.g., PID controllers). The low-level control layer is in charge of the
execution of the high-level velocity commands.
PID controller for motor velocity
PID controller for robot drive system
Overall strategy: The overall strategy is to implement the control of the mobile robot based on a two
level hierarchy in which the high level is dedicated to generating the inputs that are required to execute a
planned path. WL and WR are the wheel angular velocity required at that instant of time, while the low
level control is dedicated to executing the velocity commands coming from high level control. One good
example available in literatures is the wheeled mobile robot superMario. SuperMARIO is a two-wheel
differentially-driven vehicle, which more kinematically stable but equivalent form of a unicycle model.
The high level control is dedicated in path planning and generating reference velocities while the low
level control, can be the PID controls the wheel motor.
Figure 2. Overall strategy of mobile robot design
6. Question 2:
Explain the interrelations within:
Position and/or velocity constraints; (non)holonomicity; (non)integrability; (non)involutivity; in-
stantaneous motion directions; local/global accessibility and manoeuving.
Solution:
In mobile robotics, we need to understand the mechanical behavior of the robot both in order to
design appropriate mobile robots for tasks and to understand how to create control software for an
instance of mobile robot hardware. It is subject to kinematic constraints that reduce in general its
local mobility, while leaving intact the possibility of reaching arbitrary configurations by appro-
priate maneuvers. The motion of the system that is represented by the evolution of configuration
space over time may be subject to constraints. Position constraint reduces the positions that can be
reached by the robot in the configuration space, i.e. they are related to the generalized coordinates.
Thus, these constraints reduce the configuration space of the system. Velocity constraints reduce a
set of generalized velocities that can be attained at each configuration.
In the robotics community, when describing the path space of a mobile robot, often the concept
of holonomy is used. The term holonomic has broad applicability to several mathematical areas,
including differential equations, functions and constraint expressions. In mobile robotics, the term
refers specifically to the kinematic constraints of the robot chassis. A holonomic robot is a robot
that has zero non-holonomic kinematic constraints. Conversely, a non-holonomic robot is a robot
with one or more non-holonomic kinematic constraints.
Let, q = [q1 ...q2 ...qn], i = 1,...,k < N with qgeneralized coordinates and εRN and hi : C → R
are of class C∞
order (smooth) and independent.
A kinematic constraint is a holonomic constraint if it can be expressed in the form∑hi = H(q) = 0
i
Kinematic constraints formulated via differential relations (constant in velocity) are holonomic if
they are integrable A(q, ˙q) = 0. In the of holonomic systems, we obtain N differential Pfaffian
constraints. Holonomic constraints reduce the space of accessible configuration from n to n-k be-
cause the motion of the mechanical system in configuration space is confined to a particular level
surface of the scalar functions Thus, they can be characterized as position constraints. Holonomic
constraints are generally the result of mechanical interconnections between the various bodies of
the system. A mobile robot with no constraints is holonomic. I A mobile robot capable of only
translations is also holonomic.
Constraints that involve generalized coordinates and velocities are called kinematic constraints.
Kinematic constraints are generally linear in generalized velocities. If kinematic constraint is
not integrable, it is called non-holonomic. Thus, non-integrablity of kinematic constraint implies
7. non-holonomic nature of that constraint. Non-holonomic constraints reduce the mobility of the
mechanical system in a completely different way with respect to holonomic constraints. These
constraints involve generalized coordinates and velocities and constrain the instantaneous admis-
sible motion of the mechanical system by reducing the set of generalized velocities that can be
attained at each configuration. Non-holonomic constraints are non integrable. One of the test that
gives us information the system nonholomicity is the involutibvity test obtained via Lie algebra
and Froboenius involutivity theorem.
Definition 1: For two vector fields f and g, the Lie bracket is a third vector field defined by:
[f,g](q) =
∂g
∂q
f(q)−
∂ f
∂q
g(q)
It is obvious that [f, g] = −[f, g] = 0 for constant vector fields f and g.
Definition 2: A distribution ∆is involutive if it is closed under Lie bracket operation, that is,
if
g1ε∆ and g2ε∆ ⇒ [g1,g2]ε∆
For a distribution ∆ = span{g1 ..., g2}, where gi is the basis of N(AT (q)), the distribution is invo-
lutive if it is closed under Lie brackets.
Frobenius’s theorem: A regular distribution is integrable if and only if it is involutive.
The mobile robot maneuverability is the overall degrees of freedom that a robot can manipulate. It
can also be defined in terms of mobility and steerability. Maneuverability includes both the degrees
of freedom that the robot manipulates directly through wheel velocity and the degrees of freedom
that it indirectly manipulates by changing the steering configuration and moving.
7
8. Question 3:
Compute the accessibility space for the following representative kinematic models after having
re-obtained them from the original kinematic equations
• Unicycle (ideal -single wheel) (U)
• Car-like front-driven (FD); or alternatively:
• Car-like rear-driven (RD)
• Rhombic-like vehicles (RLV)
Solution:
A. Unicycle (ideal - single wheel) (U):
A unicycle is a vehicle with a single orientable wheel.
Figure 1:
Its configuration can be described by three generalized coordinates: the Cartesian coordinates (x,y)
of the contact point with the ground, measured in a fixed reference frame; angle θ characterizing
the orientation of the disk with respect to the x axis.
The configuration vector is thereforeq = [xyθ]T . The kinematic constraint of unicycle is derived
from the rolling without slipping condition, which forces the unicycle not to move in the direction
orthogonal to the sagittal axis of the vehicle. The angular velocity of the disk around the vertical
axis instead is unconstrained.
.
x sinθ−
.
y cosθ = 0
=⇒ sinθ −cosθ 0
.
q= 0
This equation is nonholonomic, because it implies no loss of accessibility in the configuration
space. Now, here the number of generalized coordinate, n = 3 and the number of non-holonomic
8
9. constraints, k = 1. So the number of null space of kinematic constraints in the case of unicycle,
m = n−k = 2. Thus the matrix:
G(q) = [g1(q) g2(q)] =
cosθ 0
sinθ 0
0 1
,
where, columns g1(q) and g2(q) are for eachq a basis of the null space of the matrix associated
with the Pfaffian constraint.
The kinematic model of the unicycle is then
.
q=
.
x
.
y
.
θ
=
cosθ
sinθ
0
v+
0
0
1
ω,
where the input v is the driving velocity and ω is the wheel angular speed around the vertical axis.
The Lie bracket of the two input vector field is
[g1,g2](q) =
sinθ
−cosθ
0
,
that is linearly independent from g1(q), g2(q). The Accessibility space, S = rank g1 g2 [g1,g2] =
3. This indicates that there is no loss in the accessible space and the constraint is non-holonomic.
9
10. Figure 2:
B. Car-like front-driven (FD):
A bicycle vehicle consists of an oreintable wheel and a fixed wheel.
The generalized coordinates can be expressed by the following equation:
q = x y θ Φ
T
, where (x,y) are the cartesian coordinates of the contact point between
the rear wheel and the ground, and θ is the steering angle of the front wheel with respect of the
vehicle. The kinematic model is derived from the two pure rolling constraints. The velocity of the
centre of the front wheel is zero in the direction orthogonal to the wheel itself, while the velocity
of the centre of the rear wheel is zero in the direction orthogonal to the sagittal axis of the vehicle.
Now using the rigid body constraint,
xf = x+lcosθ
yf = y+lsinθ
where, l is the distance between the wheels and (xf ,yf ) is the cartesian position of the centre of
the front wheel. So two constraints are following:
.
x sinθ−
.
y cosθ = 0 and
.
xf sin(θ +Φ)−
.
yf cos(θ +Φ) = 0
⇒
.
x sin(θ +Φ)−
.
y cos(θ +Φ)−l
.
θ cosΦ = 0
The matrix associated with the Pfaffian constraints is then:
AT
(q) =
sinθ −cosθ 0 0
sin(θ +Φ) −cos(θ +Φ) −lcosΦ 0
withrank2
10
11. Here the number of generalized coordinate, n = 4 and the number of non-holonomic constraints,
k = 2. So the number of null space of kinematic constraints in the case of unicycle, m = n−k = 2.
Thus the matrix,
G(q) = [g1(q) g2(q)] =
cosθcosΦ 0
sinθsinΦ 0
sin(Φ/l) 0
0 1
where, columns g1(q) and g2(q) are for eachq a basis of the null space of the matrix associated
with the Pfaffian constraint. The kinematic model of the unicycle is then,
.
q=
.
x
.
y
.
θ
.
Φ
=
cosθcosΦ
sinθsinΦ
sin(Φ/l)
0
v+
0
0
0
1
ω
where, the input v is the driving velocity of front wheel and ω is the steering velocity. Now the Lie
bracket,
g3(q) = [g1,g2](q) =
cosθcosΦ
sinθsinΦ
−cos(Φ/l)
0
g(q) = [g1,g3](q) =
−sin(θ/l)
cos(θ/l)
0
0
both linearly independent from g1(q) and g2(q). So, the Accessibility space, S = rank g1 g2 g3 g4 =
4.
11
12. C. car like rear-driven (RD)
The robot is rear driven for a possible generalized coordinates of [ ] T where (x, y) are
the Cartesian coordinates of the contact point between the rear wheel and the ground (i.e., of the
rear wheel Centre), θ is the orientation of the vehicle with respect to the x axis, and φ is the
steering angle of the front wheel with respect to the vehicle.
Front wheel center is
and
̇ ̇ ̇
̇ ̇ ̇
Applying rolling without slipping condition on the front axle/wheels,
̇ ( ) ̇ ( )
Substituting the above equations,
( ̇ ̇ ) ( ) ( ̇ ̇ ) ( )
Solving for ̇ gives, ̇
The complete kinematic model is given by,
13. [
̇
̇
̇
̇
]
[ ]
v + [ ]
This is the complete kinematic model of Car like rear driven (RD) mobile robot where v is the
driving velocity of rear wheel whereas is the steering velocity.
Accessible space = Rank [g1, g2, [g1, g2], [g1, [g1, g2]]]
g1(q) =
[ ]
and g2(q) = [ ]
g3 (q) = [g1, g2] (q) =
[ ]
g4 (q) = [g1, g3] (q) =
[ ]
So from the computed result g3(q) and g4(q) vector fields are independent of g1(q) and g2(q).
This implies that the accessible space = Rank[g1,g2,g3,g4] = 4
D. rhombic like vehicles (RLV)
In the configuration of RLV using the assumption of rolling without slipping condition the
system is subjected to the following constraints:
̇ ( ) ̇ ( )
̇ ( ) ̇ ( )
Using rigid body constraints, ̇ ̇ can be obtained as the function of center mass ̇ .thus
14. [ ], C (q) ̇ = 0
[
( ) ( )
( ) ( )
] [
̇
̇ ]= 0
̇ is the basis of {N(C (q))} = ∑ ( )
Null space of C(q) :g1(q) =
[
( )
( )
]
, g2(q)=
[
( )
( )
]
̇
[
( )
( )
]
+
[
( )
( )
]
This is the kinematic model of RLV
Accessible space = rank [g1, g2,[g1,g2]]
[ ] = [
( ( ) ( ) )
( ) ]
Since [g1,g2] is independent of g1 and g2, accessible space = 3.
Advantages of pfaffian constraint:
Pfaffian constraints are linear in generalized velocities:
( ) ̇
This gives us the advantages of expressing the kinematic model as the combination of null space
of the constraint: in this case the kinematic model is drifless system.
15. Question 4:
MATLAB exercise - path/trajectory planning and potentials
Motion planning: It is the process of breaking down a desired movement task into discrete motions
that satisfy movement constraints and possibly optimize some aspect of the movement as well as
avoid obstacles. In the original package given to us in order to move the robot from a given initial
point to goal point, a motion planning algorithm is developed for random environment map and
minimum time path is computed using constrained optimization. The motion planning algorithm
generates path/trajectory based on polynomial interpolation of waypoints from starting position to
goal position. The minimum time path is computed by constrained optimization of the path gener-
ated based on the waypoints randomly chosen. This optimization algorithm provides the optimal
waypoints between starting position and goal. But, the package doesn’t consider about the pres-
ence of obstacles when making the environment and so, the final path/trajectory is always straight
line connecting the two points.
Modification:
• the mapping environment is structured
• known position of obstacles are randomly imposed.
0 5 10 15 20 25 30 35
−5
0
5
10
15
20
25
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Figure: Environment map with obstacles, indicating the starting point and end point
15
17. Question 04 (Extension of Path Planning)
Iterative artificial potential field (APF) algorithm APF algorithm is built upon new potential
functions based on the distances from obstacles, destination point and start point. The algorithm
uses the potential field values iteratively to find the optimum points in the workspace in order to
form the path from start to destination. The number of iterations depends on the size and shape of
the workspace.
In this algorithm the map is assumed to be captured by camera mounted on the robot. For the
sake of simulation environmental map is generated by using customized function and changed into
environmental map. The obstacles repel the robot with the magnitude inversely proportional to
the distances. The goal attracts the robot. The resultant potential, accounting for the attractive
and repulsive components is measured and used to move the robot. five distances are measured at
specific angles to to compute the repulsive potential. These are are forward ,left side right side, left
diagonal and forward right diagonal.
Our method involves using a simple potential functions; the workspace is discretized into a grid of
rectangular cells where each cell is marked as an obstacle or a non-obstacle. At each cell potential
function is evaluated based on the distances from the starting point, destination and goal. These
values are used to find the optimum points along the entire path. We find these points iteratively
until there are enough points that path can be determined as a consecutive sequence of these points
beginning from the start location and ending at the destination.
each cell by its coordinates c = [x, y]. Algorithm begins calculating the potential function for every
empty cell in the workspace. UT otal(c) = UStart(c) + UEnd(c)UObs(c) It is important to note that
the distance of the cell from the start point is being used. The individual functions are expressed as
UStart(c) = α/D(c, start)
UEnd(c) = α/D(c, End)
UObs(c) = β/D(c, Obs)
D(c, start) is the distance of the cell c from the start point D(c, End) is the distance of cell c from
the end point D(c, Obs) is the distance of cell c from the Obstacle point
α and β are positive constant to change the path behavior. As it can be observed from potential
function by increasing alpha we put more emphasis on the distance from the start and end points.
So having large value of alpha results in shorter path but the path might be close to the obstacle.
By increasing beta we put more emphasis on the distance from obstacles and it means that selecting
large value for gives us a longer path with bigger distance from the obstacles. For this simulation
result in the documentation unit value of alpha and beta. Pseudo code for finding the midpoint Let
N be the number of available cells, Evaluate all these cells. A = Sorted array of all cells values.
Binary Search( 1, N , A );
Binary Search( i, j ,A)
If ( i == j )
return A[ i + 1]
T = A[ ( i + j ) / 2]
If ( by using simple BFS, Is end point reachable from start point using cells with larger value than
T ? )
Binary Search( i, (( i + j ) / 2 ) - 1 , A )
Else
Binary Search( ( i + j ) / 2, j, A )
Pseudo code for finding the path
Inputs = Start, Destination, Workspace
Output = Collision free path
Function Find Path (Start, End, Workspace)
If ¡ Endpoints are close enough and there is a collision free straight line connecting them ¿
Return Segment( Start, End );
Else
[ MidPoint, First Workspace, Second Workspace] = Find MidPoint( Start, End, Workspace )
1
18. First Path = Find Path ( Start, MidPoint, First Workspace )
Second Path=FindPath( MidPoint, End, Second Workspace )
Return Merge( First Path, Second Path )
Function Find MidPoint( Start, Destination, Workspace )
Evaluate all the cells in the Workspace
A = Sorted array of all available cells in Workspace in descending order
N = Length of A
T = Binary Search( 1, N , A )
Midpoint = Cell having the value T
First Workspace = Start point cluster
Second Workspace = End point cluster
Return ( Midpoint, First Workspace, Second Workspace )
Figure 1: environmental map
Figure 2: simulation result with appropriate value of alpha and beta
Figure 3: simulation result with appropriate value of alpha and beta
2
19. Figure 4: smaller safe distance and imbalance between repulsive and attractive force results in
collision of robot with obstacles
Figure 5: larger α value results in longer time to
converge to the goal
Figure 6: simulation result with larger value of β
In conclusion the result demonstrates that the appropriate value of α and β should be selected
to achieve the desired path. The thread off between this parameters , attractive and repulsive
potential values results the shortest path to goal avoiding the obstacles.
3
20. Question 5:
5.1 Produce a “sufficiently smooth” path planning and trajectory?
Trajectory planning involves path planning with association of timing law.
Assuming the trajectory to be planned q (t), for t ∈ [ti , tf], that leads a car like robot from an initial
Configuration q(ti ) = qi to a final configuration q(tf) = qf in the absence of obstacles. The trajectory
q(t) can be broken down into a geometric path q(s), with dq(s)/ds = 0 for any value of s, and a
timing law s=s(t), with the parameters varying between s(ti)=si and s(tf)=sf in a monotonic fashion,
i.e., with s(t) ≥0, for t ∈[ti, tf]. A possible choice for s is the arc length along the path; in this
case, it would be si = 0 and sf =L, where L is the length of the path.
Using space time separation:
𝑞̇ =
𝑑𝑞
𝑑𝑡
=
𝑑𝑞
𝑑𝑠
𝑠̇ = 𝑞′𝑠̇
And the non-holonomic constraints of the rear driven car like robot is given by
𝐴(𝑞) ∗ 𝑞̇ = 𝑞′𝑠̇
Geometrically admissible paths can be explicitly defined as the solutions of the nonlinear system
𝑞′
𝑠̇ = 𝐺(𝑞) ∗ 𝑢̃ , 𝑢 = 𝑠̇ (𝑡)𝑢̃
In this project the path planning via Cartesian polynomial is adopted. The problem of planning can
be solved by interpolating the initial values xi and yi and the final values xf and yf of the flat
outputs x, y. The expression for other states and input trajectory depend only on the values of
output trajectory and its derivative up to third order. In order to guarantee it’s exact
Reproducibility, the Cartesian trajectory should be three times differentiable almost everywhere.
Cubic polynomial function is given as shown below,
𝑥(𝑠) = 𝑠3
∗ 𝑥𝑓 − (𝑠 − 1)3
∗ 𝑥𝑖 + 𝛼 𝑥 ∗ 𝑠2
∗ (𝑠 − 1) + 𝛽 𝑥 ∗ 𝑠 ∗ (𝑠 − 1)2
𝑦(𝑠) = 𝑠3
∗ 𝑦𝑓 − (𝑠 − 1)3
∗ 𝑦𝑖 + 𝛼 𝑦 ∗ 𝑠2
∗ (𝑠 − 1) + 𝛽 𝑦 ∗ 𝑠 ∗ (𝑠 − 1)2
The constraint equation on the initial and velocities comes from the kinematic model of the robot.
Considering the forward velocity the configuration parameters of the robot becomes as shown in
the following description.
𝜃(𝑠) = atan(𝑥′(𝑠), 𝑦′(𝑠)) 𝑣(𝑠) = √𝑥(𝑠)2 + 𝑦(𝑠)2
∅ = 𝑡𝑎𝑛−1
(𝑙 ∗ 𝑣 ∗ 𝜃(𝑠)̇ )
∅ = arctan (
𝑦(𝑠)̈ 𝑥(𝑠)̇ –𝑥(𝑠)̈ 𝑦(𝑠)̇
√𝑥(𝑠)2+𝑦(𝑠)2
3 )
Adding the timing law to by computing the length of Euclidean distance (L ) between initial and
final position given the speed value V becomes as shown,
L =|‖(𝑥𝑓, 𝑦𝑓) − ((𝑥𝑖, 𝑦𝑖))‖| , Tf =
𝑉
𝐿
and timing Law 𝑠(𝑡) =
𝑉∗𝑡
𝐿
24. 5.2. Compute the kinematic model inputs in order to allow the FR model to follow the assigned
path in the assigned time interval, parameterize the time law, possibly at any step.
From timing law the trajectory i.e the path with associated time law is given by
S(t)=
𝑘𝑡
𝐿
Where k is the initial velocity and L is the length of the path.
In this case the time step is
𝑑𝑡 =
𝑡𝑓 − 𝑡𝑖
1000
The model inputs are the driving velocity and the steering velocity which are the solution of
[
𝑥̇ = 𝑣̃𝑠𝑖𝑛𝜗
𝑦̇ = 𝑣̃𝑠𝑖𝑛𝜗
𝜗̇ =
𝑣̃𝑡𝑎𝑛∅
𝑙
∅̇ = 𝜔̃ ]
𝑣̃ and 𝜔̃ are geometric inputs.
So 𝑣̃(𝑠) = √𝑥′(𝑠)2 + 𝑦′(𝑠)2
𝜔̃( 𝑠)
=
𝑙 𝑣̃(𝑠)[(𝑦′′′(𝑠)𝑥′(𝑠) − 𝑥′′′(𝑠)𝑦′(𝑠)) − 3(𝑦′′(𝑠)𝑥′(𝑠) − 𝑥′′(𝑠)𝑦′(𝑠) )(𝑥′′(𝑠)𝑥′(𝑠) − 𝑦′′(𝑠)𝑦′(𝑠)]
𝑣̃(𝑠)6 + 𝑙2 (𝑦′′(𝑠)𝑥′(𝑠) − 𝑥′′(𝑠)𝑦′(𝑠))
𝑣(𝑡) = 𝑣̃(𝑠)𝑠′(𝑡) = 𝑣̃(𝑠)
𝑘
𝑙
𝜔(𝑡) = 𝜔̃(𝑠)𝑠′(𝑡) = 𝜔̃(𝑠)
𝑘
𝑙
25. 5.3 Define a proper output function for this MIMO non holonomic system and motivate?
The RLV kinematic model,
.
x
.
y
.
θ
.
φ
=
cosθ
sinθ
tanφ
l
0
v+
0
0
0
1
w
This has the form of
.
x= f(x)+G(x)u in which f(x) = 0
The dynamic system is differentially flat since it is possible to re-write it as follows:
.
θ=
..
y
.
x −
..
x
.
y
.
x
2
+
.
y
2
2
=
..
y
..
x −
..
x
.
y
.
x
2
+
.
y
2
.
φ=
l
.
x
2
+
.
y
2 ...
y
.
x −
...
x
.
y)(
.
x
2
+
.
y
2
)−3(
..
y
.
x −
..
x
.
y)(
.
x
..
x +
.
y
..
y
.
x
2
+
.
y
2 3
+l2
..
y
.
x −
..
x
.
y
2
v = ±
.
x +
.
y
w =
.
φ
So, the states
.
θ,
.
φ and the inputs v and w can be expressed as the function of x and y and their
derivatives. This implies the output function are x and y.
z =
x
y
25
26. 5.4. Apply the input output linearization feedback by computing the linearizing feedback via lie
algebra from new coordinates z. rewrite the equation in the old set of generalized coordinates q.
For the car-like robot model, the natural output choice for the trajectory tracking task is
𝑧 = [
𝑥
𝑦]
The linearization algorithm starts by computing
𝑧 = [
𝑐𝑜𝑠𝜃 0
𝑠𝑖𝑛𝜃 0
] 𝑣 = 𝐴(𝜃)𝑣
At least one input appears in both components of 𝑧̇, so that A(𝜃) is the actual decoupling matrix
of the system. Since this matrix is singular, static feedback fails to solve the input-output
linearization and decoupling problem.
A possible way to circumvent this problem is to redefine the system output as
,
With ∆≠ 0. The differentiation of new output results in
𝑧̇ = 𝐴(𝜃, ∅) [
𝑣
𝜔
]
Since 𝑑𝑒𝑡𝐴(𝜃, ∅) = ∆/𝑐𝑜𝑠∅ ≠ 0 we can set 𝑧̇ = 𝑟 (as an auxiliary input value) and solve for the
input v as, 𝑣 = 𝐴−1
(𝜃, ∅)𝑟
Setting 𝑧̇ = [
𝑧1
𝑧2̇
̇
]=[
𝑟1
𝑟2
] = R 𝑅 = 𝐴(𝜃, ∅) [
𝑣
𝜔
]
Computing the linearizing feedback using lie algebra
𝑢 =
1
𝐿 𝑔 𝐿 𝑓
𝑟−1
ℎ(𝑥)
[−𝐿 𝑓
𝑟−1
ℎ(𝑥) + 𝑣]
By replacing the f(x) = 0, V = R, r = Relative degree = 1
𝑢 =
1
𝐿 𝑔ℎ(𝑥)
[𝑅] 𝐿 𝑔ℎ(𝑥) =
𝜕ℎ
𝜕𝑥
𝑔 =
𝜕𝑧
𝜕𝑥
𝑔 Where 𝑔 =
[
𝑐𝑜𝑠𝜗
𝑠𝑖𝑛𝜗
𝑡𝑎𝑛∅
𝑙
0 ]
27. ∂z
∂x
=
∂z1
∂x
∂z1
∂y
∂z1
∂θ
∂z1
∂φ
∂z2
∂x
∂z2
∂y
∂z2
∂θ
∂z2
∂φ
=
1 0 −(lsinθ + sinθ +φ)) − sin(θ +φ)
0 1 lcosθ + cos(θ +φ) cos(θ +φ)
∂z
∂x
g =
cosθ −tanφ(sinθ + sin(θ+φ)
l ) − sin(θ +φ)
sinθ +tanφ cosθ + sin(θ+φ)
l cos(θ +φ)
U = A−1
(θ,φ)R = A−1
(θ,φ)
r1
r2
=
v
w
The closed loop system defined in the transformed coordinates (z1,z2,θ,φ) is
.
z1= r1
.
z2= r2
.
θ=
sinφ [cos(θ +φ)r1 +sin(θ +φ)r2]
l
.
φ= −
cos(θ +φ)sinφ
l
+
sin(θ +φ)
r1 −
sin(θ +φ)sinφ
l
−
cos(θ +φ)
r2
where,
.
θ= vtanφ
l and φ = w
The equations in the old set of generalized coordinates:
.
x= vcosθ = (r1cos(θ +φ)+r2sin(θ +φ)cosφ)cosθ
.
y= vsinθ = (r1cos(θ +φ)+r2sin(θ +φ)cosφ)sinθ
.
θ=
vtanφ
l
= (r1cos(θ +φ)+r2sin(θ +φ)cosφ)
tanφ
l
.
φ= w = −
cos(θ +φ)sinφ
l
+
sin(θ +φ)
r1 −
sin(θ +φ)sinφ
l
−
cos(θ +φ)
r2
27
28. 5.5 Introduce Perturbation and try to set control minimizing e(t ) = yd(t)-y(t). Explain why your
Control and optimization is working properly.
The answer considers the problem of tracking a given Cartesian trajectory with the car-like robot
using feedback control.
Reference trajectory generation
Assume that a feasible and smooth desired output trajectory is given in terms of the Cartesian
position of the car rear wheel;
𝑧 𝑑(𝑡) = ⌊
𝑥𝑑 = 𝑥𝑑(𝑡)
𝑦𝑑 = 𝑦𝑑(𝑡)
⌋ 𝑡 ≥ 𝑡0 Where 𝑧 𝑑(𝑡) is desired/reference trajectory
This natural way of specifying the motion of a car-like robot has an appealing property. In fact,
from this information we are able to derive the corresponding time evolution of the remaining
coordinates (state trajectory) as well as of the associated input commands (input trajectory).
Let us assume 𝑧(𝑡) = ⌊
𝑥 = 𝑥(𝑡)
𝑦 = 𝑦(𝑡)
⌋ is the robot trajectory, then the error between desired trajectory
and the trajectory tracker error is given by
𝑒(𝑡) = ⌊
𝑥𝑑(𝑡) − 𝑥(𝑡)
𝑦𝑑(𝑡) − 𝑦(𝑡)
⌋
For demonstration of the perturbation model four different reference trajectories (linear, elliptic,
circular and sinusoidal) is selected and the controller for minimizing the error is designed.
The controller design for trajectory tracking is based on the linearization of the dynamic system
without ignoring the non- linearities in the system. These non-linearities are very important to be
ignored. But by selecting proper outputs (x,y in this case) the non-linearities are canceled between
Input and Output by feedback Linearization.
So, Input- Output feedback linearization is deployed to find the controller that minimizes the error.
Input output linearization algorithm starts with
𝑧̇ = ⌊
𝑥̇
𝑦̇
⌋ = ⌊
𝑐𝑜𝑠𝜃 0
𝑠𝑖𝑛𝜃 0
⌋ [
𝑣
𝜔
] = 𝐴(𝜃) [
𝑣
𝜔
]
Since the decoupling matrix is singular the output is defined as follows to circumvent the problem.
𝑧 = [
𝑧1
𝑧2
] = [
𝑥 + 𝑙𝑐𝑜𝑠𝜃 + ∆cos(𝜃 + ∅)
𝑦 + 𝑙𝑠𝑖𝑛𝜃 + ∆sin(𝜃 + ∅)
], ∆≠ 0
29. 𝑧̇ = [
𝑧̇1
𝑧̇2
] = [
𝑟1
𝑟2
] From this formulation the control that minimizes the perturbation error is given
by
[
𝑣
𝜔
] = 𝐴−1
(𝜃, ∅) [
𝑟1
𝑟2
] Where A(𝜃, ∅) is decoupling matrix.
This control input solves the trajectory tracking problem is computing by choosing
𝑟1 = 𝑧̇ 𝑑1 + 𝐾𝑝1(𝑧 𝑑1 − 𝑧1) = 𝑥̇ 𝑑 + 𝐾𝑝1(𝑥 𝑑 − 𝑥)
𝑟2 = 𝑧̇ 𝑑2 + 𝐾𝑝2(𝑧 𝑑2 − 𝑧2) = 𝑦̇ 𝑑 + 𝐾𝑝2(𝑦 𝑑 − 𝑦)
A nonlinear internal dynamics which does not affect the input output behavior may be left in the
closed-loop system. If the internal dynamics are stable i.e. the states remain bounded during
tracking (implies stability in the BIBO) the trajectory tracking problem is supposed to be solved.
Similarly the states (𝜃, ∅) associated with internal dynamics are bounded along the nominal output
trajectory.
The output trajectory tracking error converges to zero due to system degree/order of two.
30. −5 0 5
−10
−8
−6
−4
−2
0
2
4
6
8
10
Trajectory Tracking
X
Y
Robot Trajectory
Reference Trajectory
Figure: Ellipse Trajectory Tracking
0 2 4 6 8 10
−1
0
1
2
3
4
5
6
Trajectory Tracking Errors
Time[s]
Length[m]
Error on X
Error on Y
Figure: Ellipse Trajectory Tracking Errors
30
31. 0 2 4 6 8 10
0
1
2
3
4
5
6
7
8
9
10
Trajectory Tracking
X
Y
Robot Trajectory
Reference Trajectory
Figure: Line Trajectory Tracking
0 2 4 6 8 10
−3
−2
−1
0
1
2
3
Trajectory Tracking Errors
Time[s]
Length[m]
Error on X
Error on Y
Figure: Line Trajectory Tracking Errors
31
32. −5 0 5
−5
−4
−3
−2
−1
0
1
2
3
4
5
Trajectory Tracking
X
Y
Robot Trajectory
Reference Trajectory
Figure: Circle Trajectory Tracking Errors
0 2 4 6 8 10
−1
0
1
2
3
4
5
6
Trajectory Tracking Errors
Time[s]
Length[m]
Error on X
Error on Y
Figure: Circle Trajectory Tracking Errors
32
33. 0 2 4 6 8 10
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Trajectory Tracking
X
Y
Robot Trajectory
Reference Trajectory
Figure: Sinusoid Trajectory Tracking
0 2 4 6 8 10
−3
−2
−1
0
1
2
3
Trajectory Tracking Errors
Time[s]
Length[m]
Error on X
Error on Y
Figure: Sinusoid Trajectory Tracking
33
34. Question 6:
Introduce the concept of “zero dynamics” and “constrained dynamics”, explain?
Solution:
Zero Dynamics: A geometric task for a robot may be encoded into a set of outputs in such a
way that the zeroing of the outputs is asymptotically equivalent to achieving the task, whether
the task be asymptotic convergence to an equilibrium point, a surface, or a time trajectory. For a
system modeled by ordinary differential equations (in particular, without impact of dynamics), the
maximal internal dynamics of the system that is compatible with the output being identically zero
is called the zero dynamics.
Consider a nonlinear system whose relative degree r is strictly less than n. The single-input single-
output system:
x = f(x)+g(x)u and y = h(x)
Assume that a local coordinate transformation has placed this system into its normal form:
.
z1= z2
.
.
z2= z3
...
.
zr−1= zr
.
zr= b(ξ,η)+a(ξ,η)u
.
η= q(ξ,η)
and the output is given by
y = z1
Equations which describe the system in the new coordinates can be more conveniently represented
as follows:
η = zr+1 zr+2 ... zn
T
; ξ = z1 z2 ... zr
T
We can show that if x0 is such that f(x0) = 0 and h(x0) = 0, then the first r new coordinates of zi are
0 at x0. In order to have the output y(t) of the system identically zero, necessarily the initial state
must be such that ξ(0) = 0 , whereas η(0) = η0 at x0. So if x0 were an equilibrium point for the
system (in the original coordinate frame), it’s corresponding point (ξ,η) = (0,0) is an equilibrium
point for the system in the new coordinates. Which means that, 0 = b(0,0)+a(0,0)u.
With these observations, according to the value of η0, the input must be set equal to the following
function u(t) = b(0,η(t))
a(0,η(t)) , where η(t) denotes the solution of the differential equation
.
η= q(0,η(t)).
This correspond to the dynamics describing the internal behavior of the system when input and
initial conditions have been chosen in such a way as to constrain the output to remain identically
zero. These dynamics, which are rather important in many instances, are called the zero dynamics
of the system.
34
35. The concept of constrained dynamics describes the fact that we choose the initial condition and the
input so that we can constrain the output identically to zero.
6.1 Do it exist a “strictly normal form” for the generalized (be concise: one short-sentence)?
It is not exist as the jacobian matrix is non-singular.
6.2 Why the trajectory has to be C∞ (or sufficiently smooth) in respect to the generalized coor-
dinates?
To avoid the non-continuous curvature behavior the trajectory has to be planned in sufficiently
smooth way with respect to generalized coordinates. Lack of smoothness results in physically
unachievable maneuvering and motion inversion. This forces the robot to move forward and back-
ward. To overcome this problem the trajectory has to be sufficiently smooth.
6.3 Why do not apply the state-space feedback realization (SSFL)?
Rear driven Car like mobile robot system has four state variables(x,y,θ,φ) while the input com-
mands are v and w (driving velocity and steering velocity).due this ranking difference between
input commands and state variable of system it is impossible to use state-space feedback realiza-
tion (SSFL).
For a system of x = f(x)+g(x)u ,
The necessary and sufficient condition for existence of state feedback linearization is g(x) matrix
have rank n and involute around x0. In fact car like mobile robots are drift less system, which
implies thatf(x) = 0. For car like mobile robots in general rank g(x0) = 2, which is not the same
as the rank of the system. Therefore SSFL is not possible.
35