Skip to main content
Log in

Robot programming by demonstration: a novel system for robot trajectory programming based on robot operating system

  • Published:
Advances in Manufacturing Aims and scope Submit manuscript

Abstract

In this article, a new trajectory programming system that allows non-expert users to intuitively and efficiently program trajectories for robots is proposed. The system tracks a pen-shaped marker and obtains its position and orientation by processing the point cloud data of the workspace. A graphical user interface, which enables users to save and execute the acquired trajectory immediately after performing trajectory demonstration, is designed and developed for the system. The performance of the developed system is experimentally evaluated by using it to program trajectories for a UR5 robot. The results indicate that compared with traditional kinesthetic programming, the developed system has the potential of significantly reducing the ergonomic stress and workload of users. The system is developed based on the robot operating system, which facilitates its integration with different robot control systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Biggs G, MacDonald B (2003) A survey of robot programming systems. In: Proceedings of the Australasian conference on robotics and automation, Brisbane, Australia, pp 1–3

  2. Ng CL, Ng TC, Nguyen TAN et al (2010) Intuitive robot tool path teaching using laser and camera in augmented reality environment. In: 2010 IEEE 11th international conference on control automation robotics and vision, Singapore, pp 114–119

  3. Schaal S, Ijspeert A, Billard A (2003) Computational approaches to motor learning by imitation. Philos Trans R Soc Lond Ser B Biol Sci 358(1431):537–547

    Article  Google Scholar 

  4. BillardAG Calinon S, Dillmann R (2016) Learning from humans. In: Siciliano Bruno, Khatib Oussama (eds) Springer handbook of robotics. Springer, Cham, pp 1995–2014

    Chapter  Google Scholar 

  5. Helander MG, Landauer TK, Prabhu PV (2014) Handbook of human-computer interaction, 2nd edn. Elsevier, Amsterdam

    Google Scholar 

  6. ROS.org (2018) Powering the world’s robots. http://www.ros.org. Accessed 15 May 2019

  7. Billard A, Calinon S, Dillmann R et al (2008) Robot programming by demonstration. Springer handbook of robotics. Springer, Berlin, pp 1371–1394

    Google Scholar 

  8. Landa-Hurtado LR, Mamani-Macaya FA, Fuentes-Maya M et al (2014) Kinect-based trajectory teaching for industrial robots. In: Pan-American congress of applied mechanics (PACAM), Santiago, Chile

  9. Moe S, Schjølberg I (2013) Real-time hand guiding of industrial manipulator in 5 d of using microsoft kinect and accelerometer. In: 2013 IEEE RO-MAN, Gyeongju, Korea, pp 644–649

  10. Lambrecht J, KleinsorgeM, KrügerJ (2011) Markerless gesture-based motion control and programming of industrial robots. In: International conference on emerging technologies and factory automation, Toulouse, France, pp 1–4

  11. Zhang X, Zhou H, Cheng H et al (2015) Teaching-playback of robot manipulator based on human gesture recognition and motion tracking. In: 2015 IEEE international conference on robotics and biomimetics (ROBIO), Zhuhai, China, pp 1183–1188

  12. Lambrecht J, Walzel H, Krüger J (2013) Robust finger gesture recognition on handheld devices for spatial programming of industrial robots. In: IEEE international workshop on robot and human communication, Gyeongju, South Korea, pp 99–106

  13. Lambrecht J, Krüger J (2012) Spatial programming for industrial robots based on gestures and augmented reality. In: IEEE/RSJ international conference on intelligent robots and systems, Vilamoura, Portuga, pp 466–472

  14. Ng CL, Ng TC, Nguyen TAN et al (2010) Intuitive robot tool path teaching using laser and camera in augmented reality environment. In: 11th International conference on control automation robotics and vision, Singapore, pp 114–119

  15. Ong SK, Yuan ML, Nee AYC (2008) Augmented reality applications in manufacturing: a survey. Int J Prod Res 46(10):2707–2742

    Article  Google Scholar 

  16. Pettersen T, Pretlove J, Skourup C et al (2003) Augmented reality for programming industrial robots. In: The second IEEE and ACM international symposium on mixed and augmented reality, Tokyo, Japan, pp 319–320

  17. Pan Z, Polden J, Larkin N et al (2010) Recent progress on programming methods for industrial robots. Robot Comput Integr Manuf 28(2):87–94

    Article  Google Scholar 

  18. Nguyen A, Le B (2013) 3D point cloud segmentation: a survey. In: 2013 6th IEEE conference on robotics, automation and mechatronics (RAM), Manila, Philippines, pp 225–230

  19. Cheng HD, Jiang XH, Sun Y et al (2001) Color image segmentation: advances and prospects. Pattern Recognit 34(12):2259–2281

    Article  Google Scholar 

  20. PCL - Point Cloud Library (PCL) (2019). http://pointclouds.org. Accessed 18 May 2019

  21. Meer P, Mintz D, Rosenfeld A et al (1991) Robust regression methods for computer vision: a review. Int J Comput Vis 6(1):59–70

    Article  Google Scholar 

  22. Rousseeuw PJ (1984) Least median of squares regression. J Am Stat Assoc 79(388):871–880

    Article  MathSciNet  Google Scholar 

  23. Bolles RC, Fischler MA (1981) A RANSAC-based approach to model fitting and its application to finding cylinders in range data. In: International joint conference on artificial intelligence, Vancouver, Canada, pp 637–643

  24. Derpanis KG (2010) Overview of the RANSAC algorithm. Image Rochester NY 4(1):2–3

    Google Scholar 

  25. Grilli E, Menna F, Remondino F (2017) A review of point clouds segmentation and classification algorithms. In: International archives of photogrammetry, remote sensing and spatial information sciences, Nafplio, Greece

  26. Qt (2019) Cross-platform software development for embedded & desktop. https://www.qt.io. Accessed 19 May 2019

  27. MoveIt! Motion Planning Framework (2018). http://moveit.ros.org. Accessed 19 May 2019

  28. rviz - ROS Wiki (2019). http://wiki.ros.org/rviz. Accessed 20 May 2019

  29. Khoshelham K (2011) Accuracy analysis of kinect depth data. In: Proceedings of the ISPRS workshop laser scanning, Calgary, Canada, pp 133–138

Download references

Acknowledgments

This research was supported by the Major Projects of Guangzhou City of China (Grant Nos. 201907010012, 201704030091 and 201607010041), the Guangdong Innovative and Entrepreneurial Research Team Program (Grant No. 2014ZT05G132), Shenzhen Peacock Plan (Grant No. KQTD2015033117354154), the Major Projects of Guangdong Province of China (Grant No. 2015B010919002), the Major Projects of Dongguan City of China (Grant No. 2017215102008), and the Nansha District International Science and Technology Cooperation Project of Guangzhou City of China (Grant No. 2016GJ004).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qu-Jiang Lei.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, HD., Liu, SB., Lei, QJ. et al. Robot programming by demonstration: a novel system for robot trajectory programming based on robot operating system. Adv. Manuf. 8, 216–229 (2020). https://doi.org/10.1007/s40436-020-00303-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40436-020-00303-4

Keywords

Navigation