From structured warehouses to unstructured environments such as construction sites, agricultural fields, research into large scale mobile robotics systems is fuelled by demands for increased mobility, task adaptability while able to perform various functions. At the present time, most of the mobile robotic systems have a monolithic hardware architecture consisting of fully actuated serial manipulator/s mounted on a single mobile base. Such systems are highly overdesigned, for e.g. an extremely heavy mobile base supporting the weight of a heavy industrial manipulator. Due to the monolithic and inflexible hardware architecture, current systems miss the potential advantages of task-adaptability, shared collaborative manipulation brought upon by a more modular, lightweight architecture.
Therefore, we present an alternate concept for a modular, collaborative and task-adaptable mobile robotic system consisting of multiple mobile bases (Fig. 1). Our goal is to develop a unified system that allows us to explore 1) collaborative manipulation using teams of mobile robots, and 2) reconfigurable manipulators that use simple robotic systems as building blocks. CCMA system is modular in nature such that the number of mobile bases, actuation schemes and the design, morphology of the passive kinematic chain can be easily changed in hardware. The task of a single heavy mobile base is substituted by collaboration between and shared manipulation by several light weight mobile bases. Fully actuated serial manipulator/s are substituted by a fully constrained passive closed-loop kinematic mechanism.
The above mentioned flexibilities in the hardware architecture can only be realized in practice, if a corresponding flexible software framework is developed for easier and faster evaluation of vast design and actuation space that CCMA system presents. Therefore, we develop and present an optimization framework for simulation and control of CCMA system, which allows for easy and fast change in actuation schemes, number of mobile agents, design and morphology of the passive kinematic chain. We evaluate this optimization framework on different prototypes of the CCMA system, in simulation and experiments, for end-effector manipulation and positioning tasks.
I-a Related Work on System Architecture
In the field of construction robotics or robotics in architecture, process specific digital fabrication techniques such as robotic brickwork , robotic formwork  increasingly make use of more generic mobile robotic systems . These mobile robotic systems typically include a fully actuated industrial manipulator mounted on a single mobile base which can be wheeled or tracked [4, 5].
There are several reports of completely different modular hardware architectures which use multiple mobile agents to collaborative perform a task. For e.g., multiple flying agents were used for building an architecture scale installation in the work . However, flight based agents lack the rigidity and stiffness required for more demanding manipulation tasks. Another approach consists in using wheeled mobile agents to collaboratively manipulate an object which is suspended through several cables [7, 8]. Cable driven object manipulation has the capability to provide the rigidity, stiffness and higher payloads. However to fulfil these requirements, the topology of the cables encircles the object being manipulated. So though the cable driven systems can be useful for logistics and material handling, they also can not replace conventional mobile robotic systems for variety of in situ digital fabrication tasks, where unencumbered workspace around the end-effector is desired.
Hardware system architecture, where a passive kinematic chain with rigid links is connected to multiple active mobile agents (CCMA), has the potential to replace conventional large scale mobile robotic systems for a variety of tasks. Owing to higher rigidity of the links, flexible topology and arrangement of the kinematic chain around the end-effector, such systems would allow for open workspace around the end-effector to carry out process-specific tasks. Few prototypes with this system architecture have been previously reported in the work [9, 10, 11]. However, morphology of the passive kinematic chain was limited to -DOF, with a single link with two passive joints connecting the end-effector to each mobile base. Choice of the actuation scheme was conservative and a fixed number of mobile agents were used. This misses a big potential advantage, where over-actuation along with use of multiple mobile agents and different actuation schemes can be exploited to enhance the system performance.
In the current work, we present a generalization of the concept for this hardware system architecture. Our work accommodates a far richer design space for the passive kinematic chains and diverse actuation schemes for multiple mobile agents.
I-B Related Work on Simulation, Modeling and Kinematic Control Techniques
An overview of kinematic modeling techniques for robotic systems with closed loop kinematic chains can be found in [12, 13, 14, 15]. These techniques result in models in the form of , either obtained through differentiating forward position models of the form or directly through screw theory  based generation of twist and wrench systems [12, 15]. represents the end-effector variables and contains the independent active control variables, such as motor angles. These two and matrices form the essential components for numerical techniques either for solving forward kinematics problems (simulation) or inverse kinematics problems  (control) through the relation below:
Even though the above numerical methods and modeling techniques are general and lead to fast computation of forward and inverse kinematic solutions, the implementation is still system specific. The jacobian matrices and still have to be generated manually for each robotic system, which is time consuming especially for robotic systems with closed loop kinematic chains. Moreover, it involves manual error prone steps like differentiation of forward position models, elimination steps in case of systems with closed loop kinematic chains to remove passive joints from .
In the current work, rigid body kinematics is modeled on a constraint based formulation presented in the paper [18, 19], which abstracts a rigid body robotic system to a collection of rigid bodies connected with kinematic constraints imposed by the joints and actuators. This modeling approach does not involve computation of either or described above. We extend this modeling framework by including additional constraints for the mobile agents acting as actuators. Due to this abstraction, no separate specific implementation is needed for different actuation schemes, number of mobile agents and different designs, morphologies of the passive kinematic chain.
For the simulation (forward kinematics) of the CCMA system, we calculate the derivatives of the kinematic constraints including those imposed by the actuation of mobile agents analytically. Moreover, we calculate the derivatives of the tasks, formulated as objective functions, with respect to control parameters of the CCMA system for solving the kinematic control problem (inverse kinematics). These derivatives are required for the gradient-based methods (e.g. L-BFGS, Gauss-Newton). For analytical formulation of the derivatives, we utilize the first order sensitivity analysis techniques [20, 21, 22]. Sensitivity analysis techniques are utilized for optimization problems where closed form solutions of the derivatives does not exist, in general. The analytical derivation of the derivatives, as compared to using finite differences, allows for real time computation of both forward kinematics (simulation) and inverse kinematics (kinematic control) of the CCMA system, despite being system independent.
Our long term goal is to leverage the advantages brought by combining robotic mobility and manipulation capabilities. To this end, in this paper we show that driven by appropriate control systems, very simple robots equipped with very simple manipulators can be quite dexterous. The mobile manipulation systems, we study in this work, have much greater workspace and reach than stationary robots. They are very lightweight, and they can easily be reconfigured to fit the needs of different tasks. In this paper, we make following contributions:
A general concept for constrained collaborative mobile agents (CCMA), in which an end-effector is connected via a passive kinematic chain to multiple mobile agents.
Varying topology of the kinematic chain and actuation schemes of the mobile agents for task adaptability.
A unified optimization framework for simulation and kinematic control of CCMA systems, independent of design, morphology of the passive kinematic chain and actuation schemes, number of mobile agents.
Two prototypes demonstrating the optimization driven kinematic control of the CCMA system in experiments.
Ii Constrained collaborative mobile agents system description and modeling
Fig. 2 illustrates the concept of CCMA system. It consists of a passive kinematic chain connecting the end-effector (black polygon) to a number of mobile bases either through a fixed connection or an extra revolute joint (in black color) at the mobile base. The mobile agents form the only actuators in the system to control the end-effector. The mobile agents can have DOF ranging from (tracked or wheeled mobile robots with non-holonomic constraints) to (quadruped robots). In the current paper, we will focus on an instantiation of this concept, where mobile agents are omni-directional each having -DOF. Each DOF of the omni-directional mobile base is used as an actuator. For e.g. in Fig. 2, there are a total of actuators to control the DOF of the end-effector. The extra passive black revolute joint is along the rotation axis of the omni-directional robot. Because of this revolute joint, actuation due to rotation of the omni-directional base has no effect on the end-effector motion. This reduces the effective control variables in each omni-directional robot to from . We will call it a reduced actuation scheme for the CCMA system. When complete actuation of the omni-directional mobile bases are considered, the extra black revolute joints are not present in the CCMA system. The CCMA example in Fig. 3(a) has black revolute joints, therefore it utilizes effective control variables to manipulate the -DOF end-effector. Whereas the CCMA example in Fig. 3(b) has a fixed connection (no black revolute joint), therefore it utilizes effective control variables to manipulate the -DOF end-effector.
The number of mobile bases, for e.g. in Fig. 2, in Fig. 3 and 4, can be varied in the CCMA system. Moreover, design and morphology of the passive kinematic chain can be varied in the CCMA system, as shown with different design and morphologies in Figs. 2, 3 and 4 for different CCMA system examples. By adding more mobile bases, number of actuators in the CCMA system can be changed. Also topologies presented in these figures represent small subset of morphologies possible.
Mobile bases as actuators mean that the resulting CCMA systems can have very large translational workspaces especially along the ground plane (- plane) and large orientation workspace along the vertical axis .
Each mobile base is counted as a rigid body with -DOF with additional constraints based on its type. In the case of omnidirectional bases, mobile agents have three constraints (planar constraint) on its motion reducing its DOF to . Following presents the definitions of different variables used in the paper:
the total number of the rigid bodies in the CCMA system inclusive of passive kinematic chain and all the mobile bases.
the number of planar mobile robots.
state vector of the system, which has a size of
the size of the control vector depends on the number of control variables in the system. The size of the control vector is , for holonomic mobile robots such as omni-directional mobile robots. In case of reduced actuation scheme, the size of the control vector is .
a vector of constraints which includes the constraints output by each passive joint (revolute, prismatic, spherical, universal) between the two rigid bodies, motor constraints obtained by fixing the value of actuator in the motorized joint between the two rigid bodies. For more details, please refer to the work in [18, 19]. Additionally in this work, for each planar mobile robot in world reference frame (,,,), we add additional kinematic constraints which correspond to the planar constraint on the mobile robot, allowing only translation along , and rotation about and motor constraints assuming two motorized prismatic actuators along , and a rotary actuator along the free axis . For the reduced actuation scheme, rotary actuator along the free axis is not added.
Iii Optimization framework for simulation and kinematic control of CCMA system
Iii-a Simulation of the CCMA system
For simulation of the CCMA system, we solve an optimization problem where we minimize an energy which is a function of state and control variables in . The vector contains all the kinematic constraints including those imposed by the passive kinematic chain and the actuation of multiple mobile agents.
This allows us to simulate the CCMA system and solve the forward kinematics problem which is to find the complete state , including the designated end-effector state, , when the control vector is given as input. We calculate analytically the first and second order derivatives and utilize standard Newton Raphson method to solve this minimization problem in iterative manner as follows:
Since, and the resulting constraint energy term are abstracted to the level of type of joints or what type of actuators are used, the analytical derivation of the is system independent. This allows us to plug and play different design, topologies of the passive kinematic chain and different actuation schemes, number of mobile agents, in the CCMA system.
Iii-B Kinematic control of the CCMA system
In order to solve the kinematic control problem, which is to find for desired end-effector state , we solve the optimization problem below. We also need to calculate the derivatives of the objective function with respect to the control variables, in order to use gradient based techniques.
The analytical expression for is easily obtained. However, the expression for is not generally analytically available and use of finite differences to compute it will require to minimize the constraint energy function k times to high degree of accuracy, where k is the size of the control vector . This is computationally too demanding for a real time simulation and control tool. We solve this problem by doing the sensitivity analysis over the gradient of the constraint energy function rather than over the constraint vector itself as done in the paper . This is done because constraints can not be assumed to be satisfied during the intermediate iterations of the optimization of the objective function . On the other hand, the gradient of the constraint energy function is always equal to zero, when the optimization in Eqn. 2 converges. To express it more clearly for every control vector , one can find a suitable such that gradient of the constraint energy function is zero. Thus we have the following identity:
Doing the sensitivity analysis over this gradient leads to the following equation:
is the Hessian of the constraint energy function , which we calculate analytically. is the sensitivity of the gradient with respect to control vector , while state is kept constant. We analytically calculate this term as well. With the analytical expressions for and , finally we can compute .
Substituting expression for in Eqn. 4, we can calculate the gradient of the objective function . This gradient can then be used to update the control vector in the current step of the optimization problem as follows:
For exact Newton method, we had need anlytical expression for the derivative of the Hessian of with respect to state , which we don’t calculate. Instead, we approximate using the BFGS quasi-Newton method.
Iii-C Residual constraint energies
The sensitivity analysis is based on the assumption that the gradient of , , is zero upon convergence of the optimization in Eqn. 2, which leads to the calculation of the gradient and of control vector . Since the CCMA system consists of closed loop kinematic chains imposing non-linear constraints, might still be zero when the residual constraint energy is not zero. This would mean that CCMA system does not assemble properly or that the kinematic constraints are not satisfied. This is not acceptable for simulation and control of the CCMA system, as in each state the CCMA system should satisfy all the kinematic constraints. We solve this problem by reformulating the objective function , in Eqn. 3, by adding the residual constraint energy as follows, where :
The gradient of the objective function would also need to be updated from Eqn. 4 to the equation below:
We calculate this term , in the above equation, analytically. With this new formulation of the objective function in Eqn. 7 and corresponding gradient in Eqn. 8, the total constraint energy also goes to zero, when we calculate control variables for desired end-effector state .
Iii-D Results on convergence and computational effort
While it is possible to directly calculate the final control vector for large changes in . It is advisable to do small steps both in end-effector position and orientation until we reach the desired , especially for actual hardware experiments. This leads to smoother motion of the CCMA system, in particular during end-effector rotations. Fig. 5 presents the computational effort, in time, which is required to achieve a small combined perturbation in the , mm step size for translation and radians step size for rotation. The convergence and computational effort is presented for different CCMA system examples across different designs, morphologies of the passive kinematic chain and different number, actuation schemes of the mobile agents. It can be observed that the computational effort is smallest for the -DOF CCMA system with mobile agents and highest for -DOF CCMA system with -mobile agents. It should be noted that, for each plot, a combined perturbation in was solved.
Iv Experimental results
In this section, we present the fabricated prototypes for the -DOF CCMA system with two different actuation schemes. Furthermore, we demonstrate the kinematic control of fabricated prototypes using the optimization framework developed in previous section and describe experimental results.
In order to determine and track the position and orientation of the mobile bases, with respect to the world reference frame, a motion capture system comprising of OptiTrack Prime cameras was used.
Fig. 6 shows the omnidirectional base used for proof of concept demonstrators in the paper. Each mobile base has optical markers (Fig. 6(a)) which can be tracked with the motion capture system. Motion capture system sends the feedback for the actutal mobile base position and orientation in the world reference frame to the computer running the optimization. In order to wirelessly transmit the control signals to the mobile bases, for the control of the CCMA demonstrators, we use wireless transreceivers XBees from Digi International. Each mobile base is equipped on its back with an XBee (Fig. 6(b)). The computer running the optimization sends the control commands to a micro-controller via serial communication. This micro-controller has a transreceiver XBee, which acts as the co-ordinator. The co-ordinator XBee broadcasts the control signals wirelessly to the respective XBees, in each mobile base.
The optimization framework, as described in Sec. III, calculates the states of the mobile bases for desired end-effector motions. The state of each mobile base is then converted to the corresponding wheel speeds based on the difference between the set and the tracked state of the mobile base, using a PI (proportional integral) controller. Please refer to the standard mobile robot kinematics for swedish wheels based omnidirectional mobile robot in the work . It should be noted that the closed loop feedback PI controller is used to track the states of the mobile bases only. For the experimental results described hereafter, end-effector motion of the CCMA system is still obtained via feed-forwarding the computed mobile base states in an open loop.
Iv-a Reduced actuation scheme
Fig. 8 shows the fabricated prototype of the -DOF CCMA system. It can translate along and rotate about . Between the mobile base and the adjacent link, there is a rotary connection obtained by use of two concentric cylinders (Fig. 7(b)). Therefore, this particular prototype utilizes the reduced actuation scheme and -DOF in translation of the mobile bases (size of control vector is ) to manipulate the -DOF end-effector. For experiments with this prototype, the orientation of the mobile base is kept constant. Fig. 9 shows the sequential movement along each DOF of the end-effector with respect to time. Fig. 10 and Fig. 11 shows the corresponding motion of the mobile bases with respect to time and the ground plane (), respectively. RMSE (Root Mean Square Error) were , , mm and rad for top to bottom plots, respectively, for the end-effector motion in Fig. 9.
Fig. 12 shows the combined simultaneous movement, along each DOF of the end-effector, with respect to time. Fig. 13 show the corresponding motion of the mobile bases with respect to the ground plane (). RMSE were , , mm and rad for top to bottom plots, respectively, for the end-effector motion in Fig. 12.
Iv-B Complete actuation scheme
We also fabricate a different -DOF prototype with fixed connection (Fig. 7(a)), which utilizes complete actuation scheme and full -DOF of the mobile bases (size of control vector is ) to manipulate the -DOF end-effector.
The orientation of the mobile base must change to satisfy the kinematic constraints, as shown in (Fig. 15(a)). Fig. 14 shows the combined simultaneous movement, along each DOF of the end-effector, with respect to time. Fig. 16 shows the corresponding motion of the mobile bases with respect to the ground plane (). RMSE were , , mm and rad for top to bottom plots, respectively, for the end-effector motion in Fig. 14.
Please refer to the accompanying video for results in simulation for the -DOF and -DOF CCMA system examples and experimental results demonstrating different kinds of motion for the two -DOF CCMA prototypes.
V Conclusions and Future Work
In this work, we have introduced a generalized concept of constrained collaborative mobile agents. These systems have the potential to be scalable and adaptable according to the different task requirements. We have presented a novel optimization framework using sensitivity analysis, which allows flexibility to test different designs, topologies of passive kinematic chain, different number of mobile agents and different actuation schemes. With results in simulation, proof of concept prototypes and experimental quantitative results, we have demonstrated the efficacy of the developed optimization tool for the simulation and kinematic control of such systems.
Due to use of mobile bases, the robots presented in paper can be quite dexterous and have large workspaces. However, certain workspaces such as translation workspace along can be limited by the design parameters, such as link lengths, in the passive kinematic chain. As a future work, we aim to do the design optimization of the CCMA system for certain prescribed workspaces. Since the CCMA system effectively includes closed loop kinematic chains, treatment of singularities especially parallel singularities would be added in the optimization framework. The multiple actuation schemes, over-actuation and increase in number of mobile bases would be exploited to provide potential solutions in the future work. As these systems are scaled, they are bound to exhibit a lot more flexibility and compliance which is not necessarily a bad outcome, as the compliance can be good for safety reasons, but its effects have to be studied and possibly included in the simulation framework for accurate prediction of the end-effector states.
In this work, we presented robots actuated with omnidirectional mobile bases. In the future work, we aim to work with different mobile bases such as mobile bases with non-holonomic constraints or quadruped robots, which would lead to different instantiations of the CCMA concept.
-  K. Dörfler, T. Sandy, M. Giftthaler, F. Gramazio, M. Kohler, and J. Buchli, “Mobile Robotic Brickwork,” in Robotic Fabrication in Architecture, Art and Design 2016. Springer, Cham, 2016, pp. 204–217. [Online]. Available: https://link.springer.com/chapter/10.1007/978-3-319-26378-6_15
-  N. Kumar, N. Hack, K. Doerfler, A. N. Walzer, G. J. Rey, F. Gramazio, M. D. Kohler, and J. Buchli, “Design, development and experimental assessment of a robotic end-effector for non-standard concrete applications,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), May 2017, pp. 1707–1713.
-  R. Loveridge and T. Coray, “Robots on construction sites: The potential and challenges of on-site digital fabrication,” Science Robotics, vol. 2, no. 5, p. eaan3674, Apr. 2017. [Online]. Available: http://robotics.sciencemag.org/content/2/5/eaan3674
-  M. Giftthaler, T. Sandy, K. Dörfler, I. Brooks, M. Buckingham, G. Rey, M. Kohler, F. Gramazio, and J. Buchli, “Mobile Robotic Fabrication at 1:1 scale: the In situ Fabricator,” Construction Robotics, vol. 1, no. 1-4, pp. 3–14, Dec. 2017, arXiv: 1701.03573. [Online]. Available: http://arxiv.org/abs/1701.03573
-  S. J. Keating, J. C. Leland, L. Cai, and N. Oxman, “Toward site-specific and self-sufficient robotic fabrication on architectural scales,” Science Robotics, vol. 2, no. 5, p. eaam8986, Apr. 2017. [Online]. Available: http://robotics.sciencemag.org/content/2/5/eaam8986
-  F. Augugliaro, S. Lupashin, M. Hamer, C. Male, M. Hehn, M. W. Mueller, J. S. Willmann, F. Gramazio, M. Kohler, and R. D’Andrea, “The Flight Assembled Architecture installation: Cooperative construction with flying machines,” IEEE Control Systems, vol. 34, no. 4, pp. 46–64, Aug. 2014.
-  T. Rasheed, P. Long, D. Marquez-Gamez, and S. Caro, “Kinematic Modeling and Twist Feasibility of Mobile Cable-Driven Parallel Robots,” in Advances in Robot Kinematics 2018, ser. Springer Proceedings in Advanced Robotics. Springer, Cham, July 2018, pp. 410–418. [Online]. Available: https://link.springer.com/chapter/10.1007/978-3-319-93188-3_47
-  B. Zi, J. Lin, and S. Qian, “Localization, obstacle avoidance planning and control of a cooperative cable parallel robot for multiple mobile cranes,” Robotics and Computer-Integrated Manufacturing, vol. 34, pp. 105–123, Aug. 2015. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0736584514001033
-  Z. Wan, Y. Hu, J. Lin, and J. Zhang, “Design of the control system for a 6-DOF Mobile Parallel Robot with 3 subchains,” in 2010 IEEE International Conference on Mechatronics and Automation, Aug. 2010, pp. 446–451.
-  Y. Hu, Z. Wan, J. Yao, and J. Zhang, “Singularity and kinematics analysis for a class of PPUU mobile parallel robots,” in 2009 IEEE International Conference on Robotics and Biomimetics (ROBIO), Dec. 2009, pp. 812–817.
-  Y. Hu, J. Zhang, Y. Chen, and J. Yao, “Type synthesis and kinematic analysis for a class of mobile parallel robots,” in 2009 International Conference on Mechatronics and Automation, Aug. 2009, pp. 3619–3624.
-  R. M. Murray, S. S. Sastry, and L. Zexiang, A Mathematical Introduction to Robotic Manipulation, 1st ed. Boca Raton, FL, USA: CRC Press, Inc., 1994.
-  R. Featherstone, Rigid Body Dynamics Algorithms. Springer US, 2008. [Online]. Available: https://www.springer.com/de/book/9780387743141
-  L. Sciavicco and B. Siciliano, Modelling and Control of Robot Manipulators, 2nd ed., ser. Advanced Textbooks in Control and Signal Processing. London: Springer-Verlag, 2000. [Online]. Available: https://www.springer.com/de/book/9781852332211
-  J. P. Merlet, Parallel Robots, 2nd ed., ser. Solid Mechanics and Its Applications. Springer Netherlands, 2006. [Online]. Available: //www.springer.com/de/book/9781402041327
-  J. K. Davidson and K. H. Hunt, Robots and Screw Theory: Applications of kinematics and statics to robotics. Oxford, New York: Oxford University Press, Mar. 2004.
-  D. E. Whitney, “Resolved Motion Rate Control of Manipulators and Human Prostheses,” IEEE Transactions on Man-Machine Systems, vol. 10, no. 2, pp. 47–53, June 1969.
-  S. Coros, B. Thomaszewski, G. Noris, S. Sueda, M. Forberg, R. W. Sumner, W. Matusik, and B. Bickel, “Computational Design of Mechanical Characters,” ACM Trans. Graph., vol. 32, no. 4, pp. 83:1–83:12, July 2013. [Online]. Available: http://doi.acm.org/10.1145/2461912.2461953
-  B. Thomaszewski, S. Coros, D. Gauge, V. Megaro, E. Grinspun, and M. Gross, “Computational Design of Linkage-based Characters,” ACM Trans. Graph., vol. 33, no. 4, pp. 64:1–64:9, July 2014. [Online]. Available: http://doi.acm.org/10.1145/2601097.2601143
-  A. McNamara, A. Treuille, Z. Popović, and J. Stam, “Fluid Control Using the Adjoint Method,” in ACM SIGGRAPH 2004 Papers, ser. SIGGRAPH ’04. New York, NY, USA: ACM, 2004, pp. 449–456. [Online]. Available: http://doi.acm.org/10.1145/1186562.1015744
-  T. Auzinger, W. Heidrich, and B. Bickel, “Computational Design of Nanostructural Color for Additive Manufacturing,” ACM Trans. Graph., vol. 37, no. 4, pp. 159:1–159:16, July 2018. [Online]. Available: http://doi.acm.org/10.1145/3197517.3201376
-  Y. Cao, S. Li, L. Petzold, and R. Serban, “Adjoint Sensitivity Analysis for Differential-Algebraic Equations: The Adjoint DAE System and Its Numerical Solution,” SIAM J. Sci. Comput., vol. 24, no. 3, pp. 1076–1089, Mar. 2002. [Online]. Available: https://doi.org/10.1137/S1064827501380630
-  R. Siegwart and I. R. Nourbakhsh, Introduction to Autonomous Mobile Robots. Scituate, MA, USA: Bradford Company, 2004.