Abstract
This tutorial chapter explains the implementation of controllers in the Robot Operating System. The inner working of the ROS real-time loop is explained with discussion of the classes used to implement it. Contrariwise to most available examples of implementation of controllers in ROS, which show the use of single input, single output controllers using the proportional-integral-derivative control law, here controllers are approached in a more general sense, so that any control law can be used. A complete example of implementation of a MIMO nonlinear controller is presented using the computed torque control law. The real-time aspects of the problem are also considered and the controller is ready for running in hard-real-time with the PREEMPT_RT kernel patch. The source code of examples are available at public repositories to enable readers to experiment with the examples and adapt them to their robots.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A linear function is one in which \(f(\alpha _1 x_1+\alpha _2 x_2)=\alpha _1 f(x_1) + \alpha _2 f(x_2)\) for any constant \(\alpha _1\) and \(\alpha _2\) and any \(x_1\) and \(x_2\).
- 2.
The Newton-Euler formulation is a well-known recursive procedure to compute the torque in (5) as \(\tau =f(q,\dot{q},\ddot{q}\)).
References
K.J. Åström, B. Wittenmark, Computer Controlled Systems—Theory and Design (Prentice-Hall, Englewood Cliffs, 1984)
WAM User Manual (Barrett Technology Inc., Cambridge, 2011)
H, Bruyninckx, Open robot control software: the orocos project, in Proceedings of the 2001 IEEE International Conference on Robotics and Automation, (IEEE Press, Seoul, 2001), pp. 2523–2528
A. Burns, A. Wellings, Real-Time Systems and Programming Languages, 3rd edn. (Addison-Wesley, Reading, 2001)
C.T. Chen, Linear System Theory and Design (Holt, Rinehart & Winston, New York, 1984)
R. Featherstone, Rigid Body Dynamics Algorithms (Springer, New York, 2008)
G.F. Frankin, J.D. Powell, M.L. Workman, Digital Control of Dynamic Systems, 2nd edn., Addison-Wesley Series in Electrical and Computer Engineering: Control Engineering (Addison-Wesley, Boston, 1989)
K.S. Fu, R.C. Gonzales, C.S.G. Lee, Robotics Control, Sensing, Vision and Intelligence, Industrial Engineering Series (McGraw-Hill, New York, 1987)
P, Goebel, ROS by Example. Lulu, Raleigh, NC (Abr 2013), http://www.lulu.com/shop/r-patrick-goebel/ros-by-example-hydro-volume-1/paperback/product-21460217.html
Ioris, D., Lages, W.F., Santini, D.C.: Integrating the OROCOS framework and the barrett WAM robot, in Proceedings of the 5th Workshop on Applied Robotics and Automation. Sociedade Brasileira de Automática, (Bauru, 2012)
A. Isidori, Nonlinear Control Systems, 3rd edn. (Springer, Berlin, 1995)
H.K. Khalil, Nonlinear Systems, 2nd edn. (Prentice-Hall, Upper Saddle River, 1996)
N, Koenig, A, Howard, Design and use paradigms for gazebo, an open-source multi-robot simulator, in Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2004), Sep 2004, vol. 3 (IEEE Press, Sendai, 2004), pp. 2149–2154
W.F. Lages, D. Ioris, D. Santini, An architecture for controlling the barrett wam robot using ros and orocos, in Proceedings for the Joint Conference of 45th International Symposium on Robotics and 8th German Conference on Robotics (VDE Verlag, Munich, Germany, 2014). ISBN: 978-3-8007-3601-0
J.Y.T. Leung, J. Whitehead, On the complexity of fixed-priority scheduling of periodic, real-time tasks. Perform. Eval. 2(4), 237–250 (1982)
C.L. Liu, J.W. Layland, Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1), 46–61 (1973)
Maciel, E.H., Henriques, R.V.B., Lages, W.F.: Control of a biped robot using the robot operating system, in Proceedings of the 6th Workshop on Applied Robotics and Automation (Sociedade Brasileira de Automática, São Carlos, SP, Brazil, 2014)
A. Martinez, E. Fernández, Learning ROS for Robotics Programming (Packt Publishing, Birmingham, 2013)
H. Nijmeijer, A. van der Schaft, Nonlinear Dynamical Control System (Springer, New York, 1990)
K. Ogata, Modern Control Engineering (Prentice-Hall, Englewood Cliffs, 1970)
J.M. O’Kane, A Gentle Introduction to ROS. CreateSpace Independent Publishing Platform (2013), http://www.cse.sc.edu/~jokane/agitr/. Accessed Oct 2013
Open Software Automation Development Lab: Osadl project: Realtime linux (2012), https://www.osadl.org/Realtime-Linux.projects-realtime-linux.0.html
M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, Ng, A.: ROS: an open-source robot operating system, in Proceedings of the IEEE International Conference on Robotics and Automation, Workshop on Open Source Robotics, May 2009 (IEEE Press, Kobe, Japan, 2009)
D.C. Santini, W.F. Lages, An architecture for robot control based on the OROCOS framework, in Proceedings of the 4th Workshop on Applied Robotics and Automation. (Sociedade Brasileira de Automática, Bauru, SP, Brazil, 2010)
J.J.E. Slotine, W. Li, Applied Nonlinear Control (Prentice-Hall, Englewood Cliffs, 1991)
I.A. Sucan, S. Chitta, MoveIt! (2015), http://moveit.ros.org
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Lages, W.F. (2016). Implementation of Real-Time Joint Controllers. In: Koubaa, A. (eds) Robot Operating System (ROS). Studies in Computational Intelligence, vol 625. Springer, Cham. https://doi.org/10.1007/978-3-319-26054-9_26
Download citation
DOI: https://doi.org/10.1007/978-3-319-26054-9_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-26052-5
Online ISBN: 978-3-319-26054-9
eBook Packages: EngineeringEngineering (R0)