Serveur d'exploration sur les dispositifs haptiques

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach

Identifieur interne : 001159 ( Pmc/Checkpoint ); précédent : 001158; suivant : 001160

Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach

Auteurs : Hsien-I Lin [Taïwan] ; C. S. George Lee

Source :

RBID : PMC:3758602

Abstract

Robot motor capability is a crucial factor for a robot, because it affects how accurately and rapidly a robot can perform a motion to accomplish a task constrained by spatial and temporal conditions. In this paper, we propose and derive a pseudo-index of motor performance (pIp) to characterize robot motor capability with robot kinematics, dynamics and control taken into consideration. The proposed pIp provides a quantitative measure for a robot with revolute joints, which is inspired from an index of performance in Fitts's law of human skills. Computer simulations and experiments on a PUMA 560 industrial robot were conducted to validate the proposed pIp for performing a motion accurately and rapidly.


Url:
DOI: 10.3390/s130708412
PubMed: 23820745
PubMed Central: 3758602


Affiliations:


Links toward previous steps (curation, corpus...)


Links to Exploration step

PMC:3758602

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach</title>
<author>
<name sortKey="Lin, Hsien I" sort="Lin, Hsien I" uniqKey="Lin H" first="Hsien-I" last="Lin">Hsien-I Lin</name>
<affiliation wicri:level="1">
<nlm:aff id="af1-sensors-13-08412"> Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608, Taiwan</nlm:aff>
<country xml:lang="fr">Taïwan</country>
<wicri:regionArea> Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608</wicri:regionArea>
<wicri:noRegion>Taipei 10608</wicri:noRegion>
</affiliation>
</author>
<author>
<name sortKey="George Lee, C S" sort="George Lee, C S" uniqKey="George Lee C" first="C. S." last="George Lee">C. S. George Lee</name>
<affiliation>
<nlm:aff id="af2-sensors-13-08412"> School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907, USA; E-Mail:
<email>csglee@purdue.edu</email>
</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">23820745</idno>
<idno type="pmc">3758602</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3758602</idno>
<idno type="RBID">PMC:3758602</idno>
<idno type="doi">10.3390/s130708412</idno>
<date when="2013">2013</date>
<idno type="wicri:Area/Pmc/Corpus">002470</idno>
<idno type="wicri:Area/Pmc/Curation">002470</idno>
<idno type="wicri:Area/Pmc/Checkpoint">001159</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach</title>
<author>
<name sortKey="Lin, Hsien I" sort="Lin, Hsien I" uniqKey="Lin H" first="Hsien-I" last="Lin">Hsien-I Lin</name>
<affiliation wicri:level="1">
<nlm:aff id="af1-sensors-13-08412"> Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608, Taiwan</nlm:aff>
<country xml:lang="fr">Taïwan</country>
<wicri:regionArea> Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608</wicri:regionArea>
<wicri:noRegion>Taipei 10608</wicri:noRegion>
</affiliation>
</author>
<author>
<name sortKey="George Lee, C S" sort="George Lee, C S" uniqKey="George Lee C" first="C. S." last="George Lee">C. S. George Lee</name>
<affiliation>
<nlm:aff id="af2-sensors-13-08412"> School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907, USA; E-Mail:
<email>csglee@purdue.edu</email>
</nlm:aff>
</affiliation>
</author>
</analytic>
<series>
<title level="j">Sensors (Basel, Switzerland)</title>
<idno type="eISSN">1424-8220</idno>
<imprint>
<date when="2013">2013</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>Robot motor capability is a crucial factor for a robot, because it affects how accurately and rapidly a robot can perform a motion to accomplish a task constrained by spatial and temporal conditions. In this paper, we propose and derive a pseudo-index of motor performance (
<italic>pI
<sub>p</sub>
</italic>
) to characterize robot motor capability with robot kinematics, dynamics and control taken into consideration. The proposed
<italic>pI
<sub>p</sub>
</italic>
provides a quantitative measure for a robot with revolute joints, which is inspired from an index of performance in Fitts's law of human skills. Computer simulations and experiments on a PUMA 560 industrial robot were conducted to validate the proposed
<italic>pI
<sub>p</sub>
</italic>
for performing a motion accurately and rapidly.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="He, X" uniqKey="He X">X. He</name>
</author>
<author>
<name sortKey="Chen, Y" uniqKey="Chen Y">Y. Chen</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Shibata, T" uniqKey="Shibata T">T. Shibata</name>
</author>
<author>
<name sortKey="Abe, T" uniqKey="Abe T">T. Abe</name>
</author>
<author>
<name sortKey="Tanie, K" uniqKey="Tanie K">K. Tanie</name>
</author>
<author>
<name sortKey="Nose, M" uniqKey="Nose M">M. Nose</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Asada, H" uniqKey="Asada H">H. Asada</name>
</author>
<author>
<name sortKey="Liu, S" uniqKey="Liu S">S. Liu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sandoz, P" uniqKey="Sandoz P">P. Sandoz</name>
</author>
<author>
<name sortKey="Ravassard, J C" uniqKey="Ravassard J">J.C. Ravassard</name>
</author>
<author>
<name sortKey="Dembele, S" uniqKey="Dembele S">S. Dembele</name>
</author>
<author>
<name sortKey="Janex, A" uniqKey="Janex A">A. Janex</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Likhachev, M" uniqKey="Likhachev M">M. Likhachev</name>
</author>
<author>
<name sortKey="Arkin, R C" uniqKey="Arkin R">R.C. Arkin</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Dahl, T S" uniqKey="Dahl T">T.S. Dahl</name>
</author>
<author>
<name sortKey="Mataric, M" uniqKey="Mataric M">M. Mataric</name>
</author>
<author>
<name sortKey="Sukhatme, G S" uniqKey="Sukhatme G">G.S. Sukhatme</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wu, C H" uniqKey="Wu C">C.H. Wu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Veitschegger, W" uniqKey="Veitschegger W">W. Veitschegger</name>
</author>
<author>
<name sortKey="Wu, C H" uniqKey="Wu C">C.H. Wu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Spiess, S" uniqKey="Spiess S">S. Spiess</name>
</author>
<author>
<name sortKey="Vincze, M" uniqKey="Vincze M">M. Vincze</name>
</author>
<author>
<name sortKey="Ayromiou, M" uniqKey="Ayromiou M">M. Ayromiou</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wang, D" uniqKey="Wang D">D. Wang</name>
</author>
<author>
<name sortKey="Bai, Y" uniqKey="Bai Y">Y. Bai</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Meyer, D E" uniqKey="Meyer D">D.E. Meyer</name>
</author>
<author>
<name sortKey="Smith, J E K" uniqKey="Smith J">J.E.K. Smith</name>
</author>
<author>
<name sortKey="Kornblum, S" uniqKey="Kornblum S">S. Kornblum</name>
</author>
<author>
<name sortKey="Abrams, R A" uniqKey="Abrams R">R.A. Abrams</name>
</author>
<author>
<name sortKey="Wright, C E" uniqKey="Wright C">C.E. Wright</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Fu, K S" uniqKey="Fu K">K.S. Fu</name>
</author>
<author>
<name sortKey="Gonzalez, R C" uniqKey="Gonzalez R">R.C. Gonzalez</name>
</author>
<author>
<name sortKey="Lee, C S G" uniqKey="Lee C">C.S.G. Lee</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Islam, S" uniqKey="Islam S">S. Islam</name>
</author>
<author>
<name sortKey="Liu, P X" uniqKey="Liu P">P.X. Liu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Corke, P I" uniqKey="Corke P">P.I. Corke</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Corke, P I" uniqKey="Corke P">P.I. Corke</name>
</author>
<author>
<name sortKey="Armstrong Helouvry, B" uniqKey="Armstrong Helouvry B">B. Armstrong-Helouvry</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Luh, J Y S" uniqKey="Luh J">J.Y.S. Luh</name>
</author>
<author>
<name sortKey="Walker, M W" uniqKey="Walker M">M.W. Walker</name>
</author>
<author>
<name sortKey="Paul, R P C" uniqKey="Paul R">R.P.C. Paul</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors (Basel)</journal-id>
<journal-id journal-id-type="iso-abbrev">Sensors (Basel)</journal-id>
<journal-title-group>
<journal-title>Sensors (Basel, Switzerland)</journal-title>
</journal-title-group>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>MDPI</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">23820745</article-id>
<article-id pub-id-type="pmc">3758602</article-id>
<article-id pub-id-type="doi">10.3390/s130708412</article-id>
<article-id pub-id-type="publisher-id">sensors-13-08412</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Lin</surname>
<given-names>Hsien-I</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-13-08412">
<sup>1</sup>
</xref>
<xref rid="c1-sensors-13-08412" ref-type="corresp">
<sup>*</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>George Lee</surname>
<given-names>C. S.</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-13-08412">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="af1-sensors-13-08412">
<label>1</label>
Graduate Institute of Automation Technology, National Taipei University of Technology, Taipei 10608, Taiwan</aff>
<aff id="af2-sensors-13-08412">
<label>2</label>
School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907, USA; E-Mail:
<email>csglee@purdue.edu</email>
</aff>
<author-notes>
<corresp id="c1-sensors-13-08412">
<label>*</label>
Author to whom correspondence should be addressed; E-Mail:
<email>sofin@ntut.edu.tw</email>
; Tel.: +886-2-2771-3343; Fax: +886-2-8773-3217.</corresp>
</author-notes>
<pub-date pub-type="collection">
<month>7</month>
<year>2013</year>
</pub-date>
<pub-date pub-type="epub">
<day>02</day>
<month>7</month>
<year>2013</year>
</pub-date>
<volume>13</volume>
<issue>7</issue>
<fpage>8412</fpage>
<lpage>8430</lpage>
<history>
<date date-type="received">
<day>03</day>
<month>4</month>
<year>2013</year>
</date>
<date date-type="rev-recd">
<day>26</day>
<month>6</month>
<year>2013</year>
</date>
<date date-type="accepted">
<day>28</day>
<month>6</month>
<year>2013</year>
</date>
</history>
<permissions>
<copyright-statement>© 2013 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2013</copyright-year>
<license>
<license-p>
<pmc-comment>CREATIVE COMMONS</pmc-comment>
This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (
<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</ext-link>
).</license-p>
</license>
</permissions>
<abstract>
<p>Robot motor capability is a crucial factor for a robot, because it affects how accurately and rapidly a robot can perform a motion to accomplish a task constrained by spatial and temporal conditions. In this paper, we propose and derive a pseudo-index of motor performance (
<italic>pI
<sub>p</sub>
</italic>
) to characterize robot motor capability with robot kinematics, dynamics and control taken into consideration. The proposed
<italic>pI
<sub>p</sub>
</italic>
provides a quantitative measure for a robot with revolute joints, which is inspired from an index of performance in Fitts's law of human skills. Computer simulations and experiments on a PUMA 560 industrial robot were conducted to validate the proposed
<italic>pI
<sub>p</sub>
</italic>
for performing a motion accurately and rapidly.</p>
</abstract>
<kwd-group>
<kwd>robot motor capability</kwd>
<kwd>pseudo-index of motor performance</kwd>
<kwd>speed-accuracy constraint</kwd>
<kwd>Fitts's law</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec>
<label>1.</label>
<title>Introduction</title>
<p>Robots are widely-used in manufacturing tasks, such as assembly [
<xref rid="b1-sensors-13-08412" ref-type="bibr">1</xref>
], cutting [
<xref rid="b2-sensors-13-08412" ref-type="bibr">2</xref>
], deburring [
<xref rid="b3-sensors-13-08412" ref-type="bibr">3</xref>
],
<italic>etc.</italic>
Without loss of generality, these manufacturing tasks can be decomposed into a sequence of motor tasks that are usually described by spatial and temporal constraints on objects in the environment [
<xref rid="b4-sensors-13-08412" ref-type="bibr">4</xref>
<xref rid="b6-sensors-13-08412" ref-type="bibr">6</xref>
]. Thus, a major problem for a robot to accomplish a task is to satisfy the spatial and temporal constraints of a task. A spatial-temporal constraint requires a robot to perform motor movements accurately in a desired trajectory task. Usually, a robot is asked to achieve a given position with a minimum movement time. However, each robot has its own motor capability according to its mechanical and electrical system and may not be qualified for tasks with strict spatial-temporal constraints.</p>
<p>Robot motor capability is the motor ability for a robot to accomplish a task constrained by spatial and temporal conditions. Traditionally, a robot was evaluated by its accuracy and repeatability [
<xref rid="b7-sensors-13-08412" ref-type="bibr">7</xref>
<xref rid="b10-sensors-13-08412" ref-type="bibr">10</xref>
]. American National Standard defined the static and dynamic performance characteristics for industrial robots and robot systems [
<xref rid="b11-sensors-13-08412" ref-type="bibr">11</xref>
,
<xref rid="b12-sensors-13-08412" ref-type="bibr">12</xref>
]. Throughout the previous work, there has not been a performance metric to measure the robot motor capability of a robot motor system for tasks constrained by spatial and temporal conditions. Thus, there is a need to develop a quantitative measure of a robot motor system.</p>
<p>In this paper, the proposed method for characterizing the motor capability of a robot is inspired by Fitts's law, which is one of the well-known metrics for studying human rapid movements. Fitts's law was revealed by Paul Fitts in 1954, showing the information capacity of a human motor system. In Fitts's law, the motor performance is the ability to consistently produce movements and is described by two main factors—speed and accuracy. Fitts obtained the following equation, often called Fitts's law, as:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">mt</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mtext>w</mml:mtext>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>T
<sub>mt</sub>
</italic>
is the minimum movement time and
<italic>a</italic>
and
<italic>b</italic>
are proportional constants, and Fitts quantitatively defined an index of task difficulty (
<italic>I
<sub>d</sub>
</italic>
) as
<inline-formula>
<mml:math id="mm2">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
(bits/response) to specify the minimum required information for rapidly-aimed movements to accomplish a given task, where D is a target distance and W is a target width defined as the allowable tolerance along the moving direction. Fitts also defined an index of performance,
<italic>I
<sub>p</sub>
</italic>
, to indicate the fixed information capacity:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm3">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">mt</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo></mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
and found that
<italic>I
<sub>p</sub>
</italic>
is relatively constant over a considerable range of movement amplitudes and tolerance limits.</p>
<p>Actually, Fitts's equation is a special case of the quasi-power function with a varying exponent,
<italic>n</italic>
, as
<italic>n</italic>
<bold>→ ∞</bold>
[
<xref rid="b13-sensors-13-08412" ref-type="bibr">13</xref>
]. The quasi-power function with exponent
<bold>
<italic>n</italic>
</bold>
is shown as
<inline-formula>
<mml:math id="mm4">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>D</mml:mi>
<mml:mi>W</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>n</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
. When
<italic>n</italic>
<bold></bold>
1, the quasi-power function becomes a linear function as:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm5">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mi>D</mml:mi>
<mml:mi>W</mml:mi>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<xref rid="FD3" ref-type="disp-formula">Equation (3)</xref>
is re-written as a linear speed-accuracy relationship:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm6">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
<mml:mo></mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>a'</italic>
and
<italic>b'</italic>
are proportional constants, and the index of performance (
<italic>I
<sub>p</sub>
</italic>
) of Fitts s law in
<xref rid="FD3" ref-type="disp-formula">Equation (3)</xref>
is defined as
<inline-formula>
<mml:math id="mm7">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
by ignoring the constant,
<italic>α</italic>
<sub>1</sub>
Thus,
<inline-formula>
<mml:math id="mm8">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
in
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
indicates the index of performance, as well, because smaller
<italic>b</italic>
<sub>1</sub>
results in smaller
<italic>T
<sub>mt</sub>
</italic>
and smaller
<italic>b'</italic>
if
<italic>D</italic>
and
<italic>W</italic>
are fixed in both equations.</p>
<p>The paper proposes the method to derive the speed-accuracy constraint of a robot system the same as
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
, and therefore, the pseudo-index of motor performance (
<italic>pI
<sub>p</sub>
</italic>
) of the robot system is defined as
<inline-formula>
<mml:math id="mm9">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
in
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
. The speed-accuracy constraint is characterized with robot kinematics, dynamics and control taken into consideration. Thus, the mathematical derivations of
<italic>pI
<sub>p</sub>
</italic>
are applicable to other robots with revolute joints. Furthermore,
<italic>pI
<sub>p</sub>
</italic>
is a quantitative measure for the motor capability of a robot. The basic concept of our approach is to treat a robot motor system as an information channel and determine the robot motor capability. Since the information capability of a channel is affected by the inaccuracy of kinematics and dynamics models, we can quantitatively measure it by the variability of movements that a robot aims to produce. To verify the proposed method, computer simulations and experiments on PUMA 560 and 260 industrial robots are conducted to verify the validity of the proposed approach in understanding the motor capability of a robot motor system.</p>
<p>This paper is organized as follows. In Section II, we formulate a robot task as an optimization problem constrained by the proposed speed-accuracy constraint derived from the kinematics, dynamics and control of a robot motor system. In Section III, we present the proposed pseudo-index of motor performance (
<italic>pI
<sub>p</sub>
</italic>
) derived from the speed-accuracy constraint and show how
<italic>pI
<sub>p</sub>
</italic>
is utilized to evaluate the motor capability of a robot. In Section IV, computer simulations and experiments on PUMA 560 and 260 industrial robots are presented. Discussions and conclusions are summarized in Section V.</p>
</sec>
<sec>
<label>2.</label>
<title>Speed-Accuracy Constrained Optimization</title>
<sec>
<label>2.1.</label>
<title>Problem Formulation</title>
<p>We formulate a robot task as an optimization problem subject to spatial and temporal constraints. The proposed speed-accuracy constraint characterizes the relationship between the robot joint speed and the Cartesian position error of the end-effector of the robot. By utilizing the proposed speed-accuracy constraint, the optimization problem is solved without violating the robot motor capability. We first formulate a basic rapid robot movement that moves its end-effector to reach a desired joint location,
<bold>
<italic>θ</italic>
</bold>
= [
<italic>θ</italic>
<sub>1</sub>
,
<italic>θ
<sub>2</sub>
</italic>
,…,
<italic>θ
<sub>i</sub>
</italic>
,…,
<italic>θ
<sub>n</sub>
</italic>
]
<italic>
<sup>T</sup>
</italic>
, with an allowable tolerance,
<italic>ε
<sub>x</sub>
, ε
<sub>y</sub>
</italic>
and
<italic>ε
<sub>z</sub>
</italic>
(
<italic>i.e.</italic>
, spatial constraint), in the Cartesian space by the maximal linear speed (
<italic>i.e.</italic>
, temporal constraint), where
<italic>N</italic>
is the number of degrees of freedom (DOF) and the superscript,
<italic>T</italic>
, denotes a matrix transpose. Here, we need to determine the joint velocities that introduce the maximal linear speed of the end-effector. The joint velocities are represented by a vector as
<bold>
<italic>θ̇</italic>
</bold>
= [
<italic>θ̇</italic>
<sub>1</sub>
,
<italic>θ̇</italic>
<sub>2</sub>
, …,
<italic>θ̇
<sub>i</sub>
</italic>
,… ,
<italic>θ</italic>
˙
<italic>
<sub>n</sub>
</italic>
]
<italic>
<sup>T</sup>
</italic>
, and the basic rapid movement of the end-effector of a robot is formulated as an optimization problem as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm10">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>max</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo></mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>subject to</mml:mtext>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mo mathvariant="italic">ϵ</mml:mo>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mo mathvariant="italic">ϵ</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mo mathvariant="italic">ϵ</mml:mo>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>and</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="2.6em"></mml:mspace>
<mml:mn>0</mml:mn>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mtext>for</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mi>to</mml:mi>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
where ‖ · ‖
<sub>2</sub>
is the Euclidean-norm operation,
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) is the 3xN Jacobian matrix relating the joint velocity to the Cartesian velocity of the end-effector,
<italic>d
<sub>x</sub>
, d
<sub>y</sub>
</italic>
and
<italic>d
<sub>z</sub>
</italic>
are the respective Cartesian position errors,
<italic>ε
<sub>x</sub>
, ε
<sub>y</sub>
</italic>
and
<italic>ε
<sub>z</sub>
</italic>
≥ 0 are the allowable position errors and
<inline-formula>
<mml:math id="mm11">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
is the maximum joint,
<italic>i</italic>
, velocity that can be driven. Obviously,
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sup>max</sup>
</italic>
in
<xref rid="FD5" ref-type="disp-formula">Equation (5)</xref>
may not be the optimal solution to the problem, because it may violate the spatial constraint described by
<italic>ε
<sub>x</sub>
, ε
<sub>y</sub>
</italic>
and
<italic>ε
<sub>z</sub>
</italic>
. Thus, both the spatial and temporal constraints must be satisfied simultaneously in this optimization. To consider these constraints, an appropriate speed-accuracy constraint must be derived.</p>
</sec>
<sec>
<label>2.2.</label>
<title>Robot Speed-Accuracy Constraint</title>
<p>Since the spatial inaccuracy of the end-effector of a robot with revolute joints is caused by the inaccuracy of robot kinematics and dynamics models and the disturbance of the environment [
<xref rid="b8-sensors-13-08412" ref-type="bibr">8</xref>
], we represent the Cartesian position error of the end-effector of an
<italic>N</italic>
-DOF manipulator (e.g., a PUMA robot) with revolute joints by a linear model expressed as:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm12">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext>d</mml:mtext>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mtext>a</mml:mtext>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>a</mml:mi>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>α</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>β</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>β</mml:mi>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>d
<sub>x</sub>
, d
<sub>y</sub>
</italic>
and
<italic>d
<sub>z</sub>
</italic>
are the respective Cartesian position errors along each coordinate axis,
<inline-formula>
<mml:math id="mm13">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm14">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm15">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>α</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm16">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>β</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
are the 3 x N kinematic-error matrices [
<xref rid="b8-sensors-13-08412" ref-type="bibr">8</xref>
],
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) is the 3 x N Jacobian matrix,
<bold>
<italic>θ</italic>
</bold>
is an
<italic>N</italic>
x 1 joint position vector, (d, a,
<italic>α, β</italic>
) are the D-Hparameters [
<xref rid="b14-sensors-13-08412" ref-type="bibr">14</xref>
] in an
<italic>N</italic>
x 1 vector form, (Δd, Δa, Δ
<italic>α, </italic>
Δ
<italic>β</italic>
) denote small changes in the corresponding parameters and
<bold>
<italic>C</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) is a 3 x 1 vector, summing all the kinematic errors, due to the D-H parameters (d, a,
<italic>α, β</italic>
); this is due to the mechanical tolerance in manufacturing the links and joints of the robot.</p>
<p>To derive Δ
<bold>
<italic>θ</italic>
</bold>
in
<xref rid="FD6" ref-type="disp-formula">Equation (6)</xref>
, we assume that the widely-used “computed torque” technique with a proportional-plus-derivative (PD) controller [
<xref rid="b15-sensors-13-08412" ref-type="bibr">15</xref>
] is used. Thus, each robot joint is modeled as a single-input-single-output system with disturbance from other joints. The coupling effects from other links are considered as a disturbance to the robot. A PD control is utilized to servo the manipulator system to track the desired trajectory, and the feedforward torques along the actual trajectory are computed to compensate for the nonlinear disturbance. A block diagram showing the PD control scheme for joint,
<italic>i</italic>
, is shown in
<xref rid="f1-sensors-13-08412" ref-type="fig">Figure 1</xref>
.</p>
<p>In
<xref rid="f1-sensors-13-08412" ref-type="fig">Figure 1</xref>
,
<inline-formula>
<mml:math id="mm17">
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm18">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm19">
<mml:mrow>
<mml:msubsup>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm20">
<mml:mrow>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
are, respectively, the computed counterparts of the actual effective inertia terms,
<italic>J
<sub>ij</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
), effective damping coefficient, f
<sub>i</sub>
, gravity terms,
<italic>G
<sub>i</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
), and Coulomb friction,
<italic>V
<sub>i</sub>
</italic>
, at the actual shaft of joint,
<italic>i</italic>
, of the manipulator.
<italic>n
<sup>i</sup>
</italic>
is the gear ratio, armature resistance,
<inline-formula>
<mml:math id="mm21">
<mml:mrow>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, motor constant,
<inline-formula>
<mml:math id="mm22">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, and the back electromagnetic force constant,
<inline-formula>
<mml:math id="mm23">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, is known dc motor parameters for joint,
<italic>i</italic>
.
<inline-formula>
<mml:math id="mm24">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm25">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
are, respectively, position and velocity feedback gains of the controller. Their values are chosen subject to the mechanical resonant frequency constraint of the manipulator.
<inline-formula>
<mml:math id="mm26">
<mml:mrow>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
and
<italic>θ
<sub>i</sub>
</italic>
(
<italic>s</italic>
) are, respectively, the desired and actual angular displacement of joint,
<italic>i</italic>
.
<inline-formula>
<mml:math id="mm27">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
is the disturbance in Laplace transform and
<inline-formula>
<mml:math id="mm28">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
is the computed feedforward torque compensating for the disturbance.</p>
<p>In order not to excite the mechanical resonant frequency of the manipulator, the undamped natural frequency is set to no more than one-half of the structure resonant frequency. Complying to this constraint, we can obtain the following relation and the upper bound of
<inline-formula>
<mml:math id="mm29">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>:</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm30">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
where
<inline-formula>
<mml:math id="mm31">
<mml:mrow>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm32">
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
are, respectively, the measured structural resonant frequency and inertia of joint,
<italic>i</italic>
, at a known location. Since
<xref rid="f1-sensors-13-08412" ref-type="fig">Figure 1</xref>
is a second-order system, the damping coefficient, ζ
<italic>
<sub>i</sub>
</italic>
, of the system can be obtained as:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm33">
<mml:mrow>
<mml:msub>
<mml:mi>ζ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mroot>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mroot>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
In order to avoid the oscillatory underdamped response, ζ
<italic>
<sub>i</sub>
</italic>
is set to ≥1. Thus,
<inline-formula>
<mml:math id="mm34">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
becomes:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm35">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mroot>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mroot>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
Because the actual
<italic>J
<sub>ii</sub>
</italic>
and
<italic>f
<sub>i</sub>
</italic>
are usually not available, we use their computed counterparts,
<inline-formula>
<mml:math id="mm36">
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm37">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
, from the manipulator dynamic model. Substituting
<xref rid="FD7" ref-type="disp-formula">Equation (7)</xref>
into
<xref rid="FD10" ref-type="disp-formula">Equation (10)</xref>
, we obtain
<inline-formula>
<mml:math id="mm38">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
as:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm39">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>υ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>To determine Δ
<bold>
<italic>θ</italic>
</bold>
in
<xref rid="FD6" ref-type="disp-formula">Equation (6)</xref>
, we utilize
<xref rid="f1-sensors-13-08412" ref-type="fig">Figure 1</xref>
to evaluate the steady-state error of
<italic>θ</italic>
by a velocity-related joint position command,
<italic>θ
<sub>d</sub>
</italic>
(
<italic>t</italic>
) =
<italic>At</italic>
, where
<italic>A</italic>
is the amplitude of the input. The steady-state error of
<italic>θi</italic>
is derived as:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm40">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mo></mml:mo>
<mml:mi>j</mml:mi>
</mml:munder>
<mml:mrow>
<mml:munder>
<mml:mo></mml:mo>
<mml:mi>k</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mtext>H</mml:mtext>
<mml:mrow>
<mml:mtext mathvariant="italic">ijk</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
where
<inline-formula>
<mml:math id="mm41">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ijk</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ijk</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ijk</mml:mtext>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm42">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm43">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
and Δ
<bold>
<italic>H</italic>
</bold>
<italic>
<sub>i</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) is an
<italic>N</italic>
x
<italic>N</italic>
symmetric matrix, whose elements are Δ
<italic>H
<sub>ijk</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
), where
<italic>j</italic>
and
<italic>k</italic>
are integers and 1 ≤ j ≤
<italic>N</italic>
and 1 ≤
<italic>k</italic>
<italic>N</italic>
.</p>
<p>Replacing the elements of Δ
<bold>
<italic>θ</italic>
</bold>
in
<xref rid="FD6" ref-type="disp-formula">Equation (6)</xref>
with Δ
<italic>θ
<sub>i</sub>
</italic>
in
<xref rid="FD11" ref-type="disp-formula">Equation (11)</xref>
, we obtain the Cartesian position errors of the end-effector of the robot in the form of speed-accuracy constraint as:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm44">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:msup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</disp-formula>
where Δ
<bold>
<italic>P</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) is an
<italic>N</italic>
x 1 vector and Δ
<bold>
<italic>P</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = [Δ
<italic>G
<sub>1</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) + Δ
<italic>V
<sub>1</sub>
</italic>
,…, Δ
<italic>G
<sub>N</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) + Δ
<italic>V
<sub>N</sub>
</italic>
] = Δ
<italic>G</italic>
(
<bold>
<italic>θ</italic>
</bold>
)+Δ
<italic>V</italic>
, where Δ
<italic>G</italic>
= [Δ
<italic>G</italic>
<sub>1</sub>
(
<bold>
<italic>θ</italic>
</bold>
),…, Δ
<italic>G
<sub>N</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)]
<italic>
<sup>T</sup>
</italic>
and Δ
<bold>
<italic>V</italic>
</bold>
= [Δ
<italic>V</italic>
<sub>1</sub>
,…, Δ
<italic>V
<sub>N</sub>
</italic>
]
<italic>
<sup>T</sup>
</italic>
,
<bold>
<italic>K</italic>
</bold>
<italic>is</italic>
an
<italic>N</italic>
×
<italic>N</italic>
diagonal matrix, whose elements are
<inline-formula>
<mml:math id="mm45">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
,…,
<inline-formula>
<mml:math id="mm46">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mi>N</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>J</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>N</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ω</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>N</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) is an
<italic>N</italic>
<sup>2</sup>
x
<italic>N</italic>
<sup>2</sup>
matrix, and Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = diag{Δ
<bold>
<italic>H</italic>
</bold>
<sub>1</sub>
(
<bold>
<italic>θ</italic>
</bold>
),… Δ
<bold>
<italic>H</italic>
</bold>
<italic>
<sub>n</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)},
<bold>Φ̇</bold>
is an
<italic>N</italic>
<sup>2</sup>
x
<italic>N</italic>
matrix and
<inline-formula>
<mml:math id="mm47">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
<mml:mo>'</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mo></mml:mo>
<mml:mo>;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>N</mml:mi>
<mml:mo>'</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
, where
<inline-formula>
<mml:math id="mm48">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo></mml:mo>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
for
<italic>i</italic>
= 1 to
<italic>N</italic>
, and
<bold>Θ̇</bold>
is an
<italic>N</italic>
<sup>2</sup>
x 1 matrix and
<inline-formula>
<mml:math id="mm49">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>N</mml:mi>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
, where
<inline-formula>
<mml:math id="mm50">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
for
<italic>i</italic>
= 1 to
<italic>N</italic>
.</p>
<p>From
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
, it shows that when the joint speed increases (
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sub>new</sub>
</italic>
=
<italic>κ</italic>
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sub>old</sub>
, κ</italic>
≥ 1) and the desired joint positions,
<italic>θ</italic>
, are fixed, a larger absolute Cartesian position error (|
<italic>d
<sub>x</sub>
</italic>
|, |
<italic>d
<sub>y</sub>
</italic>
| and |d
<sub>z</sub>
|) will be generated. Thus,
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
indicates the trade-off relationship between the spatial accuracy and the joint speed.</p>
</sec>
</sec>
<sec>
<label>3.</label>
<title>Pseudo-Index of Performance for a Robot System</title>
<p>The purpose of determining the pseudo-index of the performance,
<bold>
<italic>pI</italic>
</bold>
<italic>
<sub>p</sub>
</italic>
, of a robot motor system is to obtain a quantitative measure. After the speed-accuracy constraint is obtained, we can derive and calculate the index of the performance,
<bold>
<italic>pI</italic>
</bold>
<italic>
<sub>p</sub>
</italic>
, of a robot motor system from this constraint. Thus, we define the pseudo-index of the performance (
<italic>pI
<sub>p</sub>
</italic>
) of the linear speed-accuracy equation in
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
as
<inline-formula>
<mml:math id="mm51">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
to quantitatively indicate the amount of information capacity of a robot motor system. According to the speed-accuracy constraint (see
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
),
<bold>
<italic>C</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) +
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)
<bold>
<italic>K</italic>
</bold>
Δ
<bold>
<italic>P</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) can be referred to as
<italic>a'</italic>
in
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
. The joint velocity command is expressed as
<bold>
<italic>θ̇</italic>
</bold>
<sub>d</sub>
=
<italic>ρ</italic>
<bold>
<italic>θ̇</italic>
</bold>
<sub>0</sub>
, where
<bold>
<italic>θ̇</italic>
</bold>
<italic>0</italic>
is a reference joint velocity vector and
<italic>ρ</italic>
> 0 is a scale factor to change the joint velocities. We can express
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
in the form of
<xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>
as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm52">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
<mml:msup>
<mml:mi>ρ</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>pI
<sub>px</sub>
, pI
<sub>py</sub>
</italic>
and
<italic>pI
<sub>pz</sub>
</italic>
are the pseudo-indices of performance on the
<italic>x</italic>
-,
<italic>y</italic>
- and z-axis of the Cartesian space, respectively, and are derived as:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm53">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mtext mathvariant="bold-italic">H</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.2em"></mml:mspace>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
where
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>x</sub>
</italic>
,
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>y</sub>
</italic>
and
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>z</sub>
</italic>
are the unit vectors along the
<italic>x-, y</italic>
- and z-axis, respectively, Φ̇
<sub>0</sub>
is an N
<sup>2</sup>
x N matrix and
<inline-formula>
<mml:math id="mm54">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>2</mml:mn>
<mml:mo>'</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:mo></mml:mo>
<mml:mo>;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>N</mml:mi>
<mml:mo>'</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
, where
<inline-formula>
<mml:math id="mm55">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
for
<italic>i</italic>
= 1 to
<italic>N</italic>
, and
<bold>Θ̇</bold>
<sub>0</sub>
is an N
<sup>2</sup>
x 1 matrix and
<inline-formula>
<mml:math id="mm56">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>1</mml:mn>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>N</mml:mi>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
, where
<inline-formula>
<mml:math id="mm57">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo>"</mml:mo>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
for
<italic>i</italic>
= 1 to
<italic>N</italic>
.</p>
<p>From
<xref rid="FD13" ref-type="disp-formula">Equation (13)</xref>
, we obtain the quadratic function of the Cartesian position errors, (
<italic>d
<sub>x</sub>
, d
<sub>y</sub>
, d
<sub>z</sub>
</italic>
), with respect to the scalar of the joint velocity,
<italic>ρ</italic>
.
<xref rid="f2-sensors-13-08412" ref-type="fig">Figure 2</xref>
illustrates the obtained quadratic function of the Cartesian position error of the end-effector of a robot along the x-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to the scalar of the joint speed (
<italic>ρ</italic>
), where the intercept on the axis of the Cartesian position error of the end-effector of a robot is
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>x</sub>
<sup>T</sup>
</italic>
[
<bold>
<italic>C</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) +
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)
<bold>
<italic>K</italic>
</bold>
Δ
<bold>
<italic>P</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
)]. From
<xref rid="f2-sensors-13-08412" ref-type="fig">Figure 2</xref>
and
<xref rid="FD13" ref-type="disp-formula">Equation (13)</xref>
, it is shown that a robot is capable of performing more accurately with a larger
<italic>pI
<sub>p</sub>
</italic>
when the joint velocities,
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
, are fixed (
<italic>i.e., ρ</italic>
is fixed). In other words, when the Cartesian position tolerance, e, of a given task is fixed (
<italic>i.e., d
<sub>x</sub>
</italic>
is fixed), a robot with a larger
<italic>pI
<sub>p</sub>
</italic>
is capable of accomplishing the task with faster joint velocities. Interestingly, the pseudo-index of performance is advantageous to show the trade-off relationship between speed and accuracy, if we assume that there exists a fixed amount of information capacity of a robot motor system.</p>
</sec>
<sec>
<label>4.</label>
<title>Computer Simulations & Experimental Work</title>
<p>Computer simulations were performed by MATLAB Toolbox [
<xref rid="b16-sensors-13-08412" ref-type="bibr">16</xref>
], and experiments were performed on 6-degree-of-freedom PUMA 560 and 260 robots [
<xref rid="b14-sensors-13-08412" ref-type="bibr">14</xref>
] with revolute joints to validate the proposed speed-accuracy optimization and demonstrate that the motor capability can be measured by the proposed pseudo-index of performance (
<italic>pI
<sub>p</sub>
</italic>
) on a rapid-moving task. In the experiments, the Cartesian position error was with respect to the 2D space, because we followed Fitt's experiments, where the position error was only measured in the 2D space. The Cartesian position error on the last dimension (z-axis) would not affect that on the other two dimensions (x- and y-axis), because they are independent.</p>
<sec>
<label>4.1.</label>
<title>Simulation on a PUMA 560 Robot</title>
<p>
<xref rid="f3-sensors-13-08412" ref-type="fig">Figure 3</xref>
shows the scheme of our task. The robot was asked to move its end-effector to hit a target position (
<italic>G</italic>
) and stop at an end position (
<italic>E</italic>
) by various configurations of movement speed (
<italic>D/T
<sub>mt</sub>
</italic>
) and distance (
<italic>D</italic>
). With each configuration of movement speed and distance, this resulted in a Cartesian position error (
<italic>W</italic>
) at the end-effector.</p>
<p>In this simulation, a PUMA 560 industrial robot was asked to move with the maximum speed to hit the target position within the spatial tolerances,
<italic>σ
<sub>x</sub>
</italic>
and
<italic>σ
<sub>y</sub>
</italic>
, which denote the maximum position tolerances along the
<italic>x</italic>
- and y-axis, respectively. For simplicity, the robot only used joints 1, 2, and 3 to perform the task. Based on the task description, we formulated the task as an optimization problem subject to the spatial-accuracy constraints for maximizing the robot speed:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm58">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>max</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo></mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>subject to</mml:mtext>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mtext>and</mml:mtext>
<mml:mspace width="0.2em"></mml:mspace>
<mml:mn>0</mml:mn>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
where
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) is the Jacobian matrix,
<italic>d
<sub>x</sub>
</italic>
and
<italic>d
<sub>y</sub>
</italic>
are the Cartesian position errors of the end-effector of the robot along the
<italic>x</italic>
- and
<italic>y</italic>
-axis, and
<inline-formula>
<mml:math id="mm59">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
is the maximal velocity of joint,
<italic>i</italic>
(
<italic>i</italic>
= 1, 2, 3), that can be driven. The parameters of the PUMA 560 robot were from [
<xref rid="b17-sensors-13-08412" ref-type="bibr">17</xref>
]. We set the distance from the tip of the pin to the coordinate frame of the sixth joint to 0.1 m.</p>
<p>First, we evaluated how the Cartesian position error was affected by Δ
<bold>
<italic>m</italic>
</bold>
, Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) and Δ
<bold>
<italic>V</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) under a fixed joint distance. We used joint-interpolated motion planning for the robot. Simply, we subtracted
<italic>C</italic>
(
<italic>θ</italic>
) from the Cartesian position errors of the end-effector of the robot. The joint distance,
<italic>θ
<sub>diff</sub>
</italic>
, between the initial and target joint positions was [π/4,π/4, -π /4, 0, 0, 0], and the execution time for all the joints was set to
<italic>T
<sub>mt</sub>
</italic>
. Thus, the joint velocities were represented as
<italic>θ
<sub>diff</sub>
/T
<sub>mt</sub>
</italic>
(rad/sec). If we set
<bold>
<italic>θ̇</italic>
</bold>
as the nominal joint velocities finishing
<italic>θ
<sub>diff</sub>
</italic>
by one second, the joint velocities were expressed as
<italic>ρ</italic>
·;
<bold>
<italic>θ̇</italic>
</bold>
, where
<italic>ρ</italic>
= 1
<italic>/</italic>
|
<italic>T
<sub>mt</sub>
</italic>
|. The joint velocity, acceleration and the inverse dynamics of the robot were calculated by the recursive Newton-Euler equations [
<xref rid="b14-sensors-13-08412" ref-type="bibr">14</xref>
,
<xref rid="b18-sensors-13-08412" ref-type="bibr">18</xref>
], and the Cartesian position error of the end-effector of the robot was calculated by
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
<italic>θ</italic>
and verified by
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
.</p>
<p>When the errors between the computed and actual masses,
<inline-formula>
<mml:math id="mm60">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo></mml:mo>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mi>c</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, as (±0.1%), (±0.2%),… and (±1%), were assumed as the cause of the Cartesian position errors, we simulated four cases of a combination of Δ
<bold>
<italic>V</italic>
</bold>
(Coulomb friction) and Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) (errors between the actual and computed gravity terms). Their results are explained and discussed as follows:
<list list-type="simple">
<list-item>
<label>Case (1)</label>
<p>Δ
<bold>
<italic>V</italic>
</bold>
= 0 and Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = 0: In this case, the simulation results showed that the Cartesian position errors of the end-effector of the robot (
<italic>d
<sub>x</sub>
</italic>
=
<italic>d
<sub>y</sub>
</italic>
=
<italic>d
<sub>z</sub>
</italic>
= 0) almost do not exist. Apparently, they can be validated by
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
, because of Δ
<italic>P</italic>
(
<bold>
<italic>θ</italic>
</bold>
) = 0 (Δ
<bold>
<italic>V</italic>
</bold>
= 0, Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = 0 and Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = 0).</p>
</list-item>
<list-item>
<label>Case (2)</label>
<p>Δ
<bold>
<italic>V</italic>
</bold>
≠ 0 and Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) = 0: In this case, the simulation results of the Cartesian position errors along the
<italic>x</italic>
- and
<italic>y</italic>
-axis (
<italic>d
<sub>x</sub>
</italic>
and
<italic>d
<sub>y</sub>
</italic>
) were shown by the blue dots with Δ
<italic>m</italic>
= 0 in
<xref rid="f4-sensors-13-08412" ref-type="fig">Figure 4</xref>
. The Cartesian position errors were only due to Δ
<bold>
<italic>V</italic>
</bold>
of
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
.</p>
</list-item>
<list-item>
<label>Case (3)</label>
<p>Δ
<bold>
<italic>V</italic>
</bold>
= 0 and Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) ≠ 0: In this case, the simulation results showed that when
<italic>ρ</italic>
= 1/2 and Δ
<italic>m</italic>
was changed from 1.0% to -1.0%, the Cartesian position errors were shown by the line of red crosses in
<xref rid="f4-sensors-13-08412" ref-type="fig">Figure 4</xref>
and caused by Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) and Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) of
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
. On the other hand, when the joint velocities were changed by
<italic>ρ</italic>
(1/2, 1/4, 1/6),
<xref rid="f5-sensors-13-08412" ref-type="fig">Figure 5</xref>
shows that the slope of the line showing the Cartesian position errors was also changed. It shows that as
<italic>ρ</italic>
= 1/6 (gray line, lowest speed), the Cartesian position errors were least (highest accuracy). In addition, when Δ
<italic>m</italic>
was fixed,
<xref rid="f5-sensors-13-08412" ref-type="fig">Figure 5</xref>
shows that the Cartesian position errors caused by different
<italic>ρ</italic>
were in a linear line (
<italic>G
<sub>i</sub>
</italic>
pink line), and the increment of the Cartesian position errors was proportional to
<italic>ρ</italic>
<sup>2</sup>
, because
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)
<bold>
<italic>K</italic>
Φ̇</bold>
<italic>
<sup>T</sup>
</italic>
Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
)
<bold>Θ̇</bold>
in
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
indicates that the Cartesian position errors were proportional to (
<bold>
<italic>θ̇</italic>
</bold>
<sup>2</sup>
) (
<italic>i.e., ρ</italic>
<sup>2</sup>
) when Δ
<italic>m</italic>
was fixed. However, none of the pink lines in
<xref rid="f5-sensors-13-08412" ref-type="fig">Figure 5</xref>
did passed through the origin, but a point
<italic>G
<sub>i</sub>
</italic>
, (
<italic>i</italic>
= …, −2, −1,1, 2, …). These results were clearly shown by
<xref rid="FD12" ref-type="disp-formula">Equation (12)</xref>
, because the Cartesian position errors resulted from Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) and Δ
<italic>H</italic>
(
<bold>
<italic>θ</italic>
</bold>
), but when the joint velocities were set to zero, the Cartesian position errors were only due to Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) (
<italic>i.e., Gi</italic>
).</p>
</list-item>
<list-item>
<label>Case (4)</label>
<p>Δ
<bold>
<italic>V</italic>
</bold>
≠ 0 and Δ
<bold>
<italic>G</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) ≠ 0: This case has the same results as Case 3, except the lines showing the Cartesian position errors caused by fixed
<italic>ρ</italic>
did not pass through the origin.</p>
</list-item>
</list>
</p>
<p>Then, we evaluated the
<italic>pI
<sub>p</sub>
</italic>
of a PUMA 560 robot with various Δ
<italic>m's</italic>
and Cartesian distances, where Δ
<italic>m</italic>
=
<italic>m − m
<sup>c</sup>
, m</italic>
were the actual masses and
<italic>m
<sup>c</sup>
</italic>
were the computed masses. In other words, a robot with a different Δ
<italic>m</italic>
had a different motor capability, because
<xref rid="FD14" ref-type="disp-formula">Equation (14)</xref>
shows that the pseudo-index of performance is affected by Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) (
<italic>i.e.</italic>
, Δ
<italic>m</italic>
). We set the Cartesian distances between the start (
<italic>S</italic>
) and the target (
<italic>G</italic>
) positions to 0.0508, 0.1016, 0.2032 and 0.4064 m. The four movement velocities (
<italic>D/T
<sub>mt</sub>
</italic>
m/sec) for a specified distance (
<italic>D</italic>
) were set in
<xref rid="t1-sensors-13-08412" ref-type="table">Table 1</xref>
. To investigate the Cartesian position errors of the end-effector of the PUMA 560 robot caused by the changes of the joint velocities, we subtracted the velocity-independent terms,
<bold>
<italic>C</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) +
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
)
<bold>
<italic>K</italic>
</bold>
Δ
<bold>
<italic>P</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
), from the Cartesian position errors at the target position. For
<italic>D</italic>
= 0.0508, 0.1016, 0.2032 and 0.4064 (m), the joint velocities were represented as
<inline-formula>
<mml:math id="mm61">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>ρ</mml:mi>
<mml:mo></mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
, where
<italic>θ̇</italic>
<sub>0</sub>
is the nominal joint velocities finishing
<inline-formula>
<mml:math id="mm62">
<mml:mrow>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
by one second,
<italic>ρ</italic>
is a scalar and its value is
<italic>ρ</italic>
= 1
<italic>/</italic>
|
<italic>T
<sub>mt</sub>
</italic>
|. We changed the joint velocities by changing
<italic>ρ</italic>
with a 0.01 incremental value. The joint velocity, joint acceleration and the inverse dynamics of the robot were calculated by the recursive Newton-Euler equations [
<xref rid="b14-sensors-13-08412" ref-type="bibr">14</xref>
,
<xref rid="b18-sensors-13-08412" ref-type="bibr">18</xref>
], and the Cartesian position error of the end-effector of the robot was calculated by
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
<bold>
<italic>θ</italic>
</bold>
.</p>
<p>
<xref rid="f6-sensors-13-08412" ref-type="fig">Figure 6</xref>
shows the Cartesian position errors along the
<italic>x</italic>
-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to
<italic>D/T
<sub>mt</sub>
</italic>
when
<italic>D</italic>
= 0.0508 and Δ
<italic>m</italic>
was (a)−1%, (b)−0.6% and (c)−0.2%, respectively. In each sub-figure, we used a quadratic function to do curve fitting for our simulation results. Since the quadratic coefficient is the reciprocal of
<italic>pI
<sub>px</sub>
</italic>
, by referring to
<xref rid="f2-sensors-13-08412" ref-type="fig">Figure 2</xref>
, we noticed that
<xref rid="f6-sensors-13-08412" ref-type="fig">Figure 6(c)</xref>
had the greatest
<italic>pI
<sub>px</sub>
</italic>
among
<xref rid="f6-sensors-13-08412" ref-type="fig">Figure 6(a-c)</xref>
. It was explained by the reason that
<xref rid="f6-sensors-13-08412" ref-type="fig">Figure 6(c)</xref>
had the least amount of Δm = −0.2%.</p>
<p>To verify the robot had different motor capabilities with respect to
<italic>ρ</italic>
on the x-axis, we changed Δ
<italic>m</italic>
, fixed
<italic>D</italic>
(
<italic>i.e., D</italic>
= 0.0508,0.1016,0.2032 or 0.4064) and compared the quadratic coefficients among these various Δ
<italic>m's</italic>
.
<xref rid="f7-sensors-13-08412" ref-type="fig">Figure 7</xref>
shows the quadratic coefficients when Δ
<italic>m</italic>
was -1%, -0.6% and -0.2% in each sub-figure, where (a), (b), (c) and (d) represent
<italic>D</italic>
= 0.0508, 0.1016, 0.2032 or 0.4064. We found that the robot with Δ
<italic>m</italic>
= -0.2% had the largest
<italic>pI
<sub>px</sub>
</italic>
compared to Δ
<italic>m</italic>
= -1% and -0.6%. In other words, the robot with the smaller error between actual and computed masses had the better motor capability. The simulation results validated
<xref rid="FD14" ref-type="disp-formula">Equation (14)</xref>
because
<inline-formula>
<mml:math id="mm63">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>I</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mtext>J</mml:mtext>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>K</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>Φ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mtext>H</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">Θ</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
and Δ
<bold>
<italic>H</italic>
</bold>
(
<bold>
<italic>θ</italic>
</bold>
) is definitely affected by Δ
<italic>m</italic>
.</p>
</sec>
<sec>
<label>4.2.</label>
<title>Experiments on PUMA 560 and 260 Robots</title>
<p>To validate the speed-accuracy constraint, we performed the experiment on a PUMA 560 robot (see
<xref rid="f8-sensors-13-08412" ref-type="fig">Figure 8</xref>
). The joint distance,
<bold>
<italic>θ</italic>
</bold>
<italic>
<sub>diff</sub>
</italic>
, between the initial and target positions of a joint-interpolated motion planning was [π/4,π/4,π/4,0,0,0], and the execution time for all the joints was set to
<italic>T
<sub>mt</sub>
</italic>
= 1.6,1.07,0.8 and 0.64 seconds for tests 1, 2, 3 and 4, respectively. Thus, the joint velocities of these tests were
<bold>
<italic>θ</italic>
</bold>
(0304) =
<bold>
<italic>θ</italic>
</bold>
<italic>
<sub>diff</sub>
/T
<sub>mt</sub>
</italic>
=
<italic>ρ</italic>
<bold>
<italic>θ</italic>
</bold>
(0304)
<sub>0</sub>
(rad/sec), where
<bold>
<italic>θ</italic>
</bold>
(0304)
<sub>0</sub>
=
<bold>
<italic>θ</italic>
</bold>
<italic>
<sub>diff</sub>
/</italic>
1 are nominal joint velocities finishing
<italic>θ
<sub>diff</sub>
</italic>
by one second and
<italic>ρ</italic>
=
<italic>1/</italic>
|
<italic>T
<sub>mt</sub>
</italic>
| = 0.625, 0.935,1.25,1.5625 for tests 1 to 4, respectively The relationships of joint velocities between test 1 and tests 2, 3 and 4 were obtained as
<bold>
<italic>θ̇</italic>
</bold>
<sub>2</sub>
= 1.5
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
,
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sub>3</sub>
</italic>
= 2
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
and
<bold>
<italic>θ̇</italic>
</bold>
<sub>4</sub>
=
<italic>2.5</italic>
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
. Although we could not obtain the actual masses of the links, we performed various Δ
<italic>m's</italic>
(the ratio of the error between the computed masses and the original computed masses we had to the original computed masses) by -3%, -2%, -1%, 0%, 1% and 2% and obtained similar results in
<xref rid="f5-sensors-13-08412" ref-type="fig">Figure 5</xref>
.
<xref rid="f9-sensors-13-08412" ref-type="fig">Figure 9</xref>
shows the Cartesian position errors (
<italic>d
<sub>x</sub>
,d
<sub>y</sub>
</italic>
) of the end-effector of the PUMA 560 robot caused by the changes of joint velocities and Δ
<italic>m</italic>
. In
<xref rid="f9-sensors-13-08412" ref-type="fig">Figure 9</xref>
, each line was plotted by the Cartesian position errors of the end-effector of the robot introduced with various computed masses and the same joint velocity This shows that the Cartesian position error, ∝ Δ
<italic>m</italic>
, is under the same joint velocity</p>
<p>From
<xref rid="f9-sensors-13-08412" ref-type="fig">Figure 9</xref>
, we obtain the relationship of Cartesian position errors caused by fixed Δ
<italic>m</italic>
and the changes of the joint velocities (
<italic>ρ</italic>
), as shown in
<xref rid="f10-sensors-13-08412" ref-type="fig">Figure 10</xref>
.
<xref rid="f10-sensors-13-08412" ref-type="fig">Figure 10</xref>
represents Δ
<italic>m</italic>
for −3%, −2%, − 1%, 0%, 1% and 2%, respectively The ratios of the Cartesian position errors of the end-effector of the PUMA 560 robot caused by
<bold>
<italic>θ̇</italic>
</bold>
<italic>
<sub>2</sub>
</italic>
,
<bold>
<italic>θ̇</italic>
</bold>
<sub>3</sub>
and
<bold>
<italic>θ̇</italic>
</bold>
<sub>4</sub>
to the Cartesian position errors caused by
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
in
<xref rid="f10-sensors-13-08412" ref-type="fig">Figure 10</xref>
were shown in
<xref rid="t2-sensors-13-08412" ref-type="table">Table 2</xref>
. These ratios of errors were close to the expected ratios,
<italic>ρ</italic>
<sup>2</sup>
((1.5)
<sup>2</sup>
= 2.25, (2)
<sup>2</sup>
= 4, (2.5)
<sup>2</sup>
= 6.25), since
<bold>
<italic>θ̇</italic>
</bold>
<sub>2</sub>
= 1.5
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
,
<bold>
<italic>θ̇</italic>
</bold>
<sub>3</sub>
=
<italic>2</italic>
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
and
<bold>
<italic>θ̇</italic>
</bold>
<sub>4</sub>
=
<italic>2.5</italic>
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
. This shows that the Cartesian position error, ∝
<italic>ρ</italic>
<sup>2</sup>
, is under the same Δ
<italic>m</italic>
.
<xref rid="FD13" ref-type="disp-formula">Equation (13)</xref>
explains this phenomenon when PUMA560 had a fixed
<italic>pI
<sub>px</sub>
</italic>
.</p>
<p>To demonstrate that the pseudo-index of performance (
<italic>pI
<sub>px</sub>
</italic>
) is useful to evaluate the motor capability of various robots with revolute joints, we compared the motor capabilities of the PUMA 560 and 260 robots by measuring their
<italic>pI
<sub>px</sub>
</italic>
, where the PUMA 260 was a small robot with a similar mechanism to the PUMA 560.
<xref rid="f11-sensors-13-08412" ref-type="fig">Figures 11</xref>
and
<xref rid="f12-sensors-13-08412" ref-type="fig">12</xref>
show the PUMA 560 and 260 robots' quadratic coefficients when
<italic>D</italic>
= 0.0508, 0.1016, 0.2032 and 0.4064. As
<italic>pI
<sub>px</sub>
</italic>
is the reciprocal of the quadratic coefficient, it is obvious that the PUMA 260 robot has better motor capability than the PUMA 560 robot.</p>
</sec>
</sec>
<sec>
<label>5.</label>
<title>Discussions and Conclusions</title>
<p>The proposed speed-accuracy constraints showed the relationship between Cartesian position errors of the end-effector of a robot and joint velocities. This relationship can be illustrated by a vector representation, as shown in
<xref rid="f13-sensors-13-08412" ref-type="fig">Figure 13</xref>
. For simplicity,
<xref rid="f13-sensors-13-08412" ref-type="fig">Figure 13</xref>
shows the 2D projection of a 3D Cartesian position error caused by joint position errors (Δ
<bold>
<italic>θ</italic>
</bold>
). The Cartesian position error on the 2D plane, Δ
<italic>E
<sub>a</sub>
</italic>
<sub>ll</sub>
, is composed of
<italic>d
<sub>x</sub>
</italic>
along the x-axis and
<italic>d
<sub>y</sub>
</italic>
along the
<italic>y</italic>
-axis. It is shown as the summation of Δ
<italic>E
<sub>V</sub>
</italic>
, Δ
<italic>E
<sub>G</sub>
</italic>
and Δ
<italic>E</italic>
<sub>S</sub>
, where Δ
<italic>E
<sub>V</sub>
</italic>
represents the Cartesian position errors introduced by the errors between the actual and computed Coulomb frictions, Δ
<italic>E
<sub>G</sub>
</italic>
represents the Cartesian position errors introduced by the errors between the actual and computed gravity terms and Δ
<italic>E
<sub>S</sub>
</italic>
represents the Cartesian position errors regulated by the velocity changes. Here, Δ
<italic>E
<sub>G</sub>
</italic>
is affected by Δ
<italic>m</italic>
and Δ
<italic>E
<sub>G</sub>
</italic>
<italic>α
<sub>m</sub>
</italic>
, where Δ
<italic>m</italic>
=
<italic>α
<sub>m</sub>
m</italic>
and
<italic>α
<sub>m</sub>
</italic>
is a scalar. Also, Δ
<italic>E
<sub>S</sub>
</italic>
is affected by θ and Δ
<italic>E
<sub>S</sub>
</italic>
<italic>α
<sub>m</sub>
</italic>
. (
<italic>α
<sub>s</sub>
</italic>
)
<sup>2</sup>
, where
<bold>
<italic>θ̇</italic>
</bold>
=
<italic>α
<sub>s</sub>
</italic>
<bold>
<italic>θ̇</italic>
</bold>
<sub>0</sub>
,
<bold>
<italic>θ̇</italic>
</bold>
<sub>0</sub>
is a reference speed and
<italic>α
<sub>s</sub>
</italic>
is a scalar. The angle,
<italic>φ</italic>
, is determined by
<italic>θ, m</italic>
and Δ
<italic>m</italic>
. When the desired joint positions,
<italic>θ</italic>
, and link masses, m and Am, are determined, we can choose
<italic>α
<sub>s</sub>
</italic>
(maximum speed) based on the vector relationship to make the vector, Δ
<italic>E
<sub>all</sub>
</italic>
, stay in the boundary of the task constraints.</p>
<p>From
<xref rid="FD14" ref-type="disp-formula">Equation (14)</xref>
, it is obviously shown that the pseudo-index of performance is the same with respect to the joint velocities,
<bold>
<italic>θ̇</italic>
</bold>
, instead of the Cartesian speed,
<italic>dD/dt</italic>
. Thus, the pseudo-index of performance was not the same for the sub-figures of
<xref rid="f11-sensors-13-08412" ref-type="fig">Figures 11</xref>
and
<xref rid="f12-sensors-13-08412" ref-type="fig">12</xref>
. In addition, when a robot moves to a target in a fixed distance, Δ
<italic>m</italic>
of the robot will influence its motor capability. The less error in masses will give the robot more information capacity for trading off movement speed and accuracy to accomplish a task.</p>
<p>The pseudo-index of performance is also affected by the target joint positions,
<bold>
<italic>θ</italic>
</bold>
, because from
<xref rid="FD14" ref-type="disp-formula">Equation (14)</xref>
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) dramatically affects the Cartesian position errors,
<italic>d
<sub>x</sub>
, d
<sub>y</sub>
</italic>
and
<italic>d
<sub>z</sub>
</italic>
.
<xref rid="f14-sensors-13-08412" ref-type="fig">Figure 14</xref>
shows the L
<sup>1</sup>
-norm of
<inline-formula>
<mml:math id="mm64">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
,
<inline-formula>
<mml:math id="mm65">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold-italic">J</mml:mtext>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
and
<inline-formula>
<mml:math id="mm66">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
with respect to index number, where
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>x</sub>
</italic>
,
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>y</sub>
</italic>
and
<bold>
<italic>I</italic>
</bold>
<italic>
<sub>z</sub>
</italic>
are unit vectors along the
<italic>x-, y</italic>
- and z-axis, respectively. L
<sup>1</sup>
-norm indicates the maximum Cartesian position errors,
<italic>d
<sub>x</sub>
, d</italic>
<sub>y</sub>
and
<italic>d
<sub>z</sub>
</italic>
, to which
<bold>
<italic>J</italic>
</bold>
<italic>
<sub>d</sub>
</italic>
(
<bold>
<italic>θ</italic>
</bold>
) can contribute. The index number is generated from the data format as
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j</sub>
</italic>
<sub>1)</sub>
:
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j2</sub>
</italic>
<sub>)</sub>
:
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j3</sub>
</italic>
<sub>)</sub>
:
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j4</sub>
</italic>
<sub>)</sub>
:
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j5</sub>
</italic>
<sub>)</sub>
:
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j6</sub>
</italic>
<sub>)</sub>
, where
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>ji</sub>
</italic>
<sub>)</sub>
is a sampling index by joint resolution within the joint range of joint,
<italic>i</italic>
[
<xref rid="b14-sensors-13-08412" ref-type="bibr">14</xref>
], joint resolution is determined arbitrarily,
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j</sub>
</italic>
<sub>1)</sub>
are the most significant bits (MSB) and
<italic>index</italic>
<sub>(</sub>
<italic>
<sub>j6</sub>
</italic>
<sub>)</sub>
are the least significant bits (LSB). The index number represents the joint positions for all joints. To illustrate the concept and simplify the computation, joints 4, 5 and 6 are fixed as zero-degree, and the index number is only generated from joints 1, 2 and 3 with 20-degree joint resolution.
<xref rid="f14-sensors-13-08412" ref-type="fig">Figure 14</xref>
shows the distribution of the
<italic>L</italic>
<sup>1</sup>
-norm on
<italic>d
<sub>x</sub>
, d
<sub>y</sub>
</italic>
and
<italic>d
<sub>z</sub>
</italic>
with respect to the index number (joint positions). For some cases, an index number may have entirely different degrees of Cartesian position errors along the
<italic>x-, y</italic>
- and
<italic>z</italic>
-axis. For example, the index number, 1,639 (joint 1: 0 degree; joint 2: −125 degrees; joint 3: −45 degrees), has the maximum
<italic>L</italic>
<sup>1</sup>
-norm on
<italic>d
<sub>x</sub>
</italic>
, but a relatively small
<italic>L</italic>
<sup>1</sup>
-norm on
<italic>d
<sub>y</sub>
</italic>
. However, this index number is on the range boundary of joint 3, and it apparently is not an operation joint position. Similarly, another
<italic>L</italic>
<sup>1</sup>
-norm on
<italic>d
<sub>x</sub>
</italic>
whose index number is 1,556 (joint 1: −20 degrees; joint 2: 35 degrees; joint 3: −25 degrees) is not on the joint range boundaries. For this index number,
<italic>d
<sub>x</sub>
</italic>
is also relatively larger than
<italic>d
<sub>y</sub>
</italic>
.</p>
<p>In this paper, we have developed and presented a quantitative measure, the pseudo-index of performance (
<italic>pI
<sub>p</sub>
</italic>
), to characterize the motor capability of a robot and the speed-accuracy constraints to optimize its motor performance for performing a given task. By using the
<italic>pI
<sub>p</sub>
</italic>
, one clearly understands the motor limitation of a robot. Since the pseudo-index of performance is based on the dynamics and kinematics of a robot system with revolute joints, the derived equations of the pseudo-index of performance are applicable to other robots with revolute joints. The PUMA 560 and 260 were revolute robots and feasibly the examples to validate the pseudo-index of performance. Computer simulations and experiments on PUMA 560 and 260 industrial robots have validated the characteristics of the speed-accuracy constraint and the
<italic>pI
<sub>p</sub>
</italic>
and how the
<italic>pI
<sub>p</sub>
</italic>
is utilized to measure the motor capability of a robot system.</p>
</sec>
</body>
<back>
<notes>
<title>Conflict of Interest</title>
<p>The authors declare no conflict of interest.</p>
</notes>
<ref-list>
<title>References</title>
<ref id="b1-sensors-13-08412">
<label>1.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
</person-group>
<article-title>Six-degree-of-freedom haptic rendering in virtual teleoperation</article-title>
<source>IEEE Trans. Instrum. Meas.</source>
<year>2008</year>
<volume>57</volume>
<fpage>1866</fpage>
<lpage>1875</lpage>
</element-citation>
</ref>
<ref id="b2-sensors-13-08412">
<label>2.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shibata</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Abe</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Tanie</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Nose</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Motion planning of a redundant manipulator based on criteria of skilled operators</article-title>
<source>Syst. Man Cybern.</source>
<year>1995</year>
<volume>4</volume>
<fpage>3730</fpage>
<lpage>3735</lpage>
</element-citation>
</ref>
<ref id="b3-sensors-13-08412">
<label>3.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Asada</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Transfer of human skills to neural net robot controllers</article-title>
<source>Robot. Autom.</source>
<year>1991</year>
<volume>3</volume>
<fpage>2442</fpage>
<lpage>2448</lpage>
</element-citation>
</ref>
<ref id="b4-sensors-13-08412">
<label>4.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sandoz</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Ravassard</surname>
<given-names>J.C.</given-names>
</name>
<name>
<surname>Dembele</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Janex</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>Phase-sensitive vision technique for high accuracy position measurement of moving targets</article-title>
<source>IEEE Trans. Instrum. Meas.</source>
<year>2000</year>
<volume>49</volume>
<fpage>867</fpage>
<lpage>872</lpage>
</element-citation>
</ref>
<ref id="b5-sensors-13-08412">
<label>5.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Likhachev</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Arkin</surname>
<given-names>R.C.</given-names>
</name>
</person-group>
<article-title>Spatio-Temporal Case-Based Reasoning for Behavioral Selection</article-title>
<conf-name>Proceedings of Proceedings IEEE International Conference on Robotics and Automation (ICRA 2001)</conf-name>
<conf-loc>Seoul, Korea</conf-loc>
<conf-date>21–26 May 2001</conf-date>
<fpage>1627</fpage>
<lpage>1634</lpage>
</element-citation>
</ref>
<ref id="b6-sensors-13-08412">
<label>6.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Dahl</surname>
<given-names>T.S.</given-names>
</name>
<name>
<surname>Mataric</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sukhatme</surname>
<given-names>G.S.</given-names>
</name>
</person-group>
<article-title>Adaptive Spatio-Temporal Organization in Groups of Robots</article-title>
<conf-name>Proceedings of IEEE /RSJ International Conference on Intelligent Robots and Systems</conf-name>
<conf-loc>Lausanne, Switzerland</conf-loc>
<conf-date>30 September–4 October 2002</conf-date>
<fpage>1044</fpage>
<lpage>1049</lpage>
</element-citation>
</ref>
<ref id="b7-sensors-13-08412">
<label>7.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>C.H.</given-names>
</name>
</person-group>
<article-title>A kinematic CAD tool for the design and control of a robot manipulator</article-title>
<source>Int. J. Robot. Res.</source>
<year>1984</year>
<volume>3</volume>
<fpage>58</fpage>
<lpage>67</lpage>
</element-citation>
</ref>
<ref id="b8-sensors-13-08412">
<label>8.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Veitschegger</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>C.H.</given-names>
</name>
</person-group>
<article-title>Robot accuracy analysis based on kinematics</article-title>
<source>IEEE J. Robot. Autom.</source>
<year>1986</year>
<volume>2</volume>
<fpage>171</fpage>
<lpage>179</lpage>
</element-citation>
</ref>
<ref id="b9-sensors-13-08412">
<label>9.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Spiess</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Vincze</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ayromiou</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>On the calibration of a 6-D laser tracking system for dynamic robot measurements</article-title>
<source>IEEE Trans. Instrum. Meas.</source>
<year>1998</year>
<volume>47</volume>
<fpage>270</fpage>
<lpage>274</lpage>
</element-citation>
</ref>
<ref id="b10-sensors-13-08412">
<label>10.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Bai</surname>
<given-names>Y.</given-names>
</name>
</person-group>
<article-title>Improving Position Accuracy of Robot Manipulators Using Neural Networks</article-title>
<conf-name>Proceedings of the IEEE Instrumentation and Measurement Technology Conference (IMTC 2005)</conf-name>
<conf-loc>Ottawa, ON, Canada</conf-loc>
<conf-date>17–19 May 2005</conf-date>
<fpage>1524</fpage>
<lpage>1526</lpage>
</element-citation>
</ref>
<ref id="b11-sensors-13-08412">
<label>11.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<collab>American National Standards Institute (ANSI)</collab>
</person-group>
<source>American National Standard for Industrial Robots and Robot Systems-Point-to-Point and Static Performance Characteristics-Evaluation</source>
<publisher-name>ANSI</publisher-name>
<publisher-loc>Washington, DC, USA</publisher-loc>
<year>1990</year>
</element-citation>
</ref>
<ref id="b12-sensors-13-08412">
<label>12.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<collab>American National Standards Institute(ANSI)</collab>
</person-group>
<source>American National Standard for Industrial Robots and Robot Systems-Path-Related and Dynamic Performance Characteristics-Evaluation</source>
<publisher-name>ANSI</publisher-name>
<publisher-loc>Washington, DC, USA</publisher-loc>
<year>1992</year>
</element-citation>
</ref>
<ref id="b13-sensors-13-08412">
<label>13.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Meyer</surname>
<given-names>D.E.</given-names>
</name>
<name>
<surname>Smith</surname>
<given-names>J.E.K.</given-names>
</name>
<name>
<surname>Kornblum</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Abrams</surname>
<given-names>R.A.</given-names>
</name>
<name>
<surname>Wright</surname>
<given-names>C.E.</given-names>
</name>
</person-group>
<article-title>Speed-Accuracy Tradeoffs in Aimed Movements: Toward a Theory of Rapid Voluntary Action</article-title>
<source>Attention and Performance XIII</source>
<person-group person-group-type="editor">
<name>
<surname>Jeannerod</surname>
<given-names>M.</given-names>
</name>
</person-group>
<publisher-name>Psychology Press</publisher-name>
<publisher-loc>London, UK</publisher-loc>
<year>1990</year>
<fpage>173</fpage>
<lpage>226</lpage>
</element-citation>
</ref>
<ref id="b14-sensors-13-08412">
<label>14.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Fu</surname>
<given-names>K.S.</given-names>
</name>
<name>
<surname>Gonzalez</surname>
<given-names>R.C.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>C.S.G.</given-names>
</name>
</person-group>
<source>Robotics: Control, Sensing, Vision, and Intelligence</source>
<publisher-name>Mcgraw-Hill</publisher-name>
<publisher-loc>New York, NY, USA</publisher-loc>
<year>1987</year>
</element-citation>
</ref>
<ref id="b15-sensors-13-08412">
<label>15.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Islam</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>P.X.</given-names>
</name>
</person-group>
<article-title>PD output feedback control design for industrial robotic manipulators</article-title>
<source>IEEE/ASME Trans. Mechatron</source>
<year>2011</year>
<volume>16</volume>
<fpage>187</fpage>
<lpage>197</lpage>
</element-citation>
</ref>
<ref id="b16-sensors-13-08412">
<label>16.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Corke</surname>
<given-names>P.I.</given-names>
</name>
</person-group>
<source>Robotics Toolbox for MATLAB, Release 9(Software)</source>
<publisher-name>CSIRO Manufacturing Science and Technology</publisher-name>
<publisher-loc>Pinjarra Hills, Australia</publisher-loc>
<year>1994</year>
</element-citation>
</ref>
<ref id="b17-sensors-13-08412">
<label>17.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Corke</surname>
<given-names>P.I.</given-names>
</name>
<name>
<surname>Armstrong-Helouvry</surname>
<given-names>B.</given-names>
</name>
</person-group>
<article-title>A search for consensus among model parameters reported for the PUMA 560 robot</article-title>
<source>Robot. Autom.</source>
<year>1994</year>
<volume>2</volume>
<fpage>1608</fpage>
<lpage>1613</lpage>
</element-citation>
</ref>
<ref id="b18-sensors-13-08412">
<label>18.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luh</surname>
<given-names>J.Y.S.</given-names>
</name>
<name>
<surname>Walker</surname>
<given-names>M.W.</given-names>
</name>
<name>
<surname>Paul</surname>
<given-names>R.P.C.</given-names>
</name>
</person-group>
<article-title>On-line computational scheme for mechanical manipulators</article-title>
<source>Trans. ASME J. Dyn. Syst. Meas. Contr.</source>
<year>1980</year>
<volume>102</volume>
<fpage>69</fpage>
<lpage>76</lpage>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group>
<fig id="f1-sensors-13-08412" position="float">
<label>Figure 1.</label>
<caption>
<p>Proportional-plus-derivative (PD) control scheme of a robot joint,
<italic>i</italic>
.</p>
</caption>
<graphic xlink:href="sensors-13-08412f1"></graphic>
</fig>
<fig id="f2-sensors-13-08412" position="float">
<label>Figure 2.</label>
<caption>
<p>Quadratic function of the Cartesian position error of the end-effector of a robot along the
<italic>x</italic>
-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to the scalar of the joint velocity (
<italic>ρ</italic>
), where the quadratic coefficient is (
<italic>pI
<sub>px</sub>
</italic>
)
<italic>
<sup>-</sup>
</italic>
<sup>1</sup>
and
<italic>θ̇
<sub>d</sub>
</italic>
=
<italic>ρθ̇</italic>
<sub>0</sub>
.</p>
</caption>
<graphic xlink:href="sensors-13-08412f2"></graphic>
</fig>
<fig id="f3-sensors-13-08412" position="float">
<label>Figure 3.</label>
<caption>
<p>Scheme of our task, where the moving position error is defined as the error between the actual and target positions. (S: start position, G: target position and E: end position).</p>
</caption>
<graphic xlink:href="sensors-13-08412f3"></graphic>
</fig>
<fig id="f4-sensors-13-08412" position="float">
<label>Figure 4.</label>
<caption>
<p>Simulation results of the Cartesian position errors of the end-effector of a PUMA 560 robot. (a) Case 1: Δ
<italic>V</italic>
= 0 and Δ
<italic>G</italic>
(
<italic>θ</italic>
) = 0 (red dot); (b) Case 2: AV = 0 and Δ
<italic>G</italic>
(
<italic>θ</italic>
) = 0 (blue dot); (c) Case 3: Δ
<italic>V</italic>
= 0, Δ
<italic>G</italic>
(
<italic>θ</italic>
) ≠ 0 and
<italic>ρ</italic>
= 0 (red crosses); (d) Case 4: Δ
<italic>V</italic>
≠ 0, Δ
<italic>G</italic>
(
<italic>θ</italic>
) ≠ 0 and
<italic>ρ</italic>
= 0 (blue crosses).</p>
</caption>
<graphic xlink:href="sensors-13-08412f4"></graphic>
</fig>
<fig id="f5-sensors-13-08412" position="float">
<label>Figure 5.</label>
<caption>
<p>Simulation results of the Cartesian position errors of the end-effector of a PUMA 560 robot in Case 3 when the joint velocities are non-zero: Δ
<italic>V</italic>
= 0, Δ
<italic>G</italic>
(
<italic>θ</italic>
) = 0 and
<italic>ρ</italic>
≠ 0 (crosses).</p>
</caption>
<graphic xlink:href="sensors-13-08412f5"></graphic>
</fig>
<fig id="f6-sensors-13-08412" position="float">
<label>Figure 6.</label>
<caption>
<p>Simulation results of the Cartesian position errors of the end-effector of a PUMA 560 robot along the x-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to the Cartesian velocities (
<italic>D/T
<sub>mt</sub>
</italic>
) when
<italic>D</italic>
= 0.0508 and Δ
<italic>m</italic>
was (
<bold>a</bold>
) −1%; (
<bold>b</bold>
) −0.6%; (
<bold>c</bold>
) −0.2%. Red triangles represent the simulation results; the blue curve represents curve fitting.</p>
</caption>
<graphic xlink:href="sensors-13-08412f6"></graphic>
</fig>
<fig id="f7-sensors-13-08412" position="float">
<label>Figure 7.</label>
<caption>
<p>Simulation results of the Cartesian position errors of the end-effector of a PUMA 560 robot along the x-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to the scalar of the joint velocities (
<italic>ρ</italic>
) when Δ
<italic>m</italic>
was −1% (black dot-dashed line), −0.6% (red dashed line) and −0.2% (blue solid line).</p>
</caption>
<graphic xlink:href="sensors-13-08412f7"></graphic>
</fig>
<fig id="f8-sensors-13-08412" position="float">
<label>Figure 8.</label>
<caption>
<p>PUMA 560 robot in the experiment.</p>
</caption>
<graphic xlink:href="sensors-13-08412f8"></graphic>
</fig>
<fig id="f9-sensors-13-08412" position="float">
<label>Figure 9.</label>
<caption>
<p>Experimental results of the Cartesian position errors of the end-effector caused by the changes of joint velocities (
<italic>ρ</italic>
) and computed masses, where ◆: Δ
<italic>m</italic>
= −3%; •: Δ
<italic>m</italic>
= −2%; ▪: Δ
<italic>m</italic>
= −1%; ★: Δ
<italic>m</italic>
= 0%; x: Δ
<italic>m</italic>
= 1%; ▲: Δ
<italic>m</italic>
= 2%.</p>
</caption>
<graphic xlink:href="sensors-13-08412f9"></graphic>
</fig>
<fig id="f10-sensors-13-08412" position="float">
<label>Figure 10.</label>
<caption>
<p>Experimental results of the Cartesian position errors of the end-effector caused by the fixed Am and the changes of the joint velocities (
<italic>ρ</italic>
). (a) Δ
<italic>m</italic>
= −3%; (b) Δ
<italic>m</italic>
= −2%; (c) Δ
<italic>m</italic>
= −1%; (d) Δ
<italic>m</italic>
= 0%; (e) Δ
<italic>m</italic>
= 1%; (f) Δ
<italic>m</italic>
= 2%.</p>
</caption>
<graphic xlink:href="sensors-13-08412f10"></graphic>
</fig>
<fig id="f11-sensors-13-08412" position="float">
<label>Figure 11.</label>
<caption>
<p>PUMA 560 experimental results of the Cartesian position errors of the end-effector along the
<italic>x</italic>
-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to
<italic>D/T
<sub>mt</sub>
</italic>
(
<bold>a</bold>
) D = 0.0508 m; (
<bold>b</bold>
) D = 0.1016 m; (
<bold>c</bold>
) D = 0.2032 m; (
<bold>d</bold>
) D = 0.4064 m.</p>
</caption>
<graphic xlink:href="sensors-13-08412f11"></graphic>
</fig>
<fig id="f12-sensors-13-08412" position="float">
<label>Figure 12.</label>
<caption>
<p>PUMA 260 experimental results of the Cartesian position errors of the end-effector along the
<italic>x</italic>
-axis (
<italic>d
<sub>x</sub>
</italic>
) with respect to
<italic>D/T
<sub>mt</sub>
</italic>
(
<bold>a</bold>
) D = 0.0508 m; (
<bold>b</bold>
) D = 0.1016 m; (
<bold>c</bold>
) D = 0.2032 m; (
<bold>d</bold>
) D = 0.4064 m.</p>
</caption>
<graphic xlink:href="sensors-13-08412f12"></graphic>
</fig>
<fig id="f13-sensors-13-08412" position="float">
<label>Figure 13.</label>
<caption>
<p>Vector representation of Cartesian position errors.</p>
</caption>
<graphic xlink:href="sensors-13-08412f13"></graphic>
</fig>
<fig id="f14-sensors-13-08412" position="float">
<label>Figure 14.</label>
<caption>
<p>Cartesian position errors with respect to index number. Joint resolution is 20 degrees. (
<bold>a</bold>
)
<italic>d
<sub>x</sub>
</italic>
; (
<bold>b</bold>
)
<italic>d
<sub>y</sub>
</italic>
; (
<bold>c</bold>
)
<italic>d
<sub>z</sub>
</italic>
; (
<bold>d</bold>
) the same index number (joint positions) results in different
<italic>L</italic>
<sup>1</sup>
-norm values on
<italic>d
<sub>x</sub>
</italic>
and
<italic>d
<sub>y</sub>
</italic>
.</p>
</caption>
<graphic xlink:href="sensors-13-08412f14"></graphic>
</fig>
<table-wrap id="t1-sensors-13-08412" position="float">
<label>Table 1.</label>
<caption>
<p>Four movement velocities, D
<italic>/T
<sub>mt</sub>
</italic>
m/sec under different
<italic>D's</italic>
.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="middle" rowspan="1" colspan="1">
<bold>D (m)</bold>
</th>
<th align="left" valign="middle" rowspan="1" colspan="1"></th>
<th colspan="2" align="center" valign="middle" rowspan="1">
<bold>
<italic>D/T</italic>
</bold>
<italic>
<sub>mt</sub>
</italic>
<bold>(m/sec)</bold>
</th>
<th align="left" valign="top" rowspan="1" colspan="1"></th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="middle" rowspan="1" colspan="1">0.0508</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.0508/0.392</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.0508/0.281</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.0508/0.212</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.0508/0.180</td>
</tr>
<tr>
<td align="left" valign="middle" rowspan="1" colspan="1">0.1016</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.1016/0.484</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.1016/0.372</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.1016/0.260</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.1016/0.203</td>
</tr>
<tr>
<td align="left" valign="middle" rowspan="1" colspan="1">0.2032</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.2032/0.580</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.2032/0.469</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.2032/0.357</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.2032/0.279</td>
</tr>
<tr>
<td align="left" valign="middle" rowspan="1" colspan="1">0.4064</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.4064/0.731</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.4064/0.595</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.4064/0.481</td>
<td align="left" valign="middle" rowspan="1" colspan="1">0.4064/0.388</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t2-sensors-13-08412" position="float">
<label>Table 2.</label>
<caption>
<p>Ratios of the Cartesian position errors of the end-effector of the PUMA 560 robot caused by
<bold>
<italic>θ̇</italic>
</bold>
<sub>2</sub>
,
<bold>
<italic>θ̇</italic>
</bold>
<sub>3</sub>
and
<bold>
<italic>θ̇</italic>
</bold>
<sub>4</sub>
to the Cartesian position errors caused by
<bold>
<italic>θ̇</italic>
</bold>
<sub>1</sub>
.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>Δ
<italic>m</italic>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>θ̇</italic>
<sub>2</sub>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>θ̇</italic>
<sub>3</sub>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>θ̇</italic>
<sub>4</sub>
</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1"></td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<italic>ρ</italic>
<sup>2</sup>
= 2.25</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<italic>ρ</italic>
<sup>2</sup>
= 4</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<italic>ρ</italic>
<sup>2</sup>
= 6.25</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">−3%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.2115</td>
<td align="center" valign="middle" rowspan="1" colspan="1">4.1868</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.3067</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">−2%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.1633</td>
<td align="center" valign="middle" rowspan="1" colspan="1">3.9134</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.3435</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">−1%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.2556</td>
<td align="center" valign="middle" rowspan="1" colspan="1">4.1400</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.1096</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">0%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.1339</td>
<td align="center" valign="middle" rowspan="1" colspan="1">4.0218</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.2426</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">1%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.1253</td>
<td align="center" valign="middle" rowspan="1" colspan="1">4.1400</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.1096</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">2%</td>
<td align="center" valign="middle" rowspan="1" colspan="1">2.1066</td>
<td align="center" valign="middle" rowspan="1" colspan="1">3.8078</td>
<td align="center" valign="middle" rowspan="1" colspan="1">6.2284</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
<affiliations>
<list>
<country>
<li>Taïwan</li>
</country>
</list>
<tree>
<noCountry>
<name sortKey="George Lee, C S" sort="George Lee, C S" uniqKey="George Lee C" first="C. S." last="George Lee">C. S. George Lee</name>
</noCountry>
<country name="Taïwan">
<noRegion>
<name sortKey="Lin, Hsien I" sort="Lin, Hsien I" uniqKey="Lin H" first="Hsien-I" last="Lin">Hsien-I Lin</name>
</noRegion>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Pmc/Checkpoint
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 001159 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Pmc/Checkpoint/biblio.hfd -nk 001159 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    HapticV1
   |flux=    Pmc
   |étape=   Checkpoint
   |type=    RBID
   |clé=     PMC:3758602
   |texte=   Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Checkpoint/RBID.i   -Sk "pubmed:23820745" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Checkpoint/biblio.hfd   \
       | NlmPubMed2Wicri -a HapticV1 

Wicri

This area was generated with Dilib version V0.6.23.
Data generation: Mon Jun 13 01:09:46 2016. Site generation: Wed Mar 6 09:54:07 2024