?? kindyn-doc.sgml
字號(hào):
</term> <listitem> <para> idem, for (instantaneous) damping value. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="joint-vector-inverse-damping"> <parameter>JointInverseDamping</parameter>: </term> <listitem> <para> idem, for (instantaneous) inverse damping value. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="joint-vector-inertis"> <parameter>JointInertia</parameter>: </term> <listitem> <para> idem, for (instantaneous) inertia value. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="joint-vector-mobility"> <parameter>JointMobility</parameter>, <parameter>JointInverseInertia</parameter>: </term> <listitem> <para> idem, for (instantaneous) mobility (= inverse inertia) value. </para> </listitem> </varlistentry></variablelist><variablelist><title>Kinematic chain dynamics</title> <varlistentry> <term> <anchor id="chain-inertia-matrix"> <parameter>ChainInertiaMatrix</parameter>: </term> <listitem> <para> This is a square matrix, with a dimension equal to the number of(actuated) joints in the kinematic chain. The matrix represents theinertia of the total chain, as felt by each joint; i.e., element<parameter>i,j</parameter> of the matrix is the force needed at joint<parameter>i</parameter> to give joint <parameter>j</parameter> a unitacceleration. (The exact meaning of a ”unit acceleration”depends on the physical units used for motion and inertia!) </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="chain-damping-matrix"> <parameter>ChainDampingMatrix</parameter>: </term> <listitem> <para> Idem, for damping. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="chain-stiffness-matrix"> <parameter>ChainStiffnessMatrix</parameter>: </term> <listitem> <para>Idem, for stiffness. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="chain-jacobian-matrix"> <parameter>JacobianMatrix</parameter>: </term> <listitem> <para>The 6 × N matrix that maps the N-dimensional coordinate vectorof joint velocities into one 6-dimensional end-effector<link linkend="rigid-body-twist">twist</link>. Hence, the physicalinterpration of each <emphasis>column</emphasis> of the Jacobian matrix isas follows: the i-th column is the end-effector twist generated by applyinga unit joint velocity to the i-th joint and zero velocities to all otherjoints. </para> </listitem> </varlistentry></variablelist><variablelist><title>Control classes</title> <varlistentry> <term> <anchor id="joint-vector-control-gains"> <parameter>JointControlGain</parameter>: </term> <listitem> <para><emphasis>vector</emphasis> with scalar control gains,<emphasis>i.e.</emphasis> for a SISO system that has one control loop for each joint, independently of the other joints. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="chain-control-gains"> <parameter>ChainControlGain</parameter>: </term> <listitem> <para><emphasis>matrix</emphasis> of control gains, <emphasis>i.e.</emphasis> fora MIMO system, in which the gains introduce coupling between the differentjoints in the chain. </para> </listitem> </varlistentry></variablelist></section><section id="joint-physical-methods"><title>Physical methods</title><para>All the above-described entities are often mistaken for“vectors”. However, they are not really members of a linearvector space, but just an <emphasis>ordered collection</emphasis> of 1Dscalars. In addition, all the scalars in a coordinate vector need not havethe same physical units.</para><para>So, it is erroneous to provide method calls that would perform<emphasis>geometric</emphasis> vector space operations. Forexample, it is meaningless to take the “vector in-product” oftwo <parameter>JointForce</parameter>, or look for the“vector” that is “orthogonal” to a joint velocityvector. The list of physically meaningful joint space method calls israther short:<variablelist><title>Physical properties</title> <varlistentry> <term> <parameter>Add</parameter>: </term> <listitem> <para> two joint vectors (or joint-space matrices) of the same type can be added. </para> </listitem> </varlistentry> <varlistentry> <term> <parameter>Set</parameter>: </term> <listitem> <para>the values of a joint vector (or a joint-space matrix) can be set to aspecific value. </para> </listitem> </varlistentry> <varlistentry> <term> <parameter>Get</parameter>: </term> <listitem> <para>read the values of a joint vector (or a joint-space matrix). </para> </listitem> </varlistentry> <varlistentry> <term> <parameter>Scale</parameter>: </term> <listitem> <para>every joint vector (or joint-space matrix) can be scaled by aphysically dimenionless scalar. Transformation with physicallynon-dimensionless scalars has only physical meaning when the transformationis done via the above-mentioned joint space or kinematic chain dynamics. </para> </listitem> </varlistentry></variablelist></para></section></section><section id="motor-space"><title>Motors and transmissions</title><para>The (actuated) joints of a robotic device are connected to motors,often via a <emphasis role="strong">transmission</emphasis> that canhave non-ideal dynamical properties. Hence, the discussion for the<link linkend="joint-space">joints</link> can be completelyrepeated for the <emphasis role="strong">motor</emphasis> and<emphasis role="strong">transmission</emphasis> classes.</para><para>In addition, extra <parameter>JointToMotorTransmission</parameter> and<parameter>MotorToJointTransmission</parameter> classes are needed, todescribe the transmission properties of the transmission between eachset of motor and joint axis. These are often constant floatingpoint numbers, but the <parameter>Set…</parameter> and<parameter>Get…</parameter> methods could need more involvedcalculations. For example, when the mapping between motors andjoints is not one-to-one, or when the transmission is non-ideal.</para></section><section id="points-rigid-bodies-frames"><title>Points, rigid bodies and frames</title><para>This section describes the properties of the static anddynamic relationships between “motion” and force, forpoint masses as well as for rigid bodies. This text uses the term “motion” as a common shorthand for <emphasis role="strong">displacement</emphasis> andits two derivatives <emphasis role="strong">velocity</emphasis> and <emphasis role="strong">acceleration</emphasis>.When needed, it's straightforward to incorporate<emphasis role="strong">small displacements</emphasis> (which have thesame properties as velocities, but other physical units) orhigher derivatives such as <emphasis>jerk</emphasis>.</para><para>The properties of the motion of<emphasis role="strong">reference frames</emphasis> are completely thesame as the motion properties of rigid bodies; therefore, they aretreated in the same Section. A rigid body has some extra properties,in the form of its <emphasis role="strong">dynamics</emphasis>.</para><para>This Section also regularly gives multiple names to the same softwareclasses; the reason is that all these names are used for thesame properties in different application contexts.</para><section id="point-mass"><title>Point mass</title><para><variablelist><title>Numeric coordinate representation:</title> <varlistentry> <term> <anchor id="point-mass-mass"> <parameter>mass</parameter>: </term> <listitem> <para> floating point number. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="point-position"> <parameter>PointPosition</parameter>, <anchor id="point-velocity"> <parameter>PointVelocity</parameter>, <anchor id="point-acceleration"> <parameter>PointAcceleration</parameter>, <anchor id="point-force"> <parameter>PointForce</parameter>. </term> <listitem> <para>These are all point vectors, connected to the moving point mass.The point vector <emphasis>are</emphasis> real physicalvectors (<emphasis>i.e.</emphasis> members of a vector space), in contrastto the joint-space coordinate “vector;”. </para> </listitem> </varlistentry></variablelist><variablelist><title>Physical properties:</title> <varlistentry> <term> <anchor id="point-mass-add-velocity"> <parameter>add</parameter>, <parameter>set</parameter>, <parameter>get</parameter>, <parameter>scale</parameter>: </term> <listitem> <para> straightforward. </para> </listitem> </varlistentry></variablelist><variablelist><title>Symbolic properties:</title> <varlistentry> <term> <anchor id="point-mass-dimension"> <parameter>dimension</parameter>: </term> <listitem> <para> 1D, 2D, 3D. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="point-mass-units"> <parameter>PointPhysicalUnits</parameter>: </term> <listitem> <para> gram, kilogram, meters/seconds, Newton, etc., depending on the typeof point vector. Note that all components in a point vector do have thesame physical units. </para> </listitem> </varlistentry></variablelist></para></section><section id="rigid-body-frame"><title>Rigid body—Reference frame</title><para>Most of the properties in this Section are common to rigid bodies andreference frames; therefore, terminology of both contexts appears. Arigid body has some extra properties, in the form of its<emphasis>dynamics</emphasis>.<variablelist><title>Numeric coordinate representations:</title> <varlistentry> <term> <anchor id="rigid-body-mass"> <parameter>RigidBodyMass</parameter>: </term> <listitem> <para> the total mass of a rigid body. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="rigid-body-pose"> <parameter>RigidBodyPose, RigidBodyPosition, BodyPose, Pose</parameter>: </term> <listitem> <para> the rigid body's position and orientation, with respect to a“world” frame. This pose is defined by choosing a<link linkend="rigid-body-reference-frame">RigidBodyReferenceFrame</link>on the rigid body, and taking that frame's position and orientation. Thechoice of this frame is arbitrary, and each of the following coordinateentities has only meaning with respect to one well-defined frame. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="rigid-body-mass-matrix"> <parameter>MassMatrix</parameter>, <parameter>InertiaMatrix</parameter>: </term> <listitem> <para>the rigid body's inertia matrix, expressed in a known<link linkend="rigid-body-reference-frame">RigidBodyReferenceFrame</link>fixed to the rigid body. </para> <para>The dimensions of the matrix are<parameter>N</parameter>-by-<parameter>N</parameter>, where<parameter>N</parameter> is the <link linkend="rigid-body-dimension">dimension</link> of the space the rigidbody lives in; that is, 1, 2 or 3. </para> </listitem> </varlistentry> <varlistentry> <term> <anchor id="rigid-body-twist"> <parameter> Twist, RigidBodyVelocity, FrameVelocity</parameter>: </term> <listitem>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -