A Novel Flexible Virtual Fixtures for Teleoperation
Identifieur interne : 002463 ( Pmc/Curation ); précédent : 002462; suivant : 002464A Novel Flexible Virtual Fixtures for Teleoperation
Auteurs : Guanglong Du [République populaire de Chine] ; Ping Zhang [République populaire de Chine]Source :
- The Scientific World Journal [ 1537-744X ] ; 2014.
Abstract
This paper proposed a novel spatial-motion-constraints virtual fixtures (VFs) method for the human-machine interface collaborative technique. In our method, two 3D flexible VFs have been presented: warning pipe and safe pipe. And a potential-collision-detection method based on two flexible VFs has been proposed. The safe pipe constructs the safe workspace dynamically for the robot, which makes it possible to detect the potential collision between the robot and the obstacles. By calculating the speed and the acceleration of the robot end-effecter (EE), the warning pipe can adjust its radius to detect the deviation from the EE to the reference path. These spatial constraints serve as constraint conditions for constrained robot control. The approach enables multiobstacle manipulation task of telerobot in precise interactive teleoperation environment. We illustrate our approach on a teleoperative manipulation task and analyze the performance results. The performance-comparison experimental results demonstrate that the control mode employing our method can assist the operator more precisely in teleoperative tasks. Due to the properties such as collision avoidance and safety, operators can complete the tasks more efficiently along with reduction in operating tension.
Url:
DOI: 10.1155/2014/897242
PubMed: 24693252
PubMed Central: 3944649
Links toward previous steps (curation, corpus...)
- to stream Pmc, to step Corpus: Pour aller vers cette notice dans l'étape Curation :002463
Links to Exploration step
PMC:3944649Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">A Novel Flexible Virtual Fixtures for Teleoperation</title>
<author><name sortKey="Du, Guanglong" sort="Du, Guanglong" uniqKey="Du G" first="Guanglong" last="Du">Guanglong Du</name>
<affiliation wicri:level="1"><nlm:aff id="I1">South China University of Technology, Guangzhou 510000, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>South China University of Technology, Guangzhou 510000</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Zhang, Ping" sort="Zhang, Ping" uniqKey="Zhang P" first="Ping" last="Zhang">Ping Zhang</name>
<affiliation wicri:level="1"><nlm:aff id="I1">South China University of Technology, Guangzhou 510000, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>South China University of Technology, Guangzhou 510000</wicri:regionArea>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">PMC</idno>
<idno type="pmid">24693252</idno>
<idno type="pmc">3944649</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3944649</idno>
<idno type="RBID">PMC:3944649</idno>
<idno type="doi">10.1155/2014/897242</idno>
<date when="2014">2014</date>
<idno type="wicri:Area/Pmc/Corpus">002463</idno>
<idno type="wicri:Area/Pmc/Curation">002463</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a" type="main">A Novel Flexible Virtual Fixtures for Teleoperation</title>
<author><name sortKey="Du, Guanglong" sort="Du, Guanglong" uniqKey="Du G" first="Guanglong" last="Du">Guanglong Du</name>
<affiliation wicri:level="1"><nlm:aff id="I1">South China University of Technology, Guangzhou 510000, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>South China University of Technology, Guangzhou 510000</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Zhang, Ping" sort="Zhang, Ping" uniqKey="Zhang P" first="Ping" last="Zhang">Ping Zhang</name>
<affiliation wicri:level="1"><nlm:aff id="I1">South China University of Technology, Guangzhou 510000, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>South China University of Technology, Guangzhou 510000</wicri:regionArea>
</affiliation>
</author>
</analytic>
<series><title level="j">The Scientific World Journal</title>
<idno type="eISSN">1537-744X</idno>
<imprint><date when="2014">2014</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en"><p>This paper proposed a novel spatial-motion-constraints virtual fixtures (VFs) method for the human-machine interface collaborative technique. In our method, two 3D flexible VFs have been presented: warning pipe and safe pipe. And a potential-collision-detection method based on two flexible VFs has been proposed. The safe pipe constructs the safe workspace dynamically for the robot, which makes it possible to detect the potential collision between the robot and the obstacles. By calculating the speed and the acceleration of the robot end-effecter (EE), the warning pipe can adjust its radius to detect the deviation from the EE to the reference path. These spatial constraints serve as constraint conditions for constrained robot control. The approach enables multiobstacle manipulation task of telerobot in precise interactive teleoperation environment. We illustrate our approach on a teleoperative manipulation task and analyze the performance results. The performance-comparison experimental results demonstrate that the control mode employing our method can assist the operator more precisely in teleoperative tasks. Due to the properties such as collision avoidance and safety, operators can complete the tasks more efficiently along with reduction in operating tension.</p>
</div>
</front>
<back><div1 type="bibliography"><listBibl><biblStruct><analytic><author><name sortKey="Kikuuwe, R" uniqKey="Kikuuwe R">R Kikuuwe</name>
</author>
<author><name sortKey="Takesue, N" uniqKey="Takesue N">N Takesue</name>
</author>
<author><name sortKey="Fujimoto, H" uniqKey="Fujimoto H">H Fujimoto</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Bettini, A" uniqKey="Bettini A">A Bettini</name>
</author>
<author><name sortKey="Marayong, P" uniqKey="Marayong P">P Marayong</name>
</author>
<author><name sortKey="Lang, S" uniqKey="Lang S">S Lang</name>
</author>
<author><name sortKey="Okamura, Am" uniqKey="Okamura A">AM Okamura</name>
</author>
<author><name sortKey="Hager, Gd" uniqKey="Hager G">GD Hager</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Rosenberg, Lb" uniqKey="Rosenberg L">LB Rosenberg</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Lai, F" uniqKey="Lai F">F Lai</name>
</author>
<author><name sortKey="Howe, Rd" uniqKey="Howe R">RD Howe</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Peshkin, Ma" uniqKey="Peshkin M">MA Peshkin</name>
</author>
<author><name sortKey="Edward Colgate, J" uniqKey="Edward Colgate J">J Edward Colgate</name>
</author>
<author><name sortKey="Wannasuphoprasit, W" uniqKey="Wannasuphoprasit W">W Wannasuphoprasit</name>
</author>
<author><name sortKey="Moore, Ca" uniqKey="Moore C">CA Moore</name>
</author>
<author><name sortKey="Brent Gillespie, R" uniqKey="Brent Gillespie R">R Brent Gillespie</name>
</author>
<author><name sortKey="Akella, P" uniqKey="Akella P">P Akella</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Payandehand, S" uniqKey="Payandehand S">S Payandehand</name>
</author>
<author><name sortKey="Stanisic, Z" uniqKey="Stanisic Z">Z Stanisic</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ren, J" uniqKey="Ren J">J Ren</name>
</author>
<author><name sortKey="Mcisaac, Ka" uniqKey="Mcisaac K">KA McIsaac</name>
</author>
<author><name sortKey="Patel, Rv" uniqKey="Patel R">RV Patel</name>
</author>
<author><name sortKey="Peters, Tm" uniqKey="Peters T">TM Peters</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Burschka, D" uniqKey="Burschka D">D Burschka</name>
</author>
<author><name sortKey="Corso, Jj" uniqKey="Corso J">JJ Corso</name>
</author>
<author><name sortKey="Dewan, M" uniqKey="Dewan M">M Dewan</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Bettini, A" uniqKey="Bettini A">A Bettini</name>
</author>
<author><name sortKey="Marayong, P" uniqKey="Marayong P">P Marayong</name>
</author>
<author><name sortKey="Lang, S" uniqKey="Lang S">S Lang</name>
</author>
<author><name sortKey="Okamura, Am" uniqKey="Okamura A">AM Okamura</name>
</author>
<author><name sortKey="Hager, Gd" uniqKey="Hager G">GD Hager</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Bettini, A" uniqKey="Bettini A">A Bettini</name>
</author>
<author><name sortKey="Lang, S" uniqKey="Lang S">S Lang</name>
</author>
<author><name sortKey="Okamura, A" uniqKey="Okamura A">A Okamura</name>
</author>
<author><name sortKey="Hager, G" uniqKey="Hager G">G Hager</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Aleotti, J" uniqKey="Aleotti J">J Aleotti</name>
</author>
<author><name sortKey="Caselli, S" uniqKey="Caselli S">S Caselli</name>
</author>
<author><name sortKey="Reggiani, M" uniqKey="Reggiani M">M Reggiani</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ekvall, S" uniqKey="Ekvall S">S Ekvall</name>
</author>
<author><name sortKey="Aarno, D" uniqKey="Aarno D">D Aarno</name>
</author>
<author><name sortKey="Kragic, D" uniqKey="Kragic D">D Kragic</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Guthart, Gs" uniqKey="Guthart G">GS Guthart</name>
</author>
<author><name sortKey="Salisbury, Kj" uniqKey="Salisbury K">KJ Salisbury</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Marayong, P" uniqKey="Marayong P">P Marayong</name>
</author>
<author><name sortKey="Bettini, A" uniqKey="Bettini A">A Bettini</name>
</author>
<author><name sortKey="Okamura, A" uniqKey="Okamura A">A Okamura</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Li, M" uniqKey="Li M">M Li</name>
</author>
<author><name sortKey="Ishii, M" uniqKey="Ishii M">M Ishii</name>
</author>
<author><name sortKey="Taylor, Rh" uniqKey="Taylor R">RH Taylor</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Troccaz, J" uniqKey="Troccaz J">J Troccaz</name>
</author>
<author><name sortKey="Peshkin, Ma" uniqKey="Peshkin M">MA Peshkin</name>
</author>
<author><name sortKey="Davies, Bl" uniqKey="Davies B">BL Davies</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ren, J" uniqKey="Ren J">J Ren</name>
</author>
<author><name sortKey="Patel, Rv" uniqKey="Patel R">RV Patel</name>
</author>
<author><name sortKey="Mcisaac, Ka" uniqKey="Mcisaac K">KA McIsaac</name>
</author>
<author><name sortKey="Guiraudon, G" uniqKey="Guiraudon G">G Guiraudon</name>
</author>
<author><name sortKey="Peters, Tm" uniqKey="Peters T">TM Peters</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Beasley, Ra" uniqKey="Beasley R">RA Beasley</name>
</author>
<author><name sortKey="Howe, Rd" uniqKey="Howe R">RD Howe</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Park, S" uniqKey="Park S">S Park</name>
</author>
<author><name sortKey="Howe, Rd" uniqKey="Howe R">RD Howe</name>
</author>
<author><name sortKey="Torchiana, Df" uniqKey="Torchiana D">DF Torchiana</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Marayong, P" uniqKey="Marayong P">P Marayong</name>
</author>
<author><name sortKey="Li, M" uniqKey="Li M">M Li</name>
</author>
<author><name sortKey="Okamura, Am" uniqKey="Okamura A">AM Okamura</name>
</author>
<author><name sortKey="Hager, Gd" uniqKey="Hager G">GD Hager</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Schneider, O" uniqKey="Schneider O">O Schneider</name>
</author>
<author><name sortKey="Troccaz, J" uniqKey="Troccaz J">J Troccaz</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Wurm, J" uniqKey="Wurm J">J Wurm</name>
</author>
<author><name sortKey="Steinhart, H" uniqKey="Steinhart H">H Steinhart</name>
</author>
<author><name sortKey="Bumm, K" uniqKey="Bumm K">K Bumm</name>
</author>
<author><name sortKey="Vogele, M" uniqKey="Vogele M">M Vogele</name>
</author>
<author><name sortKey="Nimsky, C" uniqKey="Nimsky C">C Nimsky</name>
</author>
<author><name sortKey="Iro, H" uniqKey="Iro H">H Iro</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Strauss, G" uniqKey="Strauss G">G Strauss</name>
</author>
<author><name sortKey="Koulechov, K" uniqKey="Koulechov K">K Koulechov</name>
</author>
<author><name sortKey="Richter, R" uniqKey="Richter R">R Richter</name>
</author>
<author><name sortKey="Dietz, A" uniqKey="Dietz A">A Dietz</name>
</author>
<author><name sortKey="Trantakis, C" uniqKey="Trantakis C">C Trantakis</name>
</author>
<author><name sortKey="Luth, T" uniqKey="Luth T">T Lüth</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Koulechov, K" uniqKey="Koulechov K">K Koulechov</name>
</author>
<author><name sortKey="Strauss, G" uniqKey="Strauss G">G Strauss</name>
</author>
<author><name sortKey="Richter, R" uniqKey="Richter R">R Richter</name>
</author>
<author><name sortKey="Trantakis, C" uniqKey="Trantakis C">C Trantakis</name>
</author>
<author><name sortKey="Lueth, Tc" uniqKey="Lueth T">TC Lueth</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Koulechov, K" uniqKey="Koulechov K">K Koulechov</name>
</author>
<author><name sortKey="Strauss, G" uniqKey="Strauss G">G Strauss</name>
</author>
<author><name sortKey="Dietz, A" uniqKey="Dietz A">A Dietz</name>
</author>
<author><name sortKey="Strauss, M" uniqKey="Strauss M">M Strauss</name>
</author>
<author><name sortKey="Hofer, M" uniqKey="Hofer M">M Hofer</name>
</author>
<author><name sortKey="Lueth, T" uniqKey="Lueth T">T Lueth</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Klosowski, Jt" uniqKey="Klosowski J">JT Klosowski</name>
</author>
<author><name sortKey="Held, M" uniqKey="Held M">M Held</name>
</author>
<author><name sortKey="Mitchell, Jsb" uniqKey="Mitchell J">JSB Mitchell</name>
</author>
<author><name sortKey="Sowizral, H" uniqKey="Sowizral H">H Sowizral</name>
</author>
<author><name sortKey="Zikan, K" uniqKey="Zikan K">K Zikan</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">ScientificWorldJournal</journal-id>
<journal-id journal-id-type="iso-abbrev">ScientificWorldJournal</journal-id>
<journal-id journal-id-type="publisher-id">TSWJ</journal-id>
<journal-title-group><journal-title>The Scientific World Journal</journal-title>
</journal-title-group>
<issn pub-type="epub">1537-744X</issn>
<publisher><publisher-name>Hindawi Publishing Corporation</publisher-name>
</publisher>
</journal-meta>
<article-meta><article-id pub-id-type="pmid">24693252</article-id>
<article-id pub-id-type="pmc">3944649</article-id>
<article-id pub-id-type="doi">10.1155/2014/897242</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject>
</subj-group>
</article-categories>
<title-group><article-title>A Novel Flexible Virtual Fixtures for Teleoperation</article-title>
</title-group>
<contrib-group><contrib contrib-type="author"><contrib-id contrib-id-type="orcid">http://orcid.org/0000-0001-5299-2329</contrib-id>
<name><surname>Du</surname>
<given-names>Guanglong</given-names>
</name>
<xref ref-type="aff" rid="I1"></xref>
</contrib>
<contrib contrib-type="author"><contrib-id contrib-id-type="orcid">http://orcid.org/0000-0002-5754-168X</contrib-id>
<name><surname>Zhang</surname>
<given-names>Ping</given-names>
</name>
<xref ref-type="aff" rid="I1"></xref>
<xref ref-type="corresp" rid="cor1">*</xref>
</contrib>
</contrib-group>
<aff id="I1">South China University of Technology, Guangzhou 510000, China</aff>
<author-notes><corresp id="cor1">*Ping Zhang: <email>pzhang@scut.edu.cn</email>
</corresp>
<fn fn-type="other"><p>Academic Editors: M. Gobbi, K.-C. Liu, and J. Xiang</p>
</fn>
</author-notes>
<pub-date pub-type="collection"><year>2014</year>
</pub-date>
<pub-date pub-type="epub"><day>11</day>
<month>2</month>
<year>2014</year>
</pub-date>
<volume>2014</volume>
<elocation-id>897242</elocation-id>
<history><date date-type="received"><day>15</day>
<month>10</month>
<year>2013</year>
</date>
<date date-type="accepted"><day>31</day>
<month>12</month>
<year>2013</year>
</date>
</history>
<permissions><copyright-statement>Copyright © 2014 G. Du and P. Zhang.</copyright-statement>
<copyright-year>2014</copyright-year>
<license license-type="open-access"><license-p>This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<abstract><p>This paper proposed a novel spatial-motion-constraints virtual fixtures (VFs) method for the human-machine interface collaborative technique. In our method, two 3D flexible VFs have been presented: warning pipe and safe pipe. And a potential-collision-detection method based on two flexible VFs has been proposed. The safe pipe constructs the safe workspace dynamically for the robot, which makes it possible to detect the potential collision between the robot and the obstacles. By calculating the speed and the acceleration of the robot end-effecter (EE), the warning pipe can adjust its radius to detect the deviation from the EE to the reference path. These spatial constraints serve as constraint conditions for constrained robot control. The approach enables multiobstacle manipulation task of telerobot in precise interactive teleoperation environment. We illustrate our approach on a teleoperative manipulation task and analyze the performance results. The performance-comparison experimental results demonstrate that the control mode employing our method can assist the operator more precisely in teleoperative tasks. Due to the properties such as collision avoidance and safety, operators can complete the tasks more efficiently along with reduction in operating tension.</p>
</abstract>
</article-meta>
</front>
<body><sec id="sec1"><title>1. Introduction</title>
<p>The concept of virtual fixtures is presented by Kikuuwe [<xref rid="B1" ref-type="bibr">1</xref>
] from Stanford University in 1993 to solve the delay problem and to improve the operability of the teleoperation system. Rosenberg constructed 8 types of virtual fixtures in a peg-and-hole task and found out that they can decrease operation time at some extent and increase efficiency by 20 to 70%. Because virtual fixtures have a broad application background in teleoperation, human-machine cooperative system and medicine, fine production, and other fields, there are many thorough researches about it.</p>
<p>Most of these researches are focused on two types of virtual fixtures: guidance virtual fixtures and forbidden region virtual fixtures. Guidance virtual fixtures are needed when a robotic manipulator is needed to move along with a planned path precisely. Forbidden region virtual fixtures are used to prevent a robotic manipulator entering some specific region in order to avoid some damage. Bettini et al. [<xref rid="B3" ref-type="bibr">2</xref>
] studied the performance of real-time video feedback virtual fixtures. Based on this research, Kang, Park, and Ewing studied the performance of video and tactile feedback virtual fixtures. Nowadays, with the help of some techniques such as virtual fixtures (VFs), high precise manipulation task is finished by robotic assistants. The surgeon is capable of more precise surgery in robotic-assisted procedures. VFs are algorithms which limit a robotic manipulator into restricted regions [<xref rid="B4" ref-type="bibr">3</xref>
–<xref rid="B8" ref-type="bibr">7</xref>
] and/or direct a robotic manipulator to move along with the planned path [<xref rid="B9" ref-type="bibr">8</xref>
–<xref rid="B11" ref-type="bibr">10</xref>
]. This following literature has discussed VFs. References [<xref rid="B9" ref-type="bibr">8</xref>
, <xref rid="B12" ref-type="bibr">11</xref>
–<xref rid="B14" ref-type="bibr">13</xref>
] are for telerobots and [<xref rid="B10" ref-type="bibr">9</xref>
, <xref rid="B15" ref-type="bibr">14</xref>
–<xref rid="B18" ref-type="bibr">17</xref>
] are for cooperative robots.</p>
<p>FRVFs (forbidden region virtual fixtures) are used to restrict the surgical tool into certain region in workspace. Beasley and Howe [<xref rid="B19" ref-type="bibr">18</xref>
] set an active constraint to guide the robot to cut femur and tibia within a permitted region in prosthetic knee surgery. Park et al. [<xref rid="B20" ref-type="bibr">19</xref>
] developed VFs based on sensor that limit the robot's motion or direct the surgeon to move the surgical instruments in a planned path using haptic feedback. During a teleoperated coronary bypass, there is a virtual wall guiding a surgeon's instrument based on the location of the internal mammary artery obtained from a preoperative computer tomography scan.</p>
<p>Bettini et al. [<xref rid="B10" ref-type="bibr">9</xref>
] concentrated on researches for guidance VFs. They used vision information to generate VFs, examined the hard and soft VFs, and worked on the application to vitreoretinal surgery. Marayong et al. [<xref rid="B21" ref-type="bibr">20</xref>
] demonstrated motion constraints by varying compliance that was described for the general spatial case. In these researches, admittance control laws are used to implement VFs. A passive arm with dynamic constraints (PADyc) has been developed by Li et al. [<xref rid="B16" ref-type="bibr">15</xref>
, <xref rid="B18" ref-type="bibr">17</xref>
, <xref rid="B22" ref-type="bibr">21</xref>
] for pericardial puncture. They implement VFs to restrict surgical tools to move along planned paths or away from forbidden regions by using electrical motors to choose a clutching system for freewheels. The main advantage of this method is that the robot cannot provide motive force without the help of the surgeon. This has been considered as one safety advantage because it can prevent a robot from losing control. But there are some limitations including mechanical complexity and loss of the robot's ability to actively assist in surgical procedures. A robotic system for fully automated paranasal sinus surgery is developed by Wurm et al. [<xref rid="B23" ref-type="bibr">22</xref>
]. This system uses preoperative CT to direct the robot's autonomous motion and it allows being remote controlled by a joy stick. A mechatronic system for FESS (functional endoscopic sinus surgery) has been presented by Lueth's group [<xref rid="B24" ref-type="bibr">23</xref>
–<xref rid="B26" ref-type="bibr">25</xref>
]. According to a 3D model from CT data, they planned a safe working space preoperatively. In the middle of the operation, the shaver is automatically turned on/off according to the position of the shaver tip. In the safe area, the shaver reacts to signals from the surgeon. When the tip of the shaver moves outside the safe area, an electrical pulse will stop the shaver by interrupting its automatic drive control. This navigation-based system is only concerned with the position of shaver tip.</p>
<p>In this paper, we present an online obstacle-avoidance method for serial robot in geometrically complex environments. We extend Li's work [<xref rid="B16" ref-type="bibr">15</xref>
] to generate VFs for obstacle avoidance and a new potential collision-constraint-detection method has been proposed. In this method, two pipes (the warning pipe and the safe pipe) are automatically generated from 3D reference path in real time. The safe pipe serves as spatial constraints for constrained robot control. The warning pipe adjusts the radius to detect the deviation of the robot EE from the reference path by calculating the speed and the acceleration of the robot EE. In our experiment (<xref ref-type="fig" rid="fig1">Figure 1</xref>
), two assisted modes were implemented: one pipe assisted mode [<xref rid="B16" ref-type="bibr">15</xref>
] (OPAM) and two pipes assisted mode (TPAM). The former mode used the fixed VFs [<xref rid="B16" ref-type="bibr">15</xref>
] to guide the robot EE but in our method (the latter mode), two types of VFs were used to guide and constrain the robot EE. When the robot EE collides with the pipes, our system will give warning information based on vision to the operator: changing the color of the pipes. Due to the warning pipe, our new spatial-motion-constraints method enables multiobstacle manipulation task of telerobot in precise interactive teleoperation environment.</p>
<p>The remainder of the paper is organized as follows. <xref ref-type="sec" rid="sec2"> Section 2</xref>
provides a brief summary of path and the pipes building algorithm. In <xref ref-type="sec" rid="sec3">Section 3</xref>
, we introduce the dynamic adjustment algorithm of the safe pipe and the warning pipe. In <xref ref-type="sec" rid="sec4">Section 4</xref>
, we report the experiment results of two control modes. We conclude the paper and discuss possible future extensions in <xref ref-type="sec" rid="sec5">Section 5</xref>
.</p>
</sec>
<sec id="sec2"><title>2. Path and Pipes</title>
<p>The path is a possible route obtained by the robot path planning. Path planning is a kind of algorithm which finds out a collision-free path in all generalized coordinates of a robot with some valuation criteria by the given initial positions and orientations of the robot. A pipe gives the robot a safe space in which the robot can move freely without collision. The pipes are built based on the paths. They can divide the safe spaces and can also guide and give active early warnings.</p>
<p>The pipes take the paths as medial axis, and the path is formed by a series of path points. Thus, the pipes are formed by discrete pipe units.</p>
<p>The pipes are built by many pipe units. The pipe units are formed by two cross sections and a cylinder. The shape of cross section is decided by the predefined shape of the pipes. Cross section is formed by polygon and circle section is formed by polygon which has more sides.</p>
<sec id="sec2.1"><title>2.1. Choosing a Starting Point of Cross Section</title>
<p>As we know, a polygon can be finalized by the given central point, the central axis, and the starting point. How to choose the starting point depends on the origin of the coordinate system. There is a central point <italic>P</italic>
, a central axis <italic>L</italic>
, and an origin point <italic>O</italic>
. Firstly, connect the original point and the central point to get the reference vector <italic>OP</italic>
. The vertical vector <italic>Q</italic>
can be calculated:
<disp-formula id="EEq1"><label>(1)</label>
<mml:math id="M1"><mml:mtable><mml:mtr><mml:mtd><mml:mi>Q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>O</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Unitize <italic>Q</italic>
and then get <italic>t</italic>
<sub><italic>Q</italic>
</sub>
. <italic>S</italic>
is the point which is <italic>r</italic>
length from <italic>P</italic>
along the direction of
<disp-formula id="EEq2"><label>(2)</label>
<mml:math id="M2"><mml:mtable><mml:mtr><mml:mtd><mml:mi>S</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>Q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>When there is an overlap between the central point and the origin point, we can take the unit vector of <italic>X</italic>
axis to be the reference vector.</p>
</sec>
<sec id="sec2.2"><title>2.2. Constructing a Polygon</title>
<p>The key to create a polygon is to determine the vertexes of the polygon. Assume that there is a polygon with <italic>n</italic>
sides. Then the radius angle of two adjacent vertices is
<disp-formula id="EEq3"><label>(3)</label>
<mml:math id="M3"><mml:mtable><mml:mtr><mml:mtd><mml:mi>θ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mi>π</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>After the starting point and the central axis were known, the second point can be obtained through rotating the central axis by <italic>θ</italic>
degrees.</p>
<p>Below is the transformation matrix of the next point which revolves around the previous point. Assuming that the coordinate of the previous point is <bold>A</bold>
(<italic>A</italic>
<sub>1</sub>
, <italic>A</italic>
<sub>2</sub>
, <italic>A</italic>
<sub>3</sub>
), the central axis is <bold>B</bold>
(<italic>B</italic>
<sub>1</sub>
, <italic>B</italic>
<sub>2</sub>
, <italic>B</italic>
<sub>3</sub>
). To revolve around <bold>B</bold>
axis, <bold>A</bold>
should move to the origin. Then revolves around the <italic>θ</italic>
degrees of the central axis by <italic>θ</italic>
degrees and move it inversely. Thus, this transformation matrix <bold>T</bold>
is<disp-formula id="EEq4"><label>(4)</label>
<mml:math id="M4"><mml:mtable><mml:mtr><mml:mtd><mml:mi mathvariant="bold">T</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>[</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">13</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">21</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">23</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">21</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">31</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">32</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">33</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">31</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">32</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">33</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn mathvariant="normal">0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn mathvariant="normal">0</mml:mn>
</mml:mtd>
<mml:mtd><mml:mn mathvariant="normal">1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>In this equation, we have
<disp-formula id="eq5"><label>(5)</label>
<mml:math id="M5"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">21</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">31</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">32</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">33</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mrow><mml:mi>cos</mml:mi>
<mml:mo></mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mrow><mml:mi>sin</mml:mi>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mrow><mml:mrow><mml:mi>cos</mml:mi>
<mml:mo></mml:mo>
</mml:mrow>
<mml:mo></mml:mo>
<mml:mrow><mml:mi>θ</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>The next <bold>A</bold>
′ can be obtained by
<disp-formula id="EEq5"><label>(6)</label>
<mml:math id="M6"><mml:mtable><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi mathvariant="bold">A</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>After determining the <italic>n</italic>
− 1 points, the whole vertexes can be determined. Correspondingly, cross section is determined. And then next step should be the construction of cylinders.</p>
</sec>
<sec id="sec2.3"><title>2.3. Constructions of Cylinders</title>
<p>To enable pipes to detect collision in virtual environment, pipes are formed by triangles. In this algorithm, cylinders are formed by connecting two vertexes of two adjacent cross sections.</p>
<p>The rule of constructing triangles is to pick up and connect the three adjacent points in each row like {1,2, 3}, {2,3, 4},…, {<italic>n</italic>
− 1, <italic>n</italic>
, <italic>n</italic>
+ 1} which means the (<italic>n</italic>
+ 1)th point is completely overlapped with the first point and then that makes sure that cylinders are joined together.</p>
</sec>
<sec id="sec2.4"><title>2.4. Splicing of Pipe Units</title>
<p>If there are two pipe orifices which have the same shape, the algorithm of splicing pipe units is the same as above (algorithm of constructing cylinders). When the shapes of two pipe orifices are different, there need to be splicing pipe units to join those pipes. The algorithm of creating the splicing pipe is introduced below.</p>
<p>Assume that the shape of the cross section of the pipe 1 is a polygon which has <italic>n</italic>
<sub>1</sub>
sides. And assume that for pipe 2, the cross section is <italic>n</italic>
<sub>2</sub>
. So there also needs to be a linking pipe to connect pipe 1 and pipe 2. This paper chooses <italic>n</italic>
<sub>3</sub>
sides polygon; here <italic>n</italic>
<sub>3</sub>
is the common multiple of <italic>n</italic>
<sub>1</sub>
and <italic>n</italic>
<sub>2</sub>
as the cross section of the linking pipe
<disp-formula id="EEq6"><label>(7)</label>
<mml:math id="M7"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Here <italic>gcd</italic>
means the common multiple of the two numbers.</p>
<p>When connecting two pipes, the triangles' numbering rule needs to be adjusted because the shapes of two polygons are different. As we know, <italic>n</italic>
<sub>3</sub>
can be divisible by <italic>n</italic>
<sub>1</sub>
or <italic>n</italic>
<sub>2</sub>
. When numbering the triangles, many-to-one mapping strategy is employed.</p>
</sec>
</sec>
<sec id="sec3"><title>3. Dynamic Pipe Adjustment Algorithm</title>
<p>Pipes which are generated by this generation algorithm can be changed dynamically according to the given path and radius. Here are two dynamic pipe adjustment algorithms. The first one is dynamic pipe scaling algorithm. It generates the extended safe pipe which plays a guide role and divides safe region. The robot EE can reach its destination safely as long as it does not exceed the range of pipe region and moves along the direction of the pipe.</p>
<p>The second one is pipe early warning method. This method would generate two pipes. The first pipe is the safe pipe which cannot be extended dynamically but can guide the operators and provide the safe region. The second pipe is the early warning pipe. It gives a real-time warning once there was any muscles jitter of the operators during the robot controlling.</p>
<sec id="sec3.1"><title>3.1. Dynamic Extension Algorithm</title>
<p>Safe extended pipes need to be adjusted dynamically according to how far the robot EE strays from the path. One capability of the safe extended pipes is to provide a safe region to protect robot EE from colliding with other objects as long as it moves within the safe region (<xref ref-type="fig" rid="fig2">Figure 2</xref>
). That requires the safe extended pipes to adjust dynamically and to give the operator an early warning. The safe pipe region should be big enough for the robot EE to move around. Safe extended pipe keeps extending until it reaches around the obstacles. If the robot EE crosses the safe extended pipe, The system will issue a warning that the robot EE is in a dangerous region. Safe extended pipes also functioned as guidance. In this method, safe extended pipe is designed as a pipe from thick to spindly which can lead the robot EE to move towards the target.</p>
<p>Given a safe path, the robot EE is at the starting point of the safe path. Assume that the diameter of the robot EE's cross section is <italic>k</italic>
, the length of the path is <italic>G</italic>
, and also <italic>G</italic>
> 4<italic>k</italic>
. The initial point is <italic>P</italic>
<sub>0</sub>
and <italic>P</italic>
<sub>4<italic>k</italic>
</sub>
is the point which is 4<italic>k</italic>
away from <italic>P</italic>
<sub>0</sub>
. At <italic>P</italic>
<sub>0</sub>
the cross section diameter of the safe extended pipe is 4<italic>k</italic>
and at <italic>P</italic>
<sub>4<italic>k</italic>
</sub>
it changes to 2<italic>k</italic>
. Thus, for any point <italic>P</italic>
<sub><italic>n</italic>
</sub>
, the cross section cross-sectional diameter is
<disp-formula id="EEq7"><label>(8)</label>
<mml:math id="M8"><mml:mtable><mml:mtr><mml:mtd><mml:mi>d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>></mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>When the robot EE strays from the safe path, the safe extended pipe needs to be adjusted accordingly to fit the changed working space of the robot EE. To display the direction and the rate of deviation of the robot EE intuitively, dynamic self-adaptive adjustment strategy is employed. Here we take the extended direction of the safe pipe to be <italic>Y</italic>
and the extended amount to be <italic>D</italic>
.</p>
<p>Assume that robot EE strays from safe path in <italic>y</italic>
direction and its offset is <italic>x</italic>
. According to the self-adaptive adjustment strategy, the cross-sectional centre of the safe extended pipe at the initial point is the centre of the robot EE and the cross-sectional radius is 2<italic>k</italic>
+ <italic>x</italic>
. Thus, the other centre points of the safe extended pipe <italic>P</italic>
′are adjusted as follows:
<disp-formula id="EEq8"><label>(9)</label>
<mml:math id="M9"><mml:mtable><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mover><mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>⟶</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>></mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Here <italic>δ</italic>
is a unit normal vector and <italic>P</italic>
<sub><italic>c</italic>
</sub>
is the original center point of the safe extended pipe.</p>
<p>Cross-sectional's radius of <italic>P</italic>
′ is adjusted as follows:
<disp-formula id="EEq9"><label>(10)</label>
<mml:math id="M10"><mml:mtable><mml:mtr><mml:mtd><mml:mi>d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub><mml:mrow><mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>></mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>k</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="sec3.2"><title>3.2. Initiative Early Warning Algorithm of Safe Pipes</title>
<p>In the initiative warning algorithm, there are two pipes. The outer one is a safe pipe and the inner one is an early warning pipe. Formula (<xref ref-type="disp-formula" rid="EEq7">8</xref>
) can be a reference to the generation algorithm of safe pipe. The difference between the safe pipe and the safe extended pipe is that the safe pipe cannot be extended dynamically. Early warning pipe is used to monitor the deviation of the robot EE and it needs to be adjusted according to the deviation of the robot EE (<xref ref-type="fig" rid="fig3">Figure 3</xref>
). If the robot EE crosses warning pipe, the system will alarm a warning report operator that the robot EE is in dangerous region. The safe extended pipe is designed as a pipe from thick to spindly which can lead the robot EE to the target.</p>
<p>Given a path, the robot EE is at the initial point of the path. Assuming that the cross-sectional diameter is <italic>h</italic>
, the length of the path is <italic>R</italic>
and <italic>R</italic>
> 4<italic>h</italic>
. The initial point is <italic>C</italic>
<sub>0</sub>
and <italic>C</italic>
<sub>4<italic>h</italic>
</sub>
is the point which is 4<italic>h</italic>
away from <italic>P</italic>
<sub>0</sub>
. The cross-sectional diameter at <italic>C</italic>
<sub>0</sub>
is 4<italic>h</italic>
and the diameter is <italic>h</italic>
when at <italic>P</italic>
<sub>4<italic>h</italic>
</sub>
. Thus, for any point <italic>C</italic>
, its cross-sectional diameter is
<disp-formula id="EEq10"><label>(11)</label>
<mml:math id="M11"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>></mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>When the robot EE strays from the path, the early warning pipe needs to adjust itself accordingly, so that it can give a real-time warning when the robot EE crosses safe pipe.</p>
<p>Assuming that the robot's current moving speed is <italic>v</italic>
, its acceleration is <italic>a</italic>
. Then the robot's displacement at the next moment is
<disp-formula id="EEq11"><label>(12)</label>
<mml:math id="M12"><mml:mtable><mml:mtr><mml:mtd><mml:mi>s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>v</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>a</mml:mi>
<mml:msup><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Here <italic>t</italic>
is time interval.</p>
<p>The diameter of early pipe is
<disp-formula id="EEq12"><label>(13)</label>
<mml:math id="M13"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:mo>{</mml:mo>
<mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo>
<mml:mrow><mml:mi>C</mml:mi>
<mml:msub><mml:mrow><mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>></mml:mo>
<mml:mn mathvariant="normal">4</mml:mn>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="sec3.3"><title>3.3. Collision Detection</title>
<p>In order to detect whether the robot EE passes through the pipe, this paper uses K-DOPs algorithm [<xref rid="B27" ref-type="bibr">26</xref>
] to detect the collision between the robot EE and the pipes. K-DOPs can detect the collision in real time. In order to use K-DOPs, the pipe is designed as a set of triangles. In addition, K-DOPs can calculate the collision point and the collision direction. When the robot EE passes through the pipe, K-DOPs will calculate the crossing position and the direction, and then the operator can adjust the robot EE to the negative direction.</p>
</sec>
<sec id="sec3.4"><title>3.4. Analysis of Time Complexity</title>
<p>Assuming the sides of the pipe units are <italic>n</italic>
′ and the number of discrete points of the pipe path is <italic>m</italic>
, then the frequency of choosing initial points is <italic>m</italic>
, the frequency of constructing polygon is 16<italic>n</italic>
′<italic>m</italic>
, the frequency of constructing cylinder is <italic>m</italic>
(<italic>n</italic>
′ − 1), and the frequency of connecting pipe units is 3<italic>n</italic>
′(<italic>m</italic>
− 1). Thus, the total frequency of constructing pipes is
<disp-formula id="EEq13"><label>(14)</label>
<mml:math id="M14"><mml:mtable><mml:mtr><mml:mtd><mml:maligngroup></mml:maligngroup>
<mml:mi>f</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:malignmark></mml:malignmark>
<mml:mo>=</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">16</mml:mn>
<mml:mi></mml:mi>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>m</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>m</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi></mml:mi>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">3</mml:mn>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>m</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:maligngroup></mml:maligngroup>
<mml:malignmark></mml:malignmark>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">20</mml:mn>
<mml:mi>m</mml:mi>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">3</mml:mn>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Its time complexity is
<disp-formula id="EEq14"><label>(15)</label>
<mml:math id="M15"><mml:mtable><mml:mtr><mml:mtd><mml:mi>T</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>O</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>m</mml:mi>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>In the dynamic pipes adjustment algorithm, radius of each pipe unit is only updated once. And for every point in the pipe, its coordinates are needed to be recalculated once. Then the total frequency is
<disp-formula id="EEq15"><label>(16)</label>
<mml:math id="M16"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">16</mml:mn>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>m</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Its time complexity is
<disp-formula id="EEq16"><label>(17)</label>
<mml:math id="M17"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>O</mml:mi>
<mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mi>m</mml:mi>
<mml:msup><mml:mrow><mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
<sec id="sec4"><title>4. Evaluation</title>
<p>Considering of all the described pipes and their effect, a series of tests are proposed to evaluate this teleoperation assistance. The test is performed on grabbing an object from a cabined box in a 3D environment. The experiments were carried out by 6 individual computer experts, who were men and women between 22 and 30 years old.</p>
<sec id="sec4.1"><title>4.1. Experimentation Environment</title>
<p>A teleoperation platform based on virtual reality is built up (see <xref ref-type="fig" rid="fig4">Figure 4</xref>
). In the local site, a virtual emulator system (VES) and a video feedback system (VFS) are built up to feed back the information to the operator. The video is serial images which are from the cameras fitted in the remote site. The remote cameras are used to watch the state of the real robot. In this experiment, considering the real environment of teleoperation, the system limits bandwidth to 30 kB/s and the delay time is approximately 3 seconds. The robot is a GOOGOL GRB606 with 6 DOF. Firstly, the teleoperated robot is about 80 cm from the table. The aim of the task is inserting the peg into the hole without colliding with the table. A 6-DOF force feedback device (FFD, PHANTOM DESKTOP) is used as the input interface device so that the operator can move and orient the robot EE. A camera with a resolution of 640 × 480 pixels is mounted to feed the visible scene back to the operator as the output interface device (OID). The feedback and the virtual display consist of a 16.1 in, 1280 × 1024 pixel resolution monitor. The peg was cylinder with 7.5 mm in radius and 50 mm long. The radius of the hole was 19 mm. The robot EE consisted of a square block and two claws. The size of the block was 100 mm (<italic>W</italic>
) × 100 mm (<italic>L</italic>
) × 80 mm (<italic>H</italic>
) and that of the claw was 100 mm (<italic>W</italic>
) × 100 mm (<italic>L</italic>
) × 10 mm (<italic>H</italic>
). The OID programs run on an Intel(R) Core(TM) PC. <xref ref-type="fig" rid="fig7"> Figure 7</xref>
shows the experimental environment. The workspace of FFD was 160 mm (<italic>X</italic>
) × 130 mm (<italic>Y</italic>
) × 130 mm (<italic>Z</italic>
) and the position resolution of it was 0.2 mm.</p>
</sec>
<sec id="sec4.2"><title>4.2. Grabbing Object Experiment</title>
<p>There are two modes to carry out the task: two pipes assisted mode (TPAM) and one pipe assisted mode (OPAM) [<xref rid="B16" ref-type="bibr">15</xref>
]. In the local site, a virtual system and a video feedback system were designed to assist the operator. The operator can make serial safe movements in the virtual system and send the instruction to the telerobot. The operator can carry out the task by continuous instructions. When there is any collision between the virtual pipes and the virtual box, the operator must make all the instructions over again.</p>
<p>In OPAM, a fixed VF [<xref rid="B16" ref-type="bibr">15</xref>
] was designed to assist the operator to insert the peg into the hole. The fixed VF was a symmetrical pipe and one end of it is thick but the other one is thin. The radius of the one end closed to the robot EE was 100 mm, and the other end closed to the hole was 19 mm. The operator could control the FFD to move and orient the robot EE to control the peg along with the pipe. In this mode, the operator monitored the virtual window and the feedback video window to catch the state of the remote robot. When the robot EE was close to the hole, the operator must be very careful because the robot EE would have collided with the box easily.</p>
<p>In TPAM, two pipes were designed automatically to help the operator to locate the robot EE without any collision. In our method, we did not need to design the pipes. The thing we needed to do was set the path. In the experiment, we drew a safe path from the EE to the center of the hole, and then the system created two pipes automatically: the safe pipe and the warning pipe. The safe pipe could expand until the safe pipe collided with the edge of the hole and the warning pipe would adjust the radius of itself. In this mode, the operator monitored the virtual window and the feedback video window to catch the state of the remote robot. As the operator moves the robot toward the hole, the safe pipe changes continuously to make sure the robot EE will not collide with the edge of the hole.</p>
<p>There were two steps in each experiment: approaching and inserting. In the period of approaching, the workspace of the robot was 800 mm × 800 mm × 800 mm but in the period of inserting, it was 80 mm × 80 mm × 80 mm. Since the workspace of FFD was 160 mm (<italic>X</italic>
) × 130 mm (<italic>Y</italic>
) × 130 mm (<italic>Z</italic>
) and the position resolution of it was 0.2 mm, the accuracy of the robot control was 1.10 mm (<italic>X</italic>
) × 1.23 mm (<italic>Y</italic>
) × 1.23 mm (<italic>Z</italic>
) and 0.10 mm (<italic>X</italic>
) × 0.12 mm (<italic>Y</italic>
) × 0.12 mm (<italic>Z</italic>
) in the period of approaching and inserting, respectively. The experiments were carried out by 6 individual operators, who were men and women between 23 and 30 years old.</p>
</sec>
<sec id="sec4.3"><title>4.3. Result</title>
<p>The results of the peg-into-hole under TPAM and OPAM are shown in Tables <xref ref-type="table" rid="tab1">1</xref>
and <xref ref-type="table" rid="tab2">2</xref>
and <xref ref-type="fig" rid="fig5">Figure 5</xref>
(Test 3). The 3D paths of the robot EE in TPAM and OPAM as well as the reference path for the entire test 3 are shown in <xref ref-type="fig" rid="fig5">Figure 5(a)</xref>
. Figures <xref ref-type="fig" rid="fig5">5(b)</xref>
–<xref ref-type="fig" rid="fig5">5(d)</xref>
show the displacements of the robot EE positions. There are three circles on each curve of the reference paths. From the beginning to the first circle is the period of closing to the hole, from the first circle to the second circle is the period of inserting the peg, and from the second circle to the third circle is the period of departing from the hole. The period of closing to the hole was from 1st s to 9th s, and the period of inserting the peg into the hold was from 9th s to 13th s, as well as the period of departing from the hole was from 13th s to the 17th s.</p>
<p>In order to evaluate the goodness of the path, the deviation from the reference path was introduced as path errors.</p>
<p>Supposing that the sampling point of the reference path is <italic>W</italic>
<sub><italic>k</italic>
</sub>
(<italic>x</italic>
<sub><italic>k</italic>
</sub>
, <italic>y</italic>
<sub><italic>k</italic>
</sub>
, <italic>z</italic>
<sub><italic>k</italic>
</sub>
), and <italic>V</italic>
<sub><italic>k</italic>
</sub>
(<italic>x</italic>
<sub><italic>k</italic>
</sub>
′, <italic>y</italic>
<sub><italic>k</italic>
</sub>
′, <italic>z</italic>
<sub><italic>k</italic>
</sub>
′) is the sampling point of the practice path, where <italic>k</italic>
= 1, 2,…, <italic>N</italic>
and <italic>N</italic>
is the number of the sample points, the path errors can be defined as follows.</p>
<p>The deviation between two paths in <italic>x</italic>
, <italic>y</italic>
, <italic>z</italic>
is
<disp-formula id="EEq17"><label>(18)</label>
<mml:math id="M18"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:msubsup><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>||</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>||</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:msubsup><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>||</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>||</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:mrow><mml:msubsup><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow><mml:mrow><mml:mo>||</mml:mo>
<mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>′</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>||</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>And the 3D path error is defined as follows:
<disp-formula id="EEq18"><label>(19)</label>
<mml:math id="M19"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt><mml:mrow><mml:mo>(</mml:mo>
<mml:mrow><mml:msubsup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Errors in paths for the test 3 were shown in Figures <xref ref-type="fig" rid="fig5">5(e)</xref>
–<xref ref-type="fig" rid="fig5">5(g)</xref>
, which ranged from 15.77 to +18.45 mm in <italic>X</italic>
, from −15.55 mm to +15.91 mm in <italic>Y</italic>
, and from 19.19 to +15.97 mm in <italic>Z</italic>
, from the deviation of the reference path and the path in the TPAM, respectively. And in the OPAM, the errors ranged from −18.39 to +25.45 mm in <italic>X</italic>
, from −20.55 to +29.68 mm in <italic>Y</italic>
, and from −24.19 to +28.52 mm in <italic>Z</italic>
. The mean absolute errors in TPAM were 3.31 mm in <italic>X</italic>
, 3.35 mm in <italic>Y</italic>
, and 3.70 mm in <italic>Z</italic>
with standard deviations (SDs) of 0.21 mm, 0.32 mm, and 0.33 mm. Compared with the mean absolute errors in OPAM, 9.68 mm in <italic>X</italic>
, 9.56 mm in <italic>Y</italic>
, and 10.87 mm in <italic>Z</italic>
with standard deviations (SDs) of 0.67 mm, 0.47 mm, and 0.43 mm, the errors in TPAM were very low. During the object manipulation tasks, some minor correction of the position and the orientation for overshoot was required, mainly preceding a gripper inserting the peg into the hole, as shown in Figures <xref ref-type="fig" rid="fig5">5(b)</xref>
–<xref ref-type="fig" rid="fig5">5(d)</xref>
.</p>
<p>The safe pipe was designed to detect the potential collision and the warning pipe constrained the robot EE to follow the referenced path. The robot EE should be in the safe pipe and the warning pipe. When the robot EE passed through the safe pipe, the system should give a warning to the operator to adjust his/her operation. Tables <xref ref-type="table" rid="tab1">1</xref>
and <xref ref-type="table" rid="tab2">2</xref>
gave the results of the pipes.</p>
<p>The manipulation task required that the robot EE needs to get close to the table so that it could insert the peg into the hole. When the robot EE got close to the table, the safe pipe expanded to create more safe space to protect the robot EE without collision. In order to make sure the space inside of the safe pipe was safe, the obstacles should be outside of the safe pipe. When the safe pipe expanded and encountered the edge of the hole, it would stop to expand. So if the robot EE kept moving and passed through the safe pipe, it would collide with the edge of the hole. <xref ref-type="table" rid="tab1"> Table 1</xref>
shows the results of the variety of the safe pipe and <xref ref-type="fig" rid="fig6">Figure 6</xref>
shows the definition of the distances. During the period from 1st s to 9th s, the robot EE got close to the hole continuously. From the 11th s, the robot started to insert the peg into the hole. At the 13th s, the distance between the robot EE and the obstacle was 0.8 mm, but it was 1.0 mm away from the safe pipe and the obstacle. At that time, the robot EE passed through the safe pipe and would collide with the obstacle and the system gave a warning to the operator. After the operator adjusted the operation (positions and orientation), the robot EE moved into the safe pipe again; it was 1.1 mm away from the obstacle which is larger than the distance (1.0 mm) between the safe pipe and the edge of the hole.</p>
<p>The purpose of the warning pipe was to detect the deviation from the reference path. When the robot EE deviated from the deviation, the system would predict the safe distance through the speed and the acceleration and change the radius of warning pipe. When the robot EE passed through the warning pipe, the system would give the operator warning. The initial purpose was that the warning pipe could detect the potential dangers and adjust the real path in time. The greater the deviation was, the larger the safe distance predicted was, and the radius of the warning pipe was smaller. During the manipulation proceeding, the robot EE should follow the reference. But due to muscle tremors or operate miss, the robot EE deviated from the reference some time. <xref ref-type="table" rid="tab2"> Table 2</xref>
shows the results of the radius changes of the warning pipe. At the 13th s, the deviation was 8.7 mm, along with 8.3 mm in the radius of the warning pipe. So the system gave the warning to the operator to remind him to adjust the operation in time.</p>
<p>The main purpose of the experiments is to evaluate the improvement of the operator's manipulating with the virtual fixtures derived from complex geometry, compared with nonassisted instrument manipulation. Our constrained control method works for the traditional master-slave teleoperation. We evaluated the user's performance of peg-into-hole, with both OPAM and TPAM. We simply used an available PHANTOM DESKTOP as the teleoperation master hand controller.</p>
<p>The experiments were completed by 6 operators with both OPAM and TPAM. The mean absolute errors between the reference path and the robot path were shown in Tables <xref ref-type="table" rid="tab3">3</xref>
and <xref ref-type="table" rid="tab4">4</xref>
. In OPAM mode, the mean absolute errors (MAEs) for the six tests in the period of approaching ranged from 9.24 mm to 12.44 mm in <italic>X</italic>
, 8.21 mm to 9.90 mm in <italic>Y</italic>
, and 9.56 mm to 13.90 mm in <italic>Z</italic>
, and the mean errors (MEs) were 10.29 mm in <italic>X</italic>
, 9.41 mm in <italic>Y</italic>
, 12.11 mm in <italic>Z</italic>
, and 18.56 mm in 3D path with standard deviations (SDs) of 1.06 mm, 0.57 mm, 1.68 mm, and 1.15 mm. MAEs in TPAM ranged from 2.72 mm to 4.49 mm in <italic>X</italic>
, 1.68 mm to 5.53 mm in <italic>Y</italic>
, and 3.70 mm to 4.89 mm in <italic>Z</italic>
, and the MEs were 3.47 mm in <italic>X</italic>
, 3.20 mm in <italic>Y</italic>
, 4.06 mm in <italic>Z</italic>
, and 6.32 mm in 3D path, with SDs of 0.35 mm, 1.46 mm, 0.20 mm, and 0.44 mm. In the period of inserting, the MEs in OPAM were 1.38 mm in <italic>X</italic>
, 1.58 mm in <italic>Y</italic>
, 1.62 mm in <italic>Z</italic>
, and 2.69 mm in 3D path. Comparing with the OPAM, the MEs in path drop 1.47 mm in TPAM. The results show that the operating errors are lower in TPAM than those in OPAM, which is due to the assisted pipes making the manipulation more precise.</p>
<p>The operating time is longer in OPAM than in TPAM, as shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>
. Without the aid of the warning pipe, the operators needed to make more minor correction to adjust the orientation. The operating time in OPAM ranged from 21 s to 24 s with the average time being 22.56 s. Compared with the OPAM, the time drops to 16.8 s in TPAM, which ranged from 16 s to 18 s.</p>
</sec>
</sec>
<sec id="sec5"><title>5. Conclusion</title>
<p>This paper has developed a real-time task-based control method of a telerobot in a precise interactive teleoperation environment. Computer guidance (remote teleoperative control) employing spatial motion constraints generated by virtual fixtures can assist the operators in skilled manipulation tasks. The virtual fixtures can provide the desirable properties, such as safety and collision avoidance.</p>
<p>The results of the experiments demonstrate that the TPAM is better in shortening the operating time and the accuracy improvement. The experimental results show that there is remarkable reduction in operating tension on avoiding collision of the instrument, which can improve the manipulation efficient.</p>
<p>In this paper, the comparison has been taken concerning the performance of OPAM and TPAM in a complicated working volume. The performance-comparison experiment results show that the TPAM operation is more intuitive for operator to use. The execution time with TPAM operation is shorter than OPAM, as it is also more precise than OPAM. The experiment comparison shown here is intended to demonstrate the improvement of our spatial constraints method in TPAM.</p>
<p>The primary focus of this paper is to develop a technique for controlling the motion of teleoperated robots via simple real-time geometric virtual fixtures. In the future work, we will use hybrid feedback patterns (force and vision) to assist the operator.</p>
</sec>
</body>
<back><sec sec-type="conflict"><title>Conflict of Interests</title>
<p>The authors declare that there is no conflict of interests regarding the publication of this paper.</p>
</sec>
<ref-list><ref id="B1"><label>1</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kikuuwe</surname>
<given-names>R</given-names>
</name>
<name><surname>Takesue</surname>
<given-names>N</given-names>
</name>
<name><surname>Fujimoto</surname>
<given-names>H</given-names>
</name>
</person-group>
<article-title>A control framework to generate nonenergy-storing virtual fixtures: use of simulated plasticity</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2008</year>
<volume>24</volume>
<issue>4</issue>
<fpage>781</fpage>
<lpage>793</lpage>
<pub-id pub-id-type="other">2-s2.0-50649103258</pub-id>
</element-citation>
</ref>
<ref id="B3"><label>2</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bettini</surname>
<given-names>A</given-names>
</name>
<name><surname>Marayong</surname>
<given-names>P</given-names>
</name>
<name><surname>Lang</surname>
<given-names>S</given-names>
</name>
<name><surname>Okamura</surname>
<given-names>AM</given-names>
</name>
<name><surname>Hager</surname>
<given-names>GD</given-names>
</name>
</person-group>
<article-title>Vision-assisted control for manipulation using virtual fixtures</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2004</year>
<volume>20</volume>
<issue>6</issue>
<fpage>953</fpage>
<lpage>966</lpage>
<pub-id pub-id-type="other">2-s2.0-10944261380</pub-id>
</element-citation>
</ref>
<ref id="B4"><label>3</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Rosenberg</surname>
<given-names>LB</given-names>
</name>
</person-group>
<source><italic>Virtual fixtures [Ph.D. thesis]</italic>
</source>
<year>1994</year>
<publisher-loc>Stanford, Calif, USA</publisher-loc>
<publisher-name>Department of Mechanical Engineering, Stanford University</publisher-name>
</element-citation>
</ref>
<ref id="B5"><label>4</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Lai</surname>
<given-names>F</given-names>
</name>
<name><surname>Howe</surname>
<given-names>RD</given-names>
</name>
</person-group>
<article-title>Evaluating control modes for constrained robotic surgery</article-title>
<conf-name>Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '00)</conf-name>
<conf-date>April 2000</conf-date>
<fpage>603</fpage>
<lpage>609</lpage>
<pub-id pub-id-type="other">2-s2.0-0033715935</pub-id>
</element-citation>
</ref>
<ref id="B6"><label>5</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Peshkin</surname>
<given-names>MA</given-names>
</name>
<name><surname>Edward Colgate</surname>
<given-names>J</given-names>
</name>
<name><surname>Wannasuphoprasit</surname>
<given-names>W</given-names>
</name>
<name><surname>Moore</surname>
<given-names>CA</given-names>
</name>
<name><surname>Brent Gillespie</surname>
<given-names>R</given-names>
</name>
<name><surname>Akella</surname>
<given-names>P</given-names>
</name>
</person-group>
<article-title>Cobot architecture</article-title>
<source><italic>IEEE Transactions on Robotics and Automation</italic>
</source>
<year>2001</year>
<volume>17</volume>
<issue>4</issue>
<fpage>377</fpage>
<lpage>390</lpage>
<pub-id pub-id-type="other">2-s2.0-0035428356</pub-id>
</element-citation>
</ref>
<ref id="B7"><label>6</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Payandehand</surname>
<given-names>S</given-names>
</name>
<name><surname>Stanisic</surname>
<given-names>Z</given-names>
</name>
</person-group>
<article-title>On application of virtual fixture as an aid for telemanipulation and training</article-title>
<conf-name>Proceedings of the 10th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems</conf-name>
<conf-date>2002</conf-date>
<fpage>18</fpage>
<lpage>23</lpage>
</element-citation>
</ref>
<ref id="B8"><label>7</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ren</surname>
<given-names>J</given-names>
</name>
<name><surname>McIsaac</surname>
<given-names>KA</given-names>
</name>
<name><surname>Patel</surname>
<given-names>RV</given-names>
</name>
<name><surname>Peters</surname>
<given-names>TM</given-names>
</name>
</person-group>
<article-title>A potential field model using generalized sigmoid functions</article-title>
<source><italic>IEEE Transactions on Systems, Man, and Cybernetics B</italic>
</source>
<year>2007</year>
<volume>37</volume>
<issue>2</issue>
<fpage>477</fpage>
<lpage>484</lpage>
<pub-id pub-id-type="other">2-s2.0-34047181491</pub-id>
</element-citation>
</ref>
<ref id="B9"><label>8</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Burschka</surname>
<given-names>D</given-names>
</name>
<name><surname>Corso</surname>
<given-names>JJ</given-names>
</name>
<name><surname>Dewan</surname>
<given-names>M</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Navigating inner space: 3-D assistance for minimally invasive surgery</article-title>
<source><italic>Robotics and Autonomous Systems</italic>
</source>
<year>2005</year>
<volume>52</volume>
<issue>1</issue>
<fpage>5</fpage>
<lpage>26</lpage>
<pub-id pub-id-type="other">2-s2.0-20744450919</pub-id>
</element-citation>
</ref>
<ref id="B10"><label>9</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bettini</surname>
<given-names>A</given-names>
</name>
<name><surname>Marayong</surname>
<given-names>P</given-names>
</name>
<name><surname>Lang</surname>
<given-names>S</given-names>
</name>
<name><surname>Okamura</surname>
<given-names>AM</given-names>
</name>
<name><surname>Hager</surname>
<given-names>GD</given-names>
</name>
</person-group>
<article-title>Vision-assisted control for manipulation using virtual fixtures</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2004</year>
<volume>20</volume>
<issue>6</issue>
<fpage>953</fpage>
<lpage>966</lpage>
<pub-id pub-id-type="other">2-s2.0-10944261380</pub-id>
</element-citation>
</ref>
<ref id="B11"><label>10</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Bettini</surname>
<given-names>A</given-names>
</name>
<name><surname>Lang</surname>
<given-names>S</given-names>
</name>
<name><surname>Okamura</surname>
<given-names>A</given-names>
</name>
<name><surname>Hager</surname>
<given-names>G</given-names>
</name>
</person-group>
<article-title>Vision assisted control for manipulation using virtual fixtures</article-title>
<conf-name>Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name>
<conf-date>November 2001</conf-date>
<fpage>1171</fpage>
<lpage>1176</lpage>
<pub-id pub-id-type="other">2-s2.0-0035559905</pub-id>
</element-citation>
</ref>
<ref id="B12"><label>11</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Aleotti</surname>
<given-names>J</given-names>
</name>
<name><surname>Caselli</surname>
<given-names>S</given-names>
</name>
<name><surname>Reggiani</surname>
<given-names>M</given-names>
</name>
</person-group>
<article-title>Evaluation of virtual fixtures for a robot programming by demonstration interface</article-title>
<source><italic>IEEE Transactions on Systems, Man, and Cybernetics A</italic>
</source>
<year>2005</year>
<volume>35</volume>
<issue>4</issue>
<fpage>536</fpage>
<lpage>545</lpage>
<pub-id pub-id-type="other">2-s2.0-22244432848</pub-id>
</element-citation>
</ref>
<ref id="B13"><label>12</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ekvall</surname>
<given-names>S</given-names>
</name>
<name><surname>Aarno</surname>
<given-names>D</given-names>
</name>
<name><surname>Kragic</surname>
<given-names>D</given-names>
</name>
</person-group>
<article-title>Online task recognition and real-time adaptive assistance for computer-aided machine control</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2006</year>
<volume>22</volume>
<issue>5</issue>
<fpage>1029</fpage>
<lpage>1033</lpage>
<pub-id pub-id-type="other">2-s2.0-33750212019</pub-id>
</element-citation>
</ref>
<ref id="B14"><label>13</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Guthart</surname>
<given-names>GS</given-names>
</name>
<name><surname>Salisbury</surname>
<given-names>KJ</given-names>
<suffix>Jr.</suffix>
</name>
</person-group>
<article-title>Intuitive telesurgery system: overview and application</article-title>
<conf-name>Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '00)</conf-name>
<conf-date>April 2000</conf-date>
<fpage>618</fpage>
<lpage>621</lpage>
<pub-id pub-id-type="other">2-s2.0-0033724356</pub-id>
</element-citation>
</ref>
<ref id="B15"><label>14</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Marayong</surname>
<given-names>P</given-names>
</name>
<name><surname>Bettini</surname>
<given-names>A</given-names>
</name>
<name><surname>Okamura</surname>
<given-names>A</given-names>
</name>
</person-group>
<article-title>Effect of virtual fixture compliance on human-machine cooperative manipulation</article-title>
<conf-name>Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name>
<conf-date>October 2002</conf-date>
<fpage>1089</fpage>
<lpage>1095</lpage>
<pub-id pub-id-type="other">2-s2.0-0036453419</pub-id>
</element-citation>
</ref>
<ref id="B16"><label>15</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Li</surname>
<given-names>M</given-names>
</name>
<name><surname>Ishii</surname>
<given-names>M</given-names>
</name>
<name><surname>Taylor</surname>
<given-names>RH</given-names>
</name>
</person-group>
<article-title>Spatial motion constraints using virtual fixtures generated by anatomy</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2007</year>
<volume>23</volume>
<issue>1</issue>
<fpage>4</fpage>
<lpage>19</lpage>
<pub-id pub-id-type="other">2-s2.0-33947377859</pub-id>
</element-citation>
</ref>
<ref id="B17"><label>16</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Troccaz</surname>
<given-names>J</given-names>
</name>
<name><surname>Peshkin</surname>
<given-names>MA</given-names>
</name>
<name><surname>Davies</surname>
<given-names>BL</given-names>
</name>
</person-group>
<article-title>The use of localizers, robots and synergistic devices in CAS</article-title>
<conf-name>Proceedings of the 1st Joint Conference Computer Vision, Virtual Reality and Robotics in Medicine and Medical Robotics and Computer-Assisted Surgery CVRMed and MRCAS</conf-name>
<conf-date>1997</conf-date>
<fpage>727</fpage>
<lpage>736</lpage>
</element-citation>
</ref>
<ref id="B18"><label>17</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ren</surname>
<given-names>J</given-names>
</name>
<name><surname>Patel</surname>
<given-names>RV</given-names>
</name>
<name><surname>McIsaac</surname>
<given-names>KA</given-names>
</name>
<name><surname>Guiraudon</surname>
<given-names>G</given-names>
</name>
<name><surname>Peters</surname>
<given-names>TM</given-names>
</name>
</person-group>
<article-title>Dynamic 3-D virtual fixtures for minimally invasive beating heart procedures</article-title>
<source><italic>IEEE Transactions on Medical Imaging</italic>
</source>
<year>2008</year>
<volume>27</volume>
<issue>8</issue>
<fpage>1061</fpage>
<lpage>1070</lpage>
<pub-id pub-id-type="other">2-s2.0-48549103097</pub-id>
<pub-id pub-id-type="pmid">18672424</pub-id>
</element-citation>
</ref>
<ref id="B19"><label>18</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Beasley</surname>
<given-names>RA</given-names>
</name>
<name><surname>Howe</surname>
<given-names>RD</given-names>
</name>
</person-group>
<article-title>Increasing accuracy in image-guided robotic surgery through tip tracking and model-based flexion correction</article-title>
<source><italic>IEEE Transactions on Robotics</italic>
</source>
<year>2009</year>
<volume>25</volume>
<issue>2</issue>
<fpage>292</fpage>
<lpage>302</lpage>
<pub-id pub-id-type="other">2-s2.0-65149097150</pub-id>
</element-citation>
</ref>
<ref id="B20"><label>19</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Park</surname>
<given-names>S</given-names>
</name>
<name><surname>Howe</surname>
<given-names>RD</given-names>
</name>
<name><surname>Torchiana</surname>
<given-names>DF</given-names>
</name>
</person-group>
<article-title>Virtual fixtures for robotic cardiac surgery</article-title>
<conf-name>Proceedings of the International Conference on Medical Image Computing and Computer Assisted Intervention</conf-name>
<conf-date>2001</conf-date>
<fpage>1419</fpage>
<lpage>1420</lpage>
</element-citation>
</ref>
<ref id="B21"><label>20</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Marayong</surname>
<given-names>P</given-names>
</name>
<name><surname>Li</surname>
<given-names>M</given-names>
</name>
<name><surname>Okamura</surname>
<given-names>AM</given-names>
</name>
<name><surname>Hager</surname>
<given-names>GD</given-names>
</name>
</person-group>
<article-title>Spatial motion constraints: theory and demonstrations for robot guidance using virtual fixtures</article-title>
<conf-name>Proceedings of the IEEE International Conference on Robotics and Automation</conf-name>
<conf-date>September 2003</conf-date>
<fpage>1954</fpage>
<lpage>1959</lpage>
<pub-id pub-id-type="other">2-s2.0-0344014225</pub-id>
</element-citation>
</ref>
<ref id="B22"><label>21</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Schneider</surname>
<given-names>O</given-names>
</name>
<name><surname>Troccaz</surname>
<given-names>J</given-names>
</name>
</person-group>
<article-title>A six-degree-of-freedom Passive Arm with Dynamic Constraints (PADyC) for cardiac surgery application: preliminary experiments</article-title>
<source><italic>Computer Aided Surgery</italic>
</source>
<year>2001</year>
<volume>6</volume>
<issue>6</issue>
<fpage>340</fpage>
<lpage>351</lpage>
<pub-id pub-id-type="other">2-s2.0-0035735904</pub-id>
<pub-id pub-id-type="pmid">11954065</pub-id>
</element-citation>
</ref>
<ref id="B23"><label>22</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wurm</surname>
<given-names>J</given-names>
</name>
<name><surname>Steinhart</surname>
<given-names>H</given-names>
</name>
<name><surname>Bumm</surname>
<given-names>K</given-names>
</name>
<name><surname>Vogele</surname>
<given-names>M</given-names>
</name>
<name><surname>Nimsky</surname>
<given-names>C</given-names>
</name>
<name><surname>Iro</surname>
<given-names>H</given-names>
</name>
</person-group>
<article-title>A novel robot system for fully automated paranasal sinus surgery</article-title>
<source><italic>International Congress Series</italic>
</source>
<year>2003</year>
<volume>1256</volume>
<fpage>633</fpage>
<lpage>638</lpage>
</element-citation>
</ref>
<ref id="B24"><label>23</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Strauss</surname>
<given-names>G</given-names>
</name>
<name><surname>Koulechov</surname>
<given-names>K</given-names>
</name>
<name><surname>Richter</surname>
<given-names>R</given-names>
</name>
<name><surname>Dietz</surname>
<given-names>A</given-names>
</name>
<name><surname>Trantakis</surname>
<given-names>C</given-names>
</name>
<name><surname>Lüth</surname>
<given-names>T</given-names>
</name>
</person-group>
<article-title>Navigated control in functional endoscopic sinus surgery</article-title>
<source><italic>The International Journal of Medical Robotics and Computer Assisted Surgery</italic>
</source>
<year>2005</year>
<volume>1</volume>
<issue>3</issue>
<fpage>31</fpage>
<lpage>41</lpage>
<pub-id pub-id-type="other">2-s2.0-33947385200</pub-id>
</element-citation>
</ref>
<ref id="B25"><label>24</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Koulechov</surname>
<given-names>K</given-names>
</name>
<name><surname>Strauss</surname>
<given-names>G</given-names>
</name>
<name><surname>Richter</surname>
<given-names>R</given-names>
</name>
<name><surname>Trantakis</surname>
<given-names>C</given-names>
</name>
<name><surname>Lueth</surname>
<given-names>TC</given-names>
</name>
</person-group>
<article-title>Mechatronical assistance for paranasal sinus surgery</article-title>
<source><italic>International Congress Series</italic>
</source>
<year>2005</year>
<volume>1281</volume>
<fpage>636</fpage>
<lpage>641</lpage>
<pub-id pub-id-type="other">2-s2.0-33646460951</pub-id>
</element-citation>
</ref>
<ref id="B26"><label>25</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Koulechov</surname>
<given-names>K</given-names>
</name>
<name><surname>Strauss</surname>
<given-names>G</given-names>
</name>
<name><surname>Dietz</surname>
<given-names>A</given-names>
</name>
<name><surname>Strauss</surname>
<given-names>M</given-names>
</name>
<name><surname>Hofer</surname>
<given-names>M</given-names>
</name>
<name><surname>Lueth</surname>
<given-names>T</given-names>
</name>
</person-group>
<article-title>FESS control: realization and evaluation of navigated control for functional endoscopic sinus surgery</article-title>
<source><italic>Computer Aided Surgery</italic>
</source>
<year>2006</year>
<volume>11</volume>
<issue>3</issue>
<fpage>147</fpage>
<lpage>159</lpage>
<pub-id pub-id-type="other">2-s2.0-33745879125</pub-id>
<pub-id pub-id-type="pmid">16829508</pub-id>
</element-citation>
</ref>
<ref id="B27"><label>26</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Klosowski</surname>
<given-names>JT</given-names>
</name>
<name><surname>Held</surname>
<given-names>M</given-names>
</name>
<name><surname>Mitchell</surname>
<given-names>JSB</given-names>
</name>
<name><surname>Sowizral</surname>
<given-names>H</given-names>
</name>
<name><surname>Zikan</surname>
<given-names>K</given-names>
</name>
</person-group>
<article-title>Efficient collision detection using bounding volume hierarchies of k-DOPs</article-title>
<source><italic>IEEE Transactions on Visualization and Computer Graphics</italic>
</source>
<year>1998</year>
<volume>4</volume>
<issue>1</issue>
<fpage>21</fpage>
<lpage>36</lpage>
<pub-id pub-id-type="other">2-s2.0-0031673012</pub-id>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group><fig id="fig1" orientation="portrait" position="float"><label>Figure 1</label>
<caption><p>Geometric relation for spatial motion constraints.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.001"></graphic>
</fig>
<fig id="fig2" orientation="portrait" position="float"><label>Figure 2</label>
<caption><p>Result of dynamic safe pipe adjustment.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.002"></graphic>
</fig>
<fig id="fig3" orientation="portrait" position="float"><label>Figure 3</label>
<caption><p>Result of dynamic early warning pipes adjustment.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.003"></graphic>
</fig>
<fig id="fig4" orientation="portrait" position="float"><label>Figure 4</label>
<caption><p>System structure.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.004"></graphic>
</fig>
<fig id="fig5" orientation="portrait" position="float"><label>Figure 5</label>
<caption><p>Analysis of the experiment.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.005"></graphic>
</fig>
<fig id="fig6" orientation="portrait" position="float"><label>Figure 6</label>
<caption><p>Definition of the distances. <italic>D</italic>
<sub>1</sub>
: the distance between the peg and the edge of the hole. <italic>D</italic>
<sub>2</sub>
: the distance between the pipe and the edge of the hole. <italic>D</italic>
<sub>3</sub>
: the sum of the radius of peg and the deviation of the peg from the reference path; <italic>D</italic>
<sub>4</sub>
: radius of the warning pipe.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.006"></graphic>
</fig>
<fig id="fig7" orientation="portrait" position="float"><label>Figure 7</label>
<caption><p>Operation time.</p>
</caption>
<graphic xlink:href="TSWJ2014-897242.007"></graphic>
</fig>
<table-wrap id="tab1" orientation="portrait" position="float"><label>Table 1</label>
<caption><p>The results of the safe pipe.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="2" colspan="1">Time</th>
<th align="center" colspan="6" rowspan="1">Joints values</th>
<th align="center" rowspan="2" colspan="1"><italic>D</italic>
<sub>1</sub>
/mm</th>
<th align="center" rowspan="2" colspan="1"><italic>D</italic>
<sub>2</sub>
/mm</th>
<th align="center" rowspan="2" colspan="1">PorN</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1">θ<sub>1</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>2</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>3</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>4</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>5</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>6</sub>
/(°)</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">11th</td>
<td align="center" rowspan="1" colspan="1">0.13</td>
<td align="center" rowspan="1" colspan="1">−94.25</td>
<td align="center" rowspan="1" colspan="1">−64.33</td>
<td align="center" rowspan="1" colspan="1">0.35</td>
<td align="center" rowspan="1" colspan="1">−94.45</td>
<td align="center" rowspan="1" colspan="1">−0.44</td>
<td align="center" rowspan="1" colspan="1">1.8</td>
<td align="center" rowspan="1" colspan="1">2.0</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">12th</td>
<td align="center" rowspan="1" colspan="1">0.16</td>
<td align="center" rowspan="1" colspan="1">−94.42</td>
<td align="center" rowspan="1" colspan="1">−64.14</td>
<td align="center" rowspan="1" colspan="1">0.41</td>
<td align="center" rowspan="1" colspan="1">−94.63</td>
<td align="center" rowspan="1" colspan="1">−0.16</td>
<td align="center" rowspan="1" colspan="1">1.3</td>
<td align="center" rowspan="1" colspan="1">1.0</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">13th</td>
<td align="center" rowspan="1" colspan="1">0.21</td>
<td align="center" rowspan="1" colspan="1">−94.41</td>
<td align="center" rowspan="1" colspan="1">−64.34</td>
<td align="center" rowspan="1" colspan="1">0.36</td>
<td align="center" rowspan="1" colspan="1">−60.46</td>
<td align="center" rowspan="1" colspan="1">−0.34</td>
<td align="center" rowspan="1" colspan="1"><bold>0.8</bold>
</td>
<td align="center" rowspan="1" colspan="1"><bold>1.0</bold>
</td>
<td align="center" rowspan="1" colspan="1"><bold>Y</bold>
</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">14th</td>
<td align="center" rowspan="1" colspan="1">0.31</td>
<td align="center" rowspan="1" colspan="1">−94.31</td>
<td align="center" rowspan="1" colspan="1">−64.54</td>
<td align="center" rowspan="1" colspan="1">0.33</td>
<td align="center" rowspan="1" colspan="1">−60.42</td>
<td align="center" rowspan="1" colspan="1">−0.21</td>
<td align="center" rowspan="1" colspan="1">1.1</td>
<td align="center" rowspan="1" colspan="1">1.0</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">15th</td>
<td align="center" rowspan="1" colspan="1">0.41</td>
<td align="center" rowspan="1" colspan="1">−94.21</td>
<td align="center" rowspan="1" colspan="1">−64.23</td>
<td align="center" rowspan="1" colspan="1">0.31</td>
<td align="center" rowspan="1" colspan="1">−60.41</td>
<td align="center" rowspan="1" colspan="1">−0.13</td>
<td align="center" rowspan="1" colspan="1">1.5</td>
<td align="center" rowspan="1" colspan="1">1.0</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
</tbody>
</table>
<table-wrap-foot><fn><p>PorN: pass through or not.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<table-wrap id="tab2" orientation="portrait" position="float"><label>Table 2</label>
<caption><p>The results of the warning pipe.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="2" colspan="1">Time</th>
<th align="center" colspan="6" rowspan="1">Joints values</th>
<th align="center" rowspan="2" colspan="1"><italic>D</italic>
<sub>3</sub>
/mm</th>
<th align="center" rowspan="2" colspan="1"><italic>D</italic>
<sub>4</sub>
/mm</th>
<th align="center" rowspan="2" colspan="1">PorN</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1">θ<sub>1</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>2</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>3</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>4</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>5</sub>
/(°)</th>
<th align="center" rowspan="1" colspan="1">θ<sub>6</sub>
/(°)</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">11th</td>
<td align="center" rowspan="1" colspan="1">0.13</td>
<td align="center" rowspan="1" colspan="1">−94.25</td>
<td align="center" rowspan="1" colspan="1">−64.33</td>
<td align="center" rowspan="1" colspan="1">0.35</td>
<td align="center" rowspan="1" colspan="1">−94.45</td>
<td align="center" rowspan="1" colspan="1">−0.44</td>
<td align="center" rowspan="1" colspan="1">7.7</td>
<td align="center" rowspan="1" colspan="1">9.3</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">12th</td>
<td align="center" rowspan="1" colspan="1">0.16</td>
<td align="center" rowspan="1" colspan="1">−94.42</td>
<td align="center" rowspan="1" colspan="1">−64.14</td>
<td align="center" rowspan="1" colspan="1">0.41</td>
<td align="center" rowspan="1" colspan="1">−94.63</td>
<td align="center" rowspan="1" colspan="1">−0.16</td>
<td align="center" rowspan="1" colspan="1">8.2</td>
<td align="center" rowspan="1" colspan="1">8.8</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">13th</td>
<td align="center" rowspan="1" colspan="1">0.21</td>
<td align="center" rowspan="1" colspan="1">−94.41</td>
<td align="center" rowspan="1" colspan="1">−64.34</td>
<td align="center" rowspan="1" colspan="1">0.36</td>
<td align="center" rowspan="1" colspan="1">−60.46</td>
<td align="center" rowspan="1" colspan="1">−0.34</td>
<td align="center" rowspan="1" colspan="1"><bold>8.7</bold>
</td>
<td align="center" rowspan="1" colspan="1"><bold>8.3</bold>
</td>
<td align="center" rowspan="1" colspan="1"><bold>Y </bold>
</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">14th</td>
<td align="center" rowspan="1" colspan="1">0.31</td>
<td align="center" rowspan="1" colspan="1">−94.31</td>
<td align="center" rowspan="1" colspan="1">−64.54</td>
<td align="center" rowspan="1" colspan="1">0.33</td>
<td align="center" rowspan="1" colspan="1">−60.42</td>
<td align="center" rowspan="1" colspan="1">−0.21</td>
<td align="center" rowspan="1" colspan="1">8.4</td>
<td align="center" rowspan="1" colspan="1">8.6</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">15th</td>
<td align="center" rowspan="1" colspan="1">0.41</td>
<td align="center" rowspan="1" colspan="1">−94.21</td>
<td align="center" rowspan="1" colspan="1">−64.23</td>
<td align="center" rowspan="1" colspan="1">0.31</td>
<td align="center" rowspan="1" colspan="1">−60.41</td>
<td align="center" rowspan="1" colspan="1">−0.13</td>
<td align="center" rowspan="1" colspan="1">8.0</td>
<td align="center" rowspan="1" colspan="1">9.0</td>
<td align="center" rowspan="1" colspan="1">N</td>
</tr>
</tbody>
</table>
<table-wrap-foot><fn><p>PorN: pass through or not.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<table-wrap id="tab3" orientation="portrait" position="float"><label>Table 3</label>
<caption><p>Mean absolute errors (MAEs) for 6 tests measured by the robot in the period of approaching.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="2" colspan="1">Times</th>
<th align="center" colspan="4" rowspan="1">OPAM</th>
<th align="center" colspan="4" rowspan="1">TPAM</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1"><italic>X</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Y</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Z</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1">Path/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>X</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Y</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Z</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1">Path/mm</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">1</td>
<td align="center" rowspan="1" colspan="1">10.54 ± 0.89</td>
<td align="center" rowspan="1" colspan="1">9.87 ± 0.55</td>
<td align="center" rowspan="1" colspan="1">9.56 ± 0.56</td>
<td align="center" rowspan="1" colspan="1">17.32 ± 0.13</td>
<td align="center" rowspan="1" colspan="1">2.87 ± 0.32</td>
<td align="center" rowspan="1" colspan="1">1.68 ± 0.54</td>
<td align="center" rowspan="1" colspan="1">3.82 ± 0.34</td>
<td align="center" rowspan="1" colspan="1">5.07 ± 0.48</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">2</td>
<td align="center" rowspan="1" colspan="1">9.24 ± 0.76</td>
<td align="center" rowspan="1" colspan="1">9.90 ± 0.65</td>
<td align="center" rowspan="1" colspan="1">14.44 ± 0.65</td>
<td align="center" rowspan="1" colspan="1">19.80 ± 0.32</td>
<td align="center" rowspan="1" colspan="1">3.59 ± 0.33</td>
<td align="center" rowspan="1" colspan="1">2.20 ± 0.51</td>
<td align="center" rowspan="1" colspan="1">4.89 ± 0.27</td>
<td align="center" rowspan="1" colspan="1">6.45 ± 0.24</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">3</td>
<td align="center" rowspan="1" colspan="1">9.68 ± 0.67</td>
<td align="center" rowspan="1" colspan="1">9.56 ± 0.47</td>
<td align="center" rowspan="1" colspan="1">10.87 ± 0.43</td>
<td align="center" rowspan="1" colspan="1">17.41 ± 0.67</td>
<td align="center" rowspan="1" colspan="1">3.31 ± 0.21</td>
<td align="center" rowspan="1" colspan="1">3.35 ± 0.32</td>
<td align="center" rowspan="1" colspan="1">3.70 ± 0.33</td>
<td align="center" rowspan="1" colspan="1">5.99 ± 0.42</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">4</td>
<td align="center" rowspan="1" colspan="1">12.44 ± 0.88</td>
<td align="center" rowspan="1" colspan="1">8.21 ± 0.78</td>
<td align="center" rowspan="1" colspan="1">13.90 ± 0.21</td>
<td align="center" rowspan="1" colspan="1">20.38 ± 0.48</td>
<td align="center" rowspan="1" colspan="1">4.49 ± 0.13</td>
<td align="center" rowspan="1" colspan="1">3.31 ± 0.25</td>
<td align="center" rowspan="1" colspan="1">4.02 ± 0.38</td>
<td align="center" rowspan="1" colspan="1">6.88 ± 0.17</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">5</td>
<td align="center" rowspan="1" colspan="1">10.40 ± 0.32</td>
<td align="center" rowspan="1" colspan="1">9.49 ± 0.32</td>
<td align="center" rowspan="1" colspan="1">11.58 ± 0.97</td>
<td align="center" rowspan="1" colspan="1">18.23 ± 0.85</td>
<td align="center" rowspan="1" colspan="1">3.84 ± 0.42</td>
<td align="center" rowspan="1" colspan="1">3.16 ± 0.36</td>
<td align="center" rowspan="1" colspan="1">4.42 ± 0.45</td>
<td align="center" rowspan="1" colspan="1">6.46 ± 0.61</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">6</td>
<td align="center" rowspan="1" colspan="1">9.47 ± 0.56</td>
<td align="center" rowspan="1" colspan="1">9.43 ± 0.45</td>
<td align="center" rowspan="1" colspan="1">12.35 ± 0.77</td>
<td align="center" rowspan="1" colspan="1">18.20 ± 0.82</td>
<td align="center" rowspan="1" colspan="1">2.72 ± 0.24</td>
<td align="center" rowspan="1" colspan="1">5.53 ± 0.34</td>
<td align="center" rowspan="1" colspan="1">3.56 ± 0.44</td>
<td align="center" rowspan="1" colspan="1">7.12 ± 0.56</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">MEs</td>
<td align="center" rowspan="1" colspan="1">10.29 ± 1.06</td>
<td align="center" rowspan="1" colspan="1">9.41 ± 0.57</td>
<td align="center" rowspan="1" colspan="1">12.11 ± 1.68</td>
<td align="center" rowspan="1" colspan="1">18.56 ± 1.15</td>
<td align="center" rowspan="1" colspan="1">3.47 ± 0.35</td>
<td align="center" rowspan="1" colspan="1">3.20 ± 1.46</td>
<td align="center" rowspan="1" colspan="1">4.06 ± 0.20</td>
<td align="center" rowspan="1" colspan="1">6.32 ± 0.44</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tab4" orientation="portrait" position="float"><label>Table 4</label>
<caption><p>Mean absolute errors (MAEs) for 6 tests measured by the robot in the period of inserting.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="2" colspan="1">Times</th>
<th align="center" colspan="4" rowspan="1">OPAM</th>
<th align="center" colspan="4" rowspan="1">TPAM</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1"><italic>X</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Y</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Z</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1">Path/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>X</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Y</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1"><italic>Z</italic>
/mm</th>
<th align="center" rowspan="1" colspan="1">Path/mm</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">1</td>
<td align="center" rowspan="1" colspan="1">1.54 ± 0.08</td>
<td align="center" rowspan="1" colspan="1">1.87 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">1.56 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">2.88 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">0.87 ± 0.02</td>
<td align="center" rowspan="1" colspan="1">0.68 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">0.82 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">1.37 ± 0.08</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">2</td>
<td align="center" rowspan="1" colspan="1">1.24 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">1.90 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">0.94 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">2.45 ± 0.02</td>
<td align="center" rowspan="1" colspan="1">0.59 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">0.80 ± 0.01</td>
<td align="center" rowspan="1" colspan="1">0.89 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">1.33 ± 0.09</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">3</td>
<td align="center" rowspan="1" colspan="1">1.68 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">1.56 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">1.87 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">2.95 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">0.71 ± 0.01</td>
<td align="center" rowspan="1" colspan="1">0.35 ± 0.02</td>
<td align="center" rowspan="1" colspan="1">0.70 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">1.06 ± 0.08</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">4</td>
<td align="center" rowspan="1" colspan="1">1.44 ± 0.08</td>
<td align="center" rowspan="1" colspan="1">1.21 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">1.90 ± 0.01</td>
<td align="center" rowspan="1" colspan="1">2.67 ± 0.08</td>
<td align="center" rowspan="1" colspan="1">0.99 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">0.51 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">0.82 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">1.38 ± 0.07</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">5</td>
<td align="center" rowspan="1" colspan="1">0.90 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">1.49 ± 0.03</td>
<td align="center" rowspan="1" colspan="1">2.08 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">2.71 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">0.84 ± 0.02</td>
<td align="center" rowspan="1" colspan="1">0.66 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">0.42 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">1.15 ± 0.09</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">6</td>
<td align="center" rowspan="1" colspan="1">1.47 ± 0.05</td>
<td align="center" rowspan="1" colspan="1">1.43 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">1.35 ± 0.07</td>
<td align="center" rowspan="1" colspan="1">2.45 ± 0.02</td>
<td align="center" rowspan="1" colspan="1">0.72 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">0.53 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">0.56 ± 0.04</td>
<td align="center" rowspan="1" colspan="1">1.05 ± 0.07</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">MEs</td>
<td align="center" rowspan="1" colspan="1">1.38 ± 0.06</td>
<td align="center" rowspan="1" colspan="1">1.58 ± 0.57</td>
<td align="center" rowspan="1" colspan="1">1.62 ± 0.68</td>
<td align="center" rowspan="1" colspan="1">2.69 ± 0.65</td>
<td align="center" rowspan="1" colspan="1">0.79 ± 0.35</td>
<td align="center" rowspan="1" colspan="1">0.59 ± 1.46</td>
<td align="center" rowspan="1" colspan="1">0.70 ± 0.20</td>
<td align="center" rowspan="1" colspan="1">1.22 ± 0.44</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Pmc/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002463 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd -nk 002463 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Ticri/CIDE |area= HapticV1 |flux= Pmc |étape= Curation |type= RBID |clé= PMC:3944649 |texte= A Novel Flexible Virtual Fixtures for Teleoperation }}
Pour générer des pages wiki
HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Curation/RBID.i -Sk "pubmed:24693252" \ | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd \ | NlmPubMed2Wicri -a HapticV1
![]() | This area was generated with Dilib version V0.6.23. | ![]() |