Affordable Motion Tracking System for Intuitive Programming of Industrial Robots
Abstract
:1. Introduction
- Objective 1—Describe the individual HW and SW components of the system. This may serve as an inspiration for readers from academia or industry working on similar topics.
- Objective 2—Develop generic algorithms for motion tracker calibration and recorded trajectory post-processing. These results are transferable to analogous motion control problems in various mechatronics applications.
- Objective 3—Evaluation of motion tracking performance in static and dynamic conditions. A fundamental step validating that the design specifications were met and the system is suitable for the intended purpose.
- Objective 4—Presentation of a pilot application in the field of spray coating. This serves as an industrial use-case demonstrating practical applicability of the proposed solution.
2. Overall Conception of the Motion Tracking System
- The operator activates the tracking system and demonstrates the intended motion manually using a tool with attached tracker sensor.
- Both absolute position and orientation are recorded in real-time for further processing.
- The recorded motion trajectory is post-processed to smooth out measurement noise and hand-induced vibrations. Feed rate of the reproduced motions can also be adjusted as desired. The adjusted motions are uploaded back to the master controller.
- The tool is attached to the robot arm and the device is switched to automatic mode.
- The real-time controller commands the robot arm to reproduce the recorded trajectories in a fully automatic manner.
3. Hardware Parts Specifications and Functional Properties
- Capability of recording of motion trajectory of a tool wielded by a human operator demonstrating a task, without the necessity to reposition the robot arm directly, followed by automatic reproduction of the motion task
- Tracking of the complete tool pose—both translation and orientation degrees of freedom are to be considered
- Possibility of attachment of the tracker sensor to a real tool used by a human operator to achieve maximum fidelity of motion demonstration and reproduction
- Affordable price of the tracking device, relatively low with respect to the price of the robot arm
- Robustness of the system allowing its employment in harsh industrial environments
- Compatibility with conventional industrial robots without a necessity of custom-made manipulators or mechatronic devices
- Self-contained system working as an add-on to the existing robot controllers
- Open architecture of the system allowing flexible customisation for different application fields
- Pose estimation accuracy of approximately 10 mm/1 for static/low-velocity motions and 30 mm/5 during dynamic tracking-suffices for applications with moderate precision requirements such as painting and coating, blasting, or handling and picking
- Affordable price (approx. 500 EUR for the configuration with two base stations)
- Small dimensions (fits in 100 mm diameter sphere) and low weight (270 g) of the tracking sensor allowing simple attachment to the tracked tool without severely obstructing the motion of the operator during the teaching phase
- Commercial of-the-shelf product with long-term support from the manufacturer
3.1. HTC Vive Tracker
3.2. Sensor Docking Interface
- Forms a platform carrying the sensory part of the system—the HTC Vive Tracker
- Ensures attachment to a tool—spray gun was used for the robotic painting application described in this paper
- Contains a programmable button for remote control of the tracking process by the operator
- Allows sensing of auxiliary process values from the tool—e.g., activation of the spray gun in the painting scenario
3.3. Real-Time Data-Acquisition and Motion Control System
- Power supply, protection and distribution —230 V AC input, 24/7.5/5 V DC output for the real-time controller, industrial Ethernet switch, EtherCAT-EthernetPI gateway, distributed I/Os and tool buttons
- Real-time controller—B&R Automation PC 2200
- Monarco HAT—used as remote I/Os, PWM control of tool servo control
- Industrial Ethernet switch—Advantech EKI-2528 realising internal TCP/IP network for data communication between the individual modules
- Anybus X-gateway—conversion between EtherCAT protocol (used at the real-time controller) and EthernetIP (standard interface to Fanuc robots, may differ for other manufacturers)
- Industrial signal tower light—indication of tracking device state
- Host computer—standard PC/laptop hosting a remote data post-processing application. The same device can also serve for displaying the HMI interface.
4. Software Components and Their Implementation
- HTC Vive Tracker interface—allows low-level communication between the real-time controller and tracker system, based on libsurvive library [30]
- Robot controller interface—serves for communication with the robot arm. Currently available for Fanuc, Stäubli and Universal robots.
- Trajectory processing and replication module—performs data-processing of recorded motion trajectories and is also responsible for their reproduction by means of the robot arm in the automatic regime of operation
- Tracker calibration module—initialises calibration functions using a remote application, necessary for proper referencing of the motion sensor
- Motion tracking module—implements the real-time trajectory recording during the teaching phase
- Data post-processor—allows to adjust recorded motion data to fit the needs of both the user (smoothing, feed-rate adjustments) and the robotic arm (sampling period, actuator constraints)
- Human-machine interface HMI—operator screens visualising robot and tracking device state
5. Implementation Details
5.1. HTC Vive Tracker Interface
- VISION_POSITION_ESTIMATE—includes coordinates of first detected tracker position and quaternion representing the rotation
- MANUAL_CONTROL—transmits information about auxiliary tool variables, e.g., a press of a button
- COMMAND_LONG messages—allow archiving and transmission of debug logs
5.2. Tracking Device Calibration Module
- : End-effector pose of the robot during the initialisation and tracker calibration measurement phases, they are known from the robot kinematic model and measured joint positions.
- : Measurements obtained from the tracker with respect to the reference CS chosen during the sensor initialisation.
- : Unknown pose of the tracker with respect to robot flange, to be determined by the calibration process.
5.2.1. Attitude Calibration
5.2.2. Translation Calibration
5.3. Data Post-Processing SW Module
- Zero-phase low-pass filtering—this step is needed to remove measurement noise and operator-induced vibrations. Translation and attitude data are handled separately.
- Robot inverse kinematics computation—the recorded tool trajectory is transformed to joint coordinates of the used robotic arm using a known kinematic transform. This step has to resolve ambiguity in robot configuration, as there are eight joint space solutions corresponding to the same tool pose for a typical 6DoF industrial robot. The user can select from a particular solution, generate all the available solutions or switch to a particular solution corresponding to the actual state of the robot. The last option is viable for situations where the operator may be able to manually position the robot arm to a configuration suitable for the intended task.
- Feedrate adjustment—the pose of the tool can be reproduced by the robot exactly in the time domain as recorded by the operator. Another option is to preserve only the geometric shape and adjust the feed rate (tangential velocity) of the motion performed by the robot. The user can choose between these two interpolation modes and change the feed rate in the latter as needed by the application.
- Singular positions check—reproducibility of the recorded motion by the particular robot in use is checked with respect to possible crossing of singular positions, either inside or at the border of the robot workspace. The occurrence of such events is undesirable and has to be resolved, either by adjusting the desired trajectory, repositioning the robot base in its workspace, or choosing different joint configurations from the permissible set given by the inverse kinematics.
- Robot drives limits check—reproducibility of the motion at the drive level is evaluated by detecting possible violations of maximum position, velocity, acceleration and optionally jerk limits for the individual robot axes. Position overruns can be removed similarly to the occurrence of singular positions. The magnitude of the higher derivatives of position is dominantly determined by the feed rate, that can be reduced when needed. The proximity of singular points also often leads to rapid joint motions. Therefore, cures for singular point resolution usually improve the physical feasibility at the drive level as well.
- Resampling or interpolation—the resulting motion profiles, now readily available in the joint coordinates, are resampled to a different update rate suitable for the particular robot arm and its controller. For this sake, a shape preserving cubic spline interpolation implemented in Matlab’s interp1 function was used [36].
5.3.1. Trajectory Smoothing via Zero-Phase Filtering
5.3.2. Robot Motion Simulation Using Virtual Model
5.4. Human-Machine Interface
6. Experimental Results
6.1. Evaluation of Pose Estimation Error
- Attachment of the HTC Tracker to a tool fixed to the robot flange
- Sensor initialisation and execution of the calibration sequence, as described above
- Adjustment of robot configuration to follow several measurements positions while recording the pose data of the flange reported by the robot and relative pose data measured by the tracker
- Converting the tracker data to the pose of the robot flange
- Comparison of translation and orientation error between the two coordinate systems reported by the robot (reference ground-truth value) and tracker
- Calibration error of the tracker coordinate system—results from the errors in the relative pose of the tracker sensor with respect to the robot flange. This coordinate transform is estimated during the calibration procedure described in Section 5.2. This error is directly propagated to the computed motion trajectories for the robot, resulting in a systematic bias in the translation and orientation of the tool during the automatic motion reproduction. The error is deterministic by nature. Its magnitude can be reduced by proper execution of the calibration procedure, in particular by covering the relevant workspace with a sufficient amount of calibration points and averaging multiple measurements to reduce the variance of the estimates.
- Tracking sensor error—results from various sources of internal errors of the tracking device, partly due to measurement noise in the optical flow, signal losses between the tracker and base stations and motion induced errors affecting mainly the IMU part of the system. This error is a mix of deterministic and stochastic components and can hardly be reduced without altering the signal processing routines implemented in the sensor firmware.
- Post-processing error—application of the smoothing filter to the raw recorded motion data alters the original trajectory and potentially introduces a systematic error. Although using a zero-phase algorithm, improper choice of filter bandwidth may still lead to severe performance deterioration. This source of error can be mitigated by analysing the spectral content of the raw data, which usually reveals a frequency range relevant for motion tracking, allowing it to be separated from the measurement noise by filtering.
- Maximum achieved translation error [mm]: 44.91
- Mean value of achieved translation error [mm]: 8.82
- Maximum achieved orientation error [deg]: 8.17
- Mean value of achieved orientation error [deg]: 1.58
6.2. Zero-Phase Filter Design for Motion Post-Processing
- Design an IIR low-pass filter for the forward-backward filtering algorithm with real poles to achieve a monotonous step response
- Design a zero-phase FIR low-pass filter with non-negative values of impulse response, leading again to a monotonous step response
6.3. Pilot Application—Robotic-Assisted Spray Painting
7. Discussion
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
MDPI | Multidisciplinary Digital Publishing Institute |
LED | Light-emitting diode |
IMU | Inertial measurement unit |
AC/DC | Alternating/dirrect cuurent |
PWM | Pulse-width modeulation |
HMI | Human-machine interface |
I/O | Input/output |
PC | Personal computer |
DoF | Degree of freedom |
CS | Coordinate system |
HT | Homogenous transformation matrix |
IIR | Infinite impulse response |
FIR | Finite impulse response |
HTML | Hypertext markup language |
USB | Universal serial bus |
REST | REpresentational State Transfer |
CSV | Comma separated values |
FTP | File transfer protocol |
Appendix A. Results of Motion Tracker Performance Experiments
Testing Motion | Resulting Parameters & Graphs |
---|---|
TEST_1_1 (Straight line crossings without stopping) maxVelocity_translation [mm/s]: 200 maxAcceleration_translation [mm/s]: 1000 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 27.58 Avg. translation error [mm]: 12.65 Max. orientation error [deg]: 5.63 Avg. orientation error [deg]: 1.80 Link to plots, accessed 9 June 2022 |
TEST_1_2 (Straight line crossings without stopping) maxVelocity_translation [mm/s]: 50 maxAcceleration_translation [mm/s]: 1000 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 50.54 Avg. translation error [mm]: 9.41 Max. orientation error [deg]: 3.58 Avg. orientation error [deg]: 1.28 Link to plots, accessed 9 June 2022 |
TEST_1_3 (Straight line crossings without stopping) maxVelocity_translation [mm/s]: 400 maxAcceleration_translation [mm/s]: 1500 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 40.16 Avg. translation error [mm]: 14.07 Max. orientation error [deg]: 12.99 Avg. orientation error [deg]: 2.75 Link to plots, accessed 9 June 2022 |
TEST_1_4 (Straight line crossings without stopping) maxVelocity_translation [mm/s]: 400 maxAcceleration_translation [mm/s]: 1500 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 40.47 Avg. translation error [mm]: 14.04 Max. orientation error [deg]: 13.07 Avg. orientation error [deg]: 2.75 Link to plots, accessed 9 June 2022 |
TEST_1_5 (Straight line crossings with stopping) maxVelocity_translation [mm/s]: 200 maxAcceleration_translation [mm/s]: 1000 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 43.92 Avg. translation error [mm]: 3.96 Max. orientation error [deg]: 3.85 Avg. orientation error [deg]: 1.25 Link to plots, accessed 9 June 2022 |
TEST_2_1 (Straight line crossings with stopping) maxVelocity_translation [mm/s]: 200 maxAcceleration_translation [mm/s]: 500 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 50.67 Avg. translation error [mm]: 11.50 Max. orientation error [deg]: 8.81 Avg. orientation error [deg]: 1.14 Link to plots, accessed 9 June 2022 |
TEST_2_2 (Straight line crossings with stopping, re-calibration) maxVelocity_translation [mm/s]: 200 maxAcceleration_translation [mm/s]: 500 maxVelocity_rotation [deg/s]: 80 maxAcceleration_rotation [deg/s]: 360 | Max. translation error [mm]: 24.82 Avg. translation error [mm]: 7.64 Max. orientation error [deg]: 6.53 Avg. orientation error [deg]: 1.22 Link to plots, accessed 9 June 2022 |
TEST_2_3 (Straight line crossings with stopping, re-calibration, constant orientation) maxVelocity_translation [mm/s]: 200 maxAcceleration_translation [mm/s]: 500 maxVelocity_rotation [deg/s]: — maxAcceleration_rotation [deg/s]: — | Max. translation error [mm]: 32.92 Avg. translation error [mm]: 6.92 Max. orientation error [deg]: 10.97 Avg. orientation error [deg]: 0.92 Link to plots, accessed 9 June 2022 |
TEST_3_1 (General motion—Hand Guidance trajectory planning) | Max. translation error [mm]: 113.78 Avg. translation error [mm]: 12.20 Max. orientation error [deg]: 13.82 Avg. orientation error [deg]: 2.11 Link to plots, accessed 9 June 2022 |
TEST_3_2 (General motion—Hand Guidance trajectory planning, 1/3 of the previous velocity) | Max. translation error [mm]: 24.26 Avg. translation error [mm]: 5.26 Max. orientation error [deg]: 2.49 Avg. orientation error [deg]: 0.57 Link to plots, accessed 9 June 2022 |
Appendix B
- Motion data post-processing—effect of oscillatory smoothing filter dynamics:Link: Movie 1, accessed 9 June 2022
- Pilot application—tracking system for robot-assisted spray painting:Link: Movie 2, accessed 9 June 2022
- Alternate mirror link:Link, accessed 9 June 2022
References
- IFR World Robotics Report. Available online: https://ifr.org/ifr-press-releases/news/record-2.7-million-robots-work-in-factories-around-the-globe (accessed on 7 June 2022).
- Sanneman, L.; Fourie, C.; Shah, J.A. The State of Industrial Robotics: Emerging Technologies, Challenges, and Key Research Directions. Found. Trends Robot. 2021, 8, 225–306. [Google Scholar] [CrossRef]
- Vicentini, F. Collaborative robotics: A survey. J. Mech. Des. 2021, 143, 040802. [Google Scholar] [CrossRef]
- Hentout, A.; Aouache, M.; Maoudj, A.; Akli, I. Human–robot interaction in industrial collaborative robotics: A literature review of the decade 2008–2017. Adv. Robot. 2019, 33, 764–799. [Google Scholar] [CrossRef]
- Fanuc Collaborative Robot Hand Guidance. Available online: https://www.fanuc.eu/ua/en/robots/accessories/hand-guidance (accessed on 7 June 2022).
- Programming Robots in Next to No Time: Hand Guiding with KUKA Ready2_Pilot. Available online: https://www.kuka.com/en-us/company/press/news/2020/11/ready2_pilot (accessed on 7 June 2022).
- Rossano, G.F.; Martinez, C.; Hedelind, M.; Murphy, S.; Fuhlbrigge, T.A. Easy robot programming concepts: An industrial perspective. In Proceedings of the 2013 IEEE International Conference on Automation Science and Engineering (CASE), Madison, WI, USA, 17–20 August 2013; pp. 1119–1126. [Google Scholar]
- Canfield, S.L.; Owens, J.S.; Zuccaro, S.G. Zero moment control for lead-through teach programming and process monitoring of a collaborative welding robot. J. Mech. Robot. 2021, 13, 031016. [Google Scholar] [CrossRef]
- Griffiths, C.A.; Giannetti, C.; Andrzejewski, K.T.; Morgan, A. Comparison of a Bat and Genetic Algorithm Generated Sequence Against Lead Through Programming When Assembling a PCB Using a Six-Axis Robot with Multiple Motions and Speeds. IEEE Trans. Ind. Inform. 2021, 18, 1102–1110. [Google Scholar] [CrossRef]
- API Radian Laser Trackers. Available online: https://apimetrology.com/radian/ (accessed on 7 June 2022).
- FARO Vantage Laser Trackers. Available online: https://www.faro.com/en/Products/Hardware/Vantage-Laser-Trackers (accessed on 7 June 2022).
- Leica Laser Trackers. Available online: https://www.hexagonmi.com/en-GB/products/laser-tracker-systems/leica-absolute-tracker-at960 (accessed on 7 June 2022).
- Omnitrac 2 Laser Tracker. Available online: https://www.ems-usa.com/products/3d-scanners/api-laser-trackers/omnitrac-2 (accessed on 7 June 2022).
- VICON Motion Capture System. Available online: https://www.vicon.com/ (accessed on 7 June 2022).
- LEAP Motion Tracker System. Available online: https://www.ultraleap.com/product/leap-motion-controller/ (accessed on 7 June 2022).
- OptiTrack. Available online: https://www.optitrack.com/ (accessed on 7 June 2022).
- Orbit Series Motion Capture Cameras. Available online: https://www.nokov.com/en/products/motion-capture-cameras/Oribit.html (accessed on 7 June 2022).
- Čečil, R.; Tolar, D.; Schlegel, M. RF Synchronized Active LED Markers for Reliable Motion Capture. In Proceedings of the 2021 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), Port Louis, Mauritius, 7–8 October 2021; pp. 1–10. [Google Scholar] [CrossRef]
- Ferreira, M.; Costa, P.; Rocha, L.; Moreira, A.P. Stereo-based real-time 6-DoF work tool tracking for robot programing by demonstration. Int. J. Adv. Manuf. Technol. 2016, 85, 57–69. [Google Scholar] [CrossRef]
- HiBall Wide-Area Optical Tracking System. Available online: http://www.cs.unc.edu/~tracker/media/pdf/Welch2001_HiBall_Presence.pdf (accessed on 7 June 2022).
- Otus Tracker (Discontinued). Available online: https://www.tytorobotics.com/pages/otus-tracker (accessed on 7 June 2022).
- Ruzarovsky, R.; Holubek, R.; Delgado Sobrino, D.R.; Janíček, M. The Simulation of Conveyor Control System Using the Virtual Commissioning and Virtual Reality. Adv. Sci. Technol. Res. J. 2018, 12, 164–171. [Google Scholar] [CrossRef]
- Shintemirov, A.; Taunyazov, T.; Omarali, B.; Nurbayeva, A.; Kim, A.; Bukeyev, A.; Rubagotti, M. An Open-Source 7-DOF Wireless Human Arm Motion-Tracking System for Use in Robotics Research. Sensors 2020, 20, 3082. [Google Scholar] [CrossRef] [PubMed]
- Qi, L.; Zhang, D.; Zhang, J.; Li, J. A lead-through robot programming approach using a 6-DOF wire-based motion tracking device. In Proceedings of the 2009 IEEE International Conference on Robotics and Biomimetics (ROBIO), Guilin, China, 19–23 December 2009; pp. 1773–1777. [Google Scholar] [CrossRef]
- Lu, X.; Jia, Z.; Hu, X.; Wang, W. Double position sensitive detectors (PSDs) based measurement system of trajectory tracking of a moving target. Eng. Comput. 2017, 34, 781–799. [Google Scholar] [CrossRef]
- HTC Vive Tracker. Available online: https://www.vive.com/eu/accessory/tracker3/ (accessed on 7 June 2022).
- Bauer, P.; Lienhart, W.; Jost, S. Accuracy Investigation of the Pose Determination of a VR System. Sensors 2021, 21, 1622. [Google Scholar] [CrossRef] [PubMed]
- Borges, M.; Symington, A.C.; Coltin, B.; Smith, T.; Ventura, R. HTC Vive: Analysis and Accuracy Improvement. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 2610–2615. [Google Scholar]
- Al-Ibadi, A.; Nefti-Meziani, S.; Davis, S. Active Soft End Effectors for Efficient Grasping and Safe Handling. IEEE Access 2018, 6, 23591–23601. [Google Scholar] [CrossRef]
- Libsurvive Library—Open Source Lighthouse Tracking System. Available online: https://github.com/cntools/libsurvive (accessed on 7 June 2022).
- REXYGEN—Programming Automation Devices without Hand Coding. Available online: www.rexygen.com (accessed on 7 June 2022).
- ReactiveX for Python (RxPY). Available online: https://rxpy.readthedocs.io/en/latest/ (accessed on 7 June 2022).
- MAVLink Developer Guide—Common Message Set. Available online: https://mavlink.io/en/messages/common.html (accessed on 7 June 2022).
- Golub, G.H.; Van Loan, C.F. Matrix Computations, 3rd ed.; The Johns Hopkins University Press: Baltimore, MD, USA, 1996. [Google Scholar]
- What Is REST—API Tutorial. Available online: https://restfulapi.net/ (accessed on 7 June 2022).
- MathWorks Help Center—1-D Data Interpolation in Matlab. Available online: https://www.mathworks.com/help/matlab/ref/interp1.html (accessed on 7 June 2022).
- MathWorks Help Center—Zero-Phase Digital Filtering. Available online: https://www.mathworks.com/help/signal/ref/filtfilt.html (accessed on 7 June 2022).
- Gustafsson, F. Determining the initial states in forward-backward filtering. IEEE Trans. Signal Process. 1996, 44, 988–992. [Google Scholar] [CrossRef] [Green Version]
- Proakis, J.G.; Manolakis, D.K. Digital Signal Processing, 4th ed.; Prentice Hall: Hoboken, NJ, USA, 2006. [Google Scholar]
- Harris, F.J. On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform. Proc. IEEE 1978, 66, 51–83. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Švejda, M.; Goubej, M.; Jáger, A.; Reitinger, J.; Severa, O. Affordable Motion Tracking System for Intuitive Programming of Industrial Robots. Sensors 2022, 22, 4962. https://doi.org/10.3390/s22134962
Švejda M, Goubej M, Jáger A, Reitinger J, Severa O. Affordable Motion Tracking System for Intuitive Programming of Industrial Robots. Sensors. 2022; 22(13):4962. https://doi.org/10.3390/s22134962
Chicago/Turabian StyleŠvejda, Martin, Martin Goubej, Arnold Jáger, Jan Reitinger, and Ondřej Severa. 2022. "Affordable Motion Tracking System for Intuitive Programming of Industrial Robots" Sensors 22, no. 13: 4962. https://doi.org/10.3390/s22134962
APA StyleŠvejda, M., Goubej, M., Jáger, A., Reitinger, J., & Severa, O. (2022). Affordable Motion Tracking System for Intuitive Programming of Industrial Robots. Sensors, 22(13), 4962. https://doi.org/10.3390/s22134962