Rigid Body Dynamics Algorithms
Rigid Body Dynamics Algorithms
Roy Featherstone Rigid Body dynamics Algorithms S ringer Roy Featherstone The austrailian National university Canberra. ACT austrailia Library of Congress Control Number: 2007936980 ISBN978-0-387-74314-1 ISBN978-1-4899-7560-7( e Book) Printed on acid-free paper c 2008 Springer Science+ Business Media, LLC All rights reserved This work may not be translated or copied in whole or in part without the written permission of the publisher(Springer Science+ Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use in this publication of trade names, trademarks, service marks and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights 987654321 springer. com Preface The purpose of this book is to present a substantial collection of the most efficient algorithms for calculating rigid-body dynamics, and to explain them in enough detail that the reader can understand how they work, and how to adapt them(or create new algorithms )to suit the readers needs. The collection includes the following well-known algorithms: the recursive Newton-Euler algo- rithm, the composite-rigid-body algorithm and the articulated-body algorithm It also includes algorithms for kinematic loops and floating bases. Each algo rithm is derived from first principles, and is presented both as a set of equations and as a pseudocode program, the latter being designed for easy translation into any suitable programming language This book also explains some of the mathematical techniques used to for- mulate the equations of motion for a rigid-body system. In particular, it show how to express dynamics using six-dimensional (6D)vectors, and it explains the recursive formulations that are the basis of the most efficient algorithms. Other topics include: how to construct a computer model of a rigid-body system; ex- ploiting sparsity in the inertia matrix; the concept of articulated-body inertia the sources of rounding error in dynamics calculations; and the dynamics of physical contact and impact between rigid bodies Rigid-body dynamics has a tendency to become a sea of algebra. However this is largely the result of using 3D vectors, and it can be remedied by using a 6D vector notation instead. This book uses a notation based on spatial vectors in which the linear and angular aspects of rigid-body motion are combined into a unified set of quantities and equations. The result is typically a four-to six- fold reduction in the volume of algebra. The benefit is also felt in the computer code: shorter, clearer programs that are easier to read, write and debug, but are still just as efficient as code using standard 3D vectors This book is intended to be accessible to a wide audience, ranging from senior undergraduates to researchers and professionals. Readers are assumed to have some prior knowledge of rigid-body dynamics, such as might be obtained from an introductory course on dynamics, or from reading the first few chapters of an introductory text. However, no prior knowledge of 6D vectors is required as this topic is explained from the beginning in Chapter 2. This book does also contain some advanced material, such as might be of interest to dynamics PREFACE experts and scholars of 6D vectors. No software is distributed with this book but readers can obtain source code for most of the algorithms described here from the authors web site This text was originally intended to be a second edition of a book entitled Robot Dynamics algorithms, which was published back in 1987; but it quickly became clear that there was enough new material to justify the writing of a whole new book. Compared with its predecessor, the most notable new mate rials to be found here are: explicit pseudocode descriptions of the algorithms a chapter on how to model rigid-body systems; algorithms to exploit branch induced sparsity; an enlarged treatment of kinematic loops and floating-base systems; planar vectors(the planar equivalent of spatial vectors); numerical errors and model sensitivity; and guidance on how to implement spatial-vector arithmetic Contents Preface 1 Introduction 1. 1 Dynamics Algorithms 1.2 Spatial Vectors 1.3 Units and Notation 1.4 Readers'Guide 1.5 Further Reading 2 Spatial Vector Algebra 113456770 2.1 Mathematical Preliminaries 2.2 Spatial Velocit 2.3 Spatial Force 2. 4 Plucker notation 15 2.5 Line vectors and Free vectors 16 2.6 Scalar Product 17 2.7 USing Spatial Vectors 18 2. 8 Coordinate transforms 20 2.9 Spatial Cross Products 23 2.10 Differentiation 5 2.11 Acceleration ..28 2.12 Momentum 2.13 Inertia 32 2. 14 Equation of Motion 35 2.15 Inverse inertia 36 2.16 Planar Vectors 2.17 Further reading 38 3 Dynamics of Rigid Body Systems 39 3.1 Equations of motion 40 3.2 Constructing Equations of Motion 2 3.3 Vector Subspaces 46 3.4 Classification of constraints 50 CONTENTS 3.5 Joint constraints 53 3.6 Dynamics of a Constrained rigid body 57 3.7D ynamics of a Multibod y System 60 4 Modelling Rigid Body Systems 65 4.1 Connectivity 66 4.2 Geometry 73 4.3 Denavit-Hartenberg Parameters 75 4.4 Joint models 78 4.5 Spherical motion 4.6 A Complete System Model 87 5 Inverse Dynamics 89 5.1 Algorithm Complexity Q 5.2 Recurrence relations 90 5.3 The Recursive Newton-Euler Algorithm 92 5.4 The Original Version 97 5.5 Additional Notes 6 Forward Dynamics- Inertia Matrix Methods 101 6.1 The Joint-Space Inertia Matrix 102 6.2 The Composite-Rigid-Body algorithm 104 6.3 A Physical Interpretation 108 6.4 Branch-Induced sparsit 110 6.5 Sparse Factorization Algorithms 112 6.6 Additional Notes 117 7 Forward Dynamics- Propagation Methods 119 7.1 Articulated-Body Inertia 119 7.2 Calculating Articulated-Body Inertias .123 7.3 The Articulated-Body algorithm 128 7.4 Alternative Assembly Formulae .131 7.5 Multiple handles ..136 8 Closed Loop Systems 141 8.1 Equations of Motion 141 8.2 Loop Constraint equations 143 8.3 Constraint Stabilization 145 8.4 Loop joint Fo orces 148 8.5 Solving the Equations of Motion .149 8.6 Algorithm for C-T 152 8.7 Algorithm for K and k 154 8.8 Algorithm for G and g 156 8.9 Exploiting Sparsity in K and G 158 8.10 Some Properties of Closed-Loop systems 159 CONTENTS 8.11 Loop Closure Functions 8.12 Inverse dynamics 164 8.13 Sparse Matrix Method 166 9 Hybrid Dynamics and other Topics 171 9. 1 Hybrid dynamics 171 9.2 Articulated-Body Hybrid dynamics 176 9.3 Floating bases 179 9.4 Floating- Base Forward dynamics 181 9.5 Floating-Base Inverse Dynamics 183 9.6 Gears 186 9. 7 Dynamic equivalence 189 10 Accuracy and Efficiency 195 10.1 Sources of Error 196 0.2 The Sensitivity Problem 199 10.3 Efficiency 201 10.4 Symbolic Simplification 209 11 Contact and Impact 213 11.1 Single point contact 213 11.2 Multiple point Contacts 216 11.3 A Rigid-Body System with Contacts .219 11.4 Inequality Constraints 222 11.5 Solving Contact Equations 224 11.6 Contact Geometry 227 11.7 Impulsive dynamics 230 11. 8 Soft contact 235 11.9 Further Reading 239 a Spatial Vector Arithmetic 241 A 1 Simple planar arithmetic 241 A2 Simple Spatial arithmetic A 3 Compact Representations 245 A 4 Axial screw transforms 249 A.5 Some Efficiency Tricks ..252 Bibliography 257 Symbols 265 Index 267 Chapter 1 Introduction Rigid-body dynamics is an old subject that has been rejuvenated and trans- formed by the computer. Today, we can find dynamics calculations in computer games, in animation and virtual-reality software, in simulators, in motion con trol systems, and in a variety of engineering design and analysis tools. In every case, a computer is calculating the forces, accelerations, and so on, associated with the motion of a rigid-body approximation of a physical system The main purpose of this book is to present a collection of efficient algo rithms for performing various dynamics calculations on a computer. Each al- gorithm is described in detail, so that the reader can understand how it works and why it is efficient; and basic concepts are explained, such as recursive for- mulation, branch-induced sparsity and articulated-body inertia Rigid-body dynamics is usually expressed using 3D vectors. However, the subject of this book is dynamics algorithms, and this subject is better expressed using 6D vectors. We therefore adopt a 6D notation based on spatial vectors which is explained in Chapter 2. Compared with 3D vectors, spatial notation greatly reduces the volume of algebra, simplifies the tasks of describing and explaining a dynamics algorithm, and simplifies the process of implementing an algorithm on a computer This chapter provides a short introduction to the subject matter of this book. It says a little about dynamics algorithms, a little about spatial vectors and it explains how the book is organized 1.1 Dynamics Algorithms The dynamics of a rigid-body system is described its equation of motion, which specifies the relationship between the forces acting on the system and the ac celerations they produce. A dynamics algorithm is a procedure for calculating the numeric values of quantities that are relevant to the dynamics. We will be concerned mainly with algorithms for two particular calculations
Rigid Body Dynamics Algorithms.pdf2018-12-17
rigid-body-dynamics-algorithms--Roy bullet's implementation is nearly the same as this doc.
Rigid Body Dynamics Algorithms Featherstone, Roy2017-05-10
Rigid Body Dynamics Algorithms presents the subject of computational rigid-body dynamics through the medium of spatial 6D vector notation. It explains how to model a rigid-body system and how to analyze it, and it presents the most comprehensive collection of the best rigid-body dynamics algorithms to be found in a single source. The use of spatial vector notation greatly reduces the volume of algebra which allows systems to be described using fewer equations and fewer quantities. It also allows problems to be solved in fewer steps, and solutions to be expressed more succinctly. In addition algorithms are explained simply and clearly, and are expressed in a compact form. The use of spatial vector notation facilitates the implementation of dynamics algorithms on a computer: shorter, simpler code that is easier to write, understand and debug, with no loss of efficiency. Unique features include: • A comprehensive collection of the best rigid-body dynamics algorithms • Use of spatial (6D) vectors to greatly reduce the volume of algebra, to simplify the treatment of the subject, and to simplify the computer code that implements the algorithms • Algorithms expressed both mathematically and in pseudocode for easy translation into computer programs • Source code for many algorithms available on the internet Rigid Body Dynamics Algorithms is aimed at readers who already have some elementary knowledge of rigid-body dynamics, and are interested in calculating the dynamics of a rigid-body system. This book serves as an algorithms recipe book as well as a guide to the analysis and deeper understanding of rigid-body systems.
A Unified Framework for Rigid Body Dynamics2018-04-16
A Unified Framework for Rigid Body Dynamics A Unified Framework for Rigid Body Dynamics
A constraint-based approach to rigid body dynamics for virtual reality applications2009-10-11
A constraint-based approach to rigid body dynamics for virtual reality applications
rigid-body-dynamic matlab 代码2017-12-07
spatial vector 和 普吕克坐标的解释文档。Rigid Body Dynamics Algorithms 的matlab代码实现，看书公式不懂的时候可以参考matlab代码实现，一目了然。
Rigid-Body Dynamics with Friction and Impact2010-05-31
Kenny论文中的一篇引用，是David E. Stewart的论文。该作者是Velocity-based formulation的开山鼻祖。因此，此文值得一阅。
Rigid Body Dynamics Algorithms2009-08-27
bullet rigid body 学习记录2018-12-26
bullet rigid body 学习记录， 记录了bullet物理引擎中关键的点。
matlab初学代码 Rigid-Body-Dynamics-for-Beginners Sample code in MATLAB for
NovodeX Physics SDK Documentation2017-10-25
The NovodeX Physics SDK unites rigid body dynamics simulation and collision detection in a single easy-to-use package. The Physics SDK builds only on the Foundation SDK, a library of mathematics and ...
computer animation Rigid-Body Forward Kinematics2015-10-17
computer animation Rigid-Body Forward Kinematics
Spacecraft Rigid Body Dynamics（姿态）库块：这个用于模拟（学术目的）的库块计算刚体的姿态动力学-matlab开发2021-06-01
使用此功能库块模拟刚体旋转运动的动力学。 此模块用于仿真（学术）目的，其中提供角速度矢量的时间历史。 该库块是目前正在开发的用于仿真航天器姿态控制系统的库的一部分。
Dynamics Of Multibody Systems 3Rd Ed2009-09-21
Dynamics of Multibody Systems introduces multibody dynamics, with an emphasis on flexible body dynamics. Many common mechanisms such as automobiles, space structures, robots, and micro machines have ...
Explore rigid body dynamics, using real-time 2D and 3D simulations to handle rotation and inertia Apply concepts to real-world problems: model the behavior of boats, airplanes, cars, and sports ...
challenging issues that other books avoid, including lagrangian dynamics, rigid body dynamics, impulse methods, resting contact, linear complementarity problems, deformable bodies, mass-spring systems...
Acceleration Analysis of Rigid Body and Its Application for Ship-Based Stabilized Platform System2020-03-02
Parameter estimation for rigid body after micro Doppler removal based on L-statistical in the radar analysis2021-02-07
Parameter estimation for rigid body after micro Doppler removal based on L-statistical in the radar analysis
OD程序编程教程 入门基础到精通自学教程 视频教程 大小3.7G.zip
OD程序编程教程 入门基础到精通自学教程 视频教程 大小3.7G.zip
搜书大师「原搜书神器」v22.11 for Android 一个触角遍布全网的强大电子书阅读工具.rar
搜书大师「原搜书神器」v22.11 for Android 一个触角遍布全网的强大电子书阅读工具.rar