⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kindyn-doc.sgml

📁 机器人开源项目orocos的源代码
💻 SGML
📖 第 1 页 / 共 5 页
字号:
   <para>These represent the instantaneous velocity of a rigid body. Ingeometrical terms, they are <ulink url="geometry-doc.html">screws</ulink>with a physical interpretation of velocity. A correct interpretationof a<parameter>Twist</parameter> needs <emphasis>two</emphasis> <link linkend="rigid-body-reference-frame">RigidBodyReferenceFrames</link>:the first frame is the &ldquo;moving frame&rdquo;, whose instantaneousvelocity is represented, and the second frame is the&ldquo;fixed frame&rdquo; in which the coordinates of the motionare expressed. </para>   <para>The two most popular representations are either six-dimensionalcoordinate vectors, or four-by-four matrices. There are twocomplementary <link linkend="rigid-body-coordinate-type">types</link>of rigid body velocity, whichdefer in their choice of<link linkend="point-velocity">PointVelocity</link> vector:<itemizedlist><listitem><para><emphasis role="strong">Euler</emphasis>: the PointVelocity is the velocity of the point that instantaneous coincides with the<emphasis>origin</emphasis> of the &ldquo;fixed frame&rdquo;.</para></listitem><listitem><para><emphasis role="strong">Lagrange</emphasis>: the PointVelocity is the velocity of the point that instantaneous coincides with the<emphasis>origin</emphasis> of the &ldquo;moving frame&rdquo;.</para></listitem></itemizedlist>Both interpretations coincide if both frames coincide.   </para><para>In summary, a <parameter>Twist</parameter> object is the unionof a coordinate vector (or matrix), two reference frames, a physicalunits vector, and a<link linkend="rigid-body-coordinate-type">coordinate type</link>indication.   </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="rigid-body-wrench">  <parameter> Wrench, RigidBodyForce</parameter>: </term>  <listitem>   <para>Similar discussion as for a<link linkend="rigid-body-twist">Twist</link>,this time with the physical interpretation of a force acting on arigid body.   </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="rigid-body-acceleration">  <parameter>AccelerationTwist, RigidBodyAcceleration, FrameAcceleration</parameter>: </term>  <listitem>   <para>Similar discussion as for a<link linkend="rigid-body-twist">Twist</link>,with a physical interpretation of an acceleration of a rigid body.   </para>   <para>The Euler and Lagrange definitions for the acceleration of a rigidbody result in <emphasis>different</emphasis> accelerations: the Euleracceleration is the result of the taking the difference of twosubsequent velocities at the <emphasis>same</emphasis> point (theorigin of the &ldquo;fixed frame&rdquo;), while theLagrange acceleration is the difference between the velocities at two<emphasis>different</emphasis> points, (the points where the origin ofthe &ldquo;moving frame&rdquo; happens to be at subsequent instants intime).</para><para>Hence, in contrast to the velocity case, the Euler and Lagrangeaccelerations are different (in general), even if the&ldquo;fixed&rdquo; and &ldquo;moving&rdquo; reference framescoincide.   </para>   <para>Note also that the <parameter>RigidBodyAcceleration</parameter> initself is not sufficient to find the acceleration of every possiblepoint that moves together with the body: for this purpose, one alsoneed to know the <parameter>RigidBodyVelocity</parameter>.   </para>  </listitem> </varlistentry></variablelist><variablelist><title>Symbolic properties:</title> <varlistentry> <term>  <anchor id="rigid-body-reference-frame">  <parameter>RigidBodyReferenceFrame</parameter>: </term>  <listitem>   <para>  a reference frame on the rigid body, with respect to which thecoordinate representations of the rigid body's physical properties areto be interpreted.   </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="rigid-body-dimension">  <parameter>dimension</parameter>: </term>  <listitem>   <para>  1D, 2D, 3D.   </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="rigid-body-coordinate-type">  <parameter>CoordinateType</parameter>: </term>  <listitem>   <para>  Matrix, VectorAngularLinear, VectorLinearAngular,VectorXYZFixedLinear, VectorLinearXYZFixed,VectorXYZMovingLinear, VectorLinearXYZMoving,VectorXYXFixedLinear, VectorLinearXYXFixed,VectorXYXMovingLinear, VectorLinearXYXMoving,&hellip;   </para>   <para>Rigid body pose and motion properties contain, respectively, 1, 3 or 6independent parameters, depending on whether the rigid body is 1D, 2Dor 3D. In the 1D case, the properties of a<link linkend="point-mass">Point</link> and a<link linkend="rigid-body-frame">RigidBody</link> (and <parameter>Frame</parameter>) coincide, and theircoordinate is a scalar, with a symbolic physical unit indicationattached to it. The 2D and 3D cases for rigid bodies can have avariety of coordinate types:<itemizedlist><listitem><para>Matrix: the angular motion component is expressed with a 2-by-2 (2D)or a 3-by-3 (3D) matrix; the linear component is a 2-by-1 (2D) or a3-by-1 vector.</para></listitem><listitem><para>VectorLinearAngular: the total motion is a 3-by-1 (2D) or a 6-by-1(3D) vector, of which the first 2 (2D) or 3 (3D) numbers represent thelinear component, and the last 1 (2D) or 3 (3D) numbers represent theangular component.</para></listitem><listitem><para>VectorAngularLinear: as above, but with angular and linear componentsinterchanged.</para></listitem><listitem><para>VectorLinearXYZFixed: the first components of the numericrepresentation are the linear components; the last componentsrepresent the angular motion, expressed with<emphasis>Euler angles</emphasis> defined by subsequent rotationsabout the <parameter>X</parameter>, <parameter>Y</parameter> and<parameter>Z</parameter> axes of a <emphasis>fixed</emphasis>reference frame. (This convention is also often called <emphasis role="strong">Roll, Pitch, Yaw</emphasis>.)</para><para>There are twelve combinations of rotations about frame axes that arephysically meaningful, because subsequent rotations about twice thesame axis are not independent, and hence insufficient to represent thethree angular degrees of freedom.</para><para>Note that each of these possibilities has a<emphasis role="strong">representational singularity</emphasis>somwhere in its domain. A representational singularity gives problemsin inverting a mapping, and is only due to the<emphasis>choice</emphasis> of representation, and not to a physicalsingularity problem.</para></listitem><listitem><para>VectorXYZFixedLinear: same as above, but the order of linearand angular components is interchanged.</para></listitem><listitem><para>VectorLinearXYZMoving, &hellip;: same as above, but the rotations areabout the axes of subsequent <emphasis>moving</emphasis> referenceframes.</para><para>Again, there are twelve possible alternatives.</para></listitem></itemizedlist>   </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="rigid-body-mass-units">  <parameter>RigidBodyMassUnits</parameter>,  <anchor id="rigid-body-motion-units">  <parameter>RigidBodyMotionUnits</parameter>,  <anchor id="rigid-body-force-units">  <parameter>RigidBodyForceUnits</parameter>,  <anchor id="rigid-body-impedance-units">  <parameter>RigidBodyImpedanceUnits</parameter>: </term>  <listitem>   <para>  gram, kilogram, meters/seconds, Newton, etc., depending on the typeof coordinate vectors or coordinate matrices.   </para>  </listitem> </varlistentry></variablelist></para></section><section id="impedance"><title> Impedance </title><para>&ldquo;Impedance&rdquo; is the collective name of all (physical orvirtual) <emphasis role="strong">relationships between, on the one hand, theforces that two rigid bodies impose on each other, and, on the otherhand, their relative motion.</emphasis>. That is, a relationship of the following kind:force = inertia &times; acceleration +damping &times; velocity + stiffness &times; displacement.</para><para><variablelist><title>Symbolic properties</title> <varlistentry> <term>  <anchor id="impedance-dimension">  <parameter>dimension</parameter>: </term>  <listitem>  <para>  1D, 2D, 3D.  </para>  </listitem> </varlistentry> <varlistentry> <term>  <anchor id="impedance-units">  <parameter>units</parameter>: </term>  <listitem>  <para>  physical units of each impedance element.  </para>  </listitem> </varlistentry></variablelist><variablelist><title>Physical properties</title> <varlistentry> <term><parameter></parameter></term>  <listitem>   <para>   add, scale   </para>  </listitem> </varlistentry></variablelist><variablelist><title>Numeric coordinate representation:</title> <varlistentry> <term>  <anchor id="impedance-coordinates">  <parameter>Damping</parameter>,  <parameter>InverseDamping</parameter>,  <parameter>Stiffness</parameter>,  <parameter>Compliance</parameter>.  <parameter>Inertia</parameter>,  <parameter>InverseInertia</parameter>,  <parameter>Mobility</parameter> (which is a synonym for<parameter>InverseInertia</parameter>): </term>  <listitem>   <para>   floating point numbers, representing the impedance elements,   with a number of values that is consistent with the    dimension and the   <link linkend="impedance-units">physical units</link>.   </para>  </listitem> </varlistentry></variablelist></para></section></section><section id="kinematic-chain-interface"><title> Kinematic chains</title><para>This Section describes programming interfaces that are common to allkinematic chains (such as robots and machine tools). The interfacesrepresent the<emphasis role="strong">transformation relationships</emphasis>between the properties of the chain's joints and the properties of thechain's &ldquo;externally visible&rdquo; Ports. These Ports are mostoften the &ldquo;Tool Centre Point&rdquo; or&ldquo;End-Effector&rdquo;reference frames of the kinematic chain, i.e., those parts of thechain that the designers destined to be used to interact with theenvironment, with tools, or with other kinematic chains. A kinematic chain can have more than one of these referenceframes.</para><para>The motion properties of the Ports as &ldquo;rigid bodies&rdquo; or&ldquo;reference frames&rdquo; are called the<emphasis role="strong">Cartesian</emphasis> properties of thekinematic chain the Ports belong to; those related to the joint forcesand motions are <emphasis role="strong">joint space</emphasis>properties. The interface described in this Section works withany <link linkend="architectures">kinematic family</link>. Theyare independent of the dimensions of both the Cartesian work space andthe joint configuration space; and of the choices of mathematicalrepresentations or physical units. </para><para><ulink url="motion-api.html">Another document</ulink>describes the <emphasis>Cartesian</emphasis> interface of a kinematicchain, <emphasis>i.e.</emphasis> the motion properties of theabove-mentioned externally visible Ports, (mostly) irrespective of thestructure of the chain that drives the Ports. The Cartesian motioninterface is the same as the motion properties of one single rigidbody. </para><section id="kinematic-chain-connectivity"><title>Kinematic chain connectivity</title><para>An object of the <parameter>KinematicChain</parameter> type containsas sub-classes many of the classes described in the previous sections:rigid bodies, reference frames, joints, motors, transmissions,impedances, etc. The specific contents of a<parameter>KinematicChain</parameter> object <emphasis role="strong">depends on the application context</emphasis>;in other words, it is not useful to define <emphasis>the</emphasis>content of the  <parameter>KinematicChain</parameter> class.There will be such a class for every application, and hence, each ofthese <parameter>KinematicChain</parameter> classes should carry a&ldquo;namespace&rdquo; indication of that particular application.<xref linkend="architectures"> gives examples of such particularkinematic chains.</para><para>One important information that an object of the<parameter>KinematicChain</parameter> class must contain (and which isnot further discussed in this document, but in <ulink url="general-dynamics-doc.html">another document</ulink>)is the <emphasis role="strong">connectivity</emphasis> within the chain;i.e., how are the links in the chain constrained with respect to eachother, through kinematic and/or dynamic constraints. This document makes use of the<ulink url="decoupling.html">Object-Port-Connector</ulink>pattern, to encode this <emphasis>connectivity</emphasis> information of<emphasis>general</emphasis> kinematic chains. (For families withefficient kinematic <linklinkend="architectures">architectures</link>, the connectivityinformation is trivially encoded in the sequence of joint values inthe joint coordinate vectors.)For example, in the case of an ideal revolute joint that constrainsthe relative motion of two connected rigid bodies, the&ldquo;Port&rdquo; on each of the connected bodies contains thesymbolic information about the fact that this constraint is a revolutejoint, the physical units of the relative motion parameters, and thenumerical coordinates of the joint axis with respect to the rigid body of the link. The connectorcontains the numerical information about the instantaneous relativemotion, i.e., position, velocity, torque, etc.<figure id="fig-opc-link-joint" float="1" pgwide="0"><title> The Object-Port-Connector pattern applied to a simple kinematic chain.</title><mediaobject><imageobject><imagedata fileref="../pictures/opc-link-joint.png" format="PNG"></imageobject><imageobject>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -