IEEE Robotics & Automation Magazine - June 2017 - 48

of machine-level  code optimizations is achieved by the
compiler, while the complexity of the implementation is
hidden from the library user.
The next section leverages the speed-up achieved by the
described implementation, detailed by benchmarks in the
section "Computational
Benchmark," toward on-
The majority of machineline path planning and
inverse kinematics for
level code optimizations is assisted telemanipulation.

achieved by the compiler,

Guidance via IACs
Based on the high-per-
while the complexity of the formance software archi-
tecture presented in [20],
implementation is hidden
IACs are generated. Guid-
ing paths (i.e., path plans)
from the library user.
are generated based on
precomputed road maps
and navigation goal posi-
tions as defined by the operating clinician. Due to the
computational efficiency of the software framework, pre-
computation occurs in a matter of minutes, rather than

Probabilistic Road Map
The constraint-generation framework is based on an undi-
rected graph G, with vertices v i ! G. The vertices of the
graph represent random, stable, and collision-free CTR
configurations. The edges e i, j between vertices v i and v j
represent possible transitions among the configurations.
The graph is queried using the A* graph-search algorithm
to efficiently extract the shortest path between the current
robot configuration and the configuration corresponding
to a desired tip pose. The Euclidean norm between two
vertex positions is the admissible A* heuristic.

Reliable Multicast

Daemons

Clients

Server

Initialization, Initial Multicast:
* Robot Description
* Anatomy Γ

Vertex Sampling, Periodic Multicast:
* CTR Center Line
* Stability Distance dsta
* Anatomical Distance dana

Vertex Sampling, Periodic Multicast:
thres
* Distance Threshold dana
thres
* Stability Threshold dsta
* Discretization Parameter
* Scaling Parameter γ ϕ

{{arc,fk},{arc,sta},{α,sta}}

Local Planner, Local Computation:
* KD-Tree of Tip Positions
* Edge Costs (Multithreaded)

Path Planner

Optimization, Periodic Multicast:
*

hours. In the precomputation step, random configura-
tions of the robot are generated using a parallel com-
puting approach. A schematic representation of the
framework is depicted in Figure 3. The path planner's
efficiency heavily relies on the developed multinode frame-
work. A central computer (server) controls computing
clients that generate random robot-configuration sam-
ples and solve the inverse kinematics using different
optimization techniques (see the section "Inverse Kine-
matics." Please refer to [2] for a detailed description of the
used path-planning framework.

thres
Distance Threshold dana
thres
Stability Threshold dsta

*
* Discretization Parameter {{arc,fk},{arc,sta},{α,sta}}
* Cost Function Parameter γ {pos,ori,ana,sta}
* Current Joint Values q
* Desired Pose p D, z D
Inverse Kinmatic

Path Planner
Optimization, Periodic Multicast:
* Optimal Joint Values
* Tip Pose
* Anatomical Distance
* Stability Distance
Inverse Kinematic

Figure 3. The blocks for calculating valid CTR configuration samples for path planning and for solving the inverse kinematic.
The computational tasks performed by the server (blue) and by the client (green). The server-client communication using reliable
multicast via a daemon network (red).

48

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

June 2017



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2017

IEEE Robotics & Automation Magazine - June 2017 - Cover1
IEEE Robotics & Automation Magazine - June 2017 - Cover2
IEEE Robotics & Automation Magazine - June 2017 - 1
IEEE Robotics & Automation Magazine - June 2017 - 2
IEEE Robotics & Automation Magazine - June 2017 - 3
IEEE Robotics & Automation Magazine - June 2017 - 4
IEEE Robotics & Automation Magazine - June 2017 - 5
IEEE Robotics & Automation Magazine - June 2017 - 6
IEEE Robotics & Automation Magazine - June 2017 - 7
IEEE Robotics & Automation Magazine - June 2017 - 8
IEEE Robotics & Automation Magazine - June 2017 - 9
IEEE Robotics & Automation Magazine - June 2017 - 10
IEEE Robotics & Automation Magazine - June 2017 - 11
IEEE Robotics & Automation Magazine - June 2017 - 12
IEEE Robotics & Automation Magazine - June 2017 - 13
IEEE Robotics & Automation Magazine - June 2017 - 14
IEEE Robotics & Automation Magazine - June 2017 - 15
IEEE Robotics & Automation Magazine - June 2017 - 16
IEEE Robotics & Automation Magazine - June 2017 - 17
IEEE Robotics & Automation Magazine - June 2017 - 18
IEEE Robotics & Automation Magazine - June 2017 - 19
IEEE Robotics & Automation Magazine - June 2017 - 20
IEEE Robotics & Automation Magazine - June 2017 - 21
IEEE Robotics & Automation Magazine - June 2017 - 22
IEEE Robotics & Automation Magazine - June 2017 - 23
IEEE Robotics & Automation Magazine - June 2017 - 24
IEEE Robotics & Automation Magazine - June 2017 - 25
IEEE Robotics & Automation Magazine - June 2017 - 26
IEEE Robotics & Automation Magazine - June 2017 - 27
IEEE Robotics & Automation Magazine - June 2017 - 28
IEEE Robotics & Automation Magazine - June 2017 - 29
IEEE Robotics & Automation Magazine - June 2017 - 30
IEEE Robotics & Automation Magazine - June 2017 - 31
IEEE Robotics & Automation Magazine - June 2017 - 32
IEEE Robotics & Automation Magazine - June 2017 - 33
IEEE Robotics & Automation Magazine - June 2017 - 34
IEEE Robotics & Automation Magazine - June 2017 - 35
IEEE Robotics & Automation Magazine - June 2017 - 36
IEEE Robotics & Automation Magazine - June 2017 - 37
IEEE Robotics & Automation Magazine - June 2017 - 38
IEEE Robotics & Automation Magazine - June 2017 - 39
IEEE Robotics & Automation Magazine - June 2017 - 40
IEEE Robotics & Automation Magazine - June 2017 - 41
IEEE Robotics & Automation Magazine - June 2017 - 42
IEEE Robotics & Automation Magazine - June 2017 - 43
IEEE Robotics & Automation Magazine - June 2017 - 44
IEEE Robotics & Automation Magazine - June 2017 - 45
IEEE Robotics & Automation Magazine - June 2017 - 46
IEEE Robotics & Automation Magazine - June 2017 - 47
IEEE Robotics & Automation Magazine - June 2017 - 48
IEEE Robotics & Automation Magazine - June 2017 - 49
IEEE Robotics & Automation Magazine - June 2017 - 50
IEEE Robotics & Automation Magazine - June 2017 - 51
IEEE Robotics & Automation Magazine - June 2017 - 52
IEEE Robotics & Automation Magazine - June 2017 - 53
IEEE Robotics & Automation Magazine - June 2017 - 54
IEEE Robotics & Automation Magazine - June 2017 - 55
IEEE Robotics & Automation Magazine - June 2017 - 56
IEEE Robotics & Automation Magazine - June 2017 - 57
IEEE Robotics & Automation Magazine - June 2017 - 58
IEEE Robotics & Automation Magazine - June 2017 - 59
IEEE Robotics & Automation Magazine - June 2017 - 60
IEEE Robotics & Automation Magazine - June 2017 - 61
IEEE Robotics & Automation Magazine - June 2017 - 62
IEEE Robotics & Automation Magazine - June 2017 - 63
IEEE Robotics & Automation Magazine - June 2017 - 64
IEEE Robotics & Automation Magazine - June 2017 - 65
IEEE Robotics & Automation Magazine - June 2017 - 66
IEEE Robotics & Automation Magazine - June 2017 - 67
IEEE Robotics & Automation Magazine - June 2017 - 68
IEEE Robotics & Automation Magazine - June 2017 - 69
IEEE Robotics & Automation Magazine - June 2017 - 70
IEEE Robotics & Automation Magazine - June 2017 - 71
IEEE Robotics & Automation Magazine - June 2017 - 72
IEEE Robotics & Automation Magazine - June 2017 - 73
IEEE Robotics & Automation Magazine - June 2017 - 74
IEEE Robotics & Automation Magazine - June 2017 - 75
IEEE Robotics & Automation Magazine - June 2017 - 76
IEEE Robotics & Automation Magazine - June 2017 - 77
IEEE Robotics & Automation Magazine - June 2017 - 78
IEEE Robotics & Automation Magazine - June 2017 - 79
IEEE Robotics & Automation Magazine - June 2017 - 80
IEEE Robotics & Automation Magazine - June 2017 - 81
IEEE Robotics & Automation Magazine - June 2017 - 82
IEEE Robotics & Automation Magazine - June 2017 - 83
IEEE Robotics & Automation Magazine - June 2017 - 84
IEEE Robotics & Automation Magazine - June 2017 - 85
IEEE Robotics & Automation Magazine - June 2017 - 86
IEEE Robotics & Automation Magazine - June 2017 - 87
IEEE Robotics & Automation Magazine - June 2017 - 88
IEEE Robotics & Automation Magazine - June 2017 - 89
IEEE Robotics & Automation Magazine - June 2017 - 90
IEEE Robotics & Automation Magazine - June 2017 - 91
IEEE Robotics & Automation Magazine - June 2017 - 92
IEEE Robotics & Automation Magazine - June 2017 - 93
IEEE Robotics & Automation Magazine - June 2017 - 94
IEEE Robotics & Automation Magazine - June 2017 - 95
IEEE Robotics & Automation Magazine - June 2017 - 96
IEEE Robotics & Automation Magazine - June 2017 - Cover3
IEEE Robotics & Automation Magazine - June 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com