Visual Servoing Architecture of Mobile Manipulators for Precise Industrial Operations on Moving Objects
Abstract
:1. Introduction
2. Related Work
3. Proposed Approach
- The mobile manipulator should be able to approach the moving object and perform different operations on the same parts (e.g., tighten five different bolts). An eye-to-hand configuration is proposed with the camera attached to the mobile platform. This decision is motivated by the fact that in real applications, it could be problematic to find a suitable camera position that ensures the visibility of the part in a wide range of tool positions. The eye-to-hand configuration simplifies the problem, making it necessary to detect just one part instead of multiple small elements such as bolts or holes.
- To generalize the approach and as it is intended for a wide range of parts, a position-based visual servoing (PBVS) is proposed to avoid conditioning the detection process.
- Due to the precision required for tasks such as screwing or riveting, the architecture includes a compliance layer to ensure that imprecisions do not damage tools or parts during contact phases.
- The industrial operations tackled in this paper require a series of steps for completion (e.g., an initial approach, perpendicular approximation to the bolt/hole, tool activation, safe tool retracting, and moving to the next operation). Consequently, the architecture should include mechanisms to guide the visual servoing process along the different steps of the procedure, parametrizing the control parameters and poses based on the current phase. The use of a state machine is proposed to this end.
4. Notation and Reference Frames
- −
- Reference frames a and b are represented as and , respectively.
- −
- The translation vector of frame relative to frame is given by .
- −
- The rotation of frame relative to frame is represented by a rotation matrix .
- −
- Consequently, the transformation matrix that defines the rigid transformation of frame relative to frame is denoted by , incorporating both translation and rotation components, and is expressed as
- −
- A twist vector represents a rigid body motion. It comprises angular velocity and linear velocity .
- −
- The Jacobian matrix relates the joint velocities to the end-effector twist , where represents the vector of joint positions, and n denotes the number of joints of the robot arm.
- −
- represents the mobile platform base frame, located at the center of the mobile platform’s base.
- −
- stands for the arm’s base frame, mounted on top of the mobile platform.
- −
- corresponds to the camera frame.
- −
- designates the end-effector’s frame, positioned at the extremity of the tool.
- −
- refers to the object frame, corresponding to the object whose motion is tracked.
- −
- indicates the target operation pose, located on the moving object.
5. System Architecture
- The pose estimation module provides the transformation of the object relative to the camera frame based on the received image.
- The forward kinematics module provides the transformation between the mobile platform base and the end effector of the tool based on the joint positions of the manipulator.
- The high-level management of the whole process is performed by the process state machine. Its main inputs are the transformation , defining the target object position in the camera frame, as well as a set of transformations defining the operation poses in the object’s frame (e.g., screw positions on the part). Additionally, input poses and define the final end effector and camera poses that the mobile platform should reach when it moves away from the part. Based on this input and the current state S of the state machine, the module manages the desired camera pose , desired end-effector pose , and PID values and sent to the control law, alongside the compliance values I sent to the impedance controller. Thus, the state machine can manage the different control parameters through the complete task, tuning the values to the requirements of each step.
- The control law module is in charge of generating the twist commands sent to the mobile manipulator based on the measured errors. Specifically, it receives both the end-effector error and camera error , as well as the PID values and for the arm and mobile platform, respectively. The module calculates the next twist vectors and for both the manipulator and mobile platform.
- Once the manipulator’s twist vector is calculated, the arm twist controller generates the next desired joint positions that satisfy the motion required by the twist vector .
- Lastly, the joint positions are modified by the impedance controller using the compliance values I, calculating the final joint positions .
- In parallel, the platform twist controller calculates the next mobile platform control command based on the received Cartesian twist vector .
6. Process State Machine
- In each control cycle, the input parameters and are compared with the current camera pose and end-effector pose to check if the error is within the tolerance, so the process can advance to the next state. In particular, during the platform approach, the error of the camera’s pose is verified to manage the transition from state asAlternatively, during the phases where the manipulator moves around the operation points, the transition state is managed as
- Based on the current process state, the module modifies the different control parameters to ensure that the values are appropriate for the characteristics of each process phase. In particular, the next parameter sets are managed:
- −
- The target pose of the end effector is modified during the different operation phases for two main purposes. The first one is to iterate along the different target poses in as the task involves operating on several elements. The second one is to add a safe approach and retract the pose before and after the operation; the main motivation is to ensure that the tool enters perpendicularly to the operation pose, avoiding any unsafe movement near the part.
- −
- The PID parameters of the control law are also modified by the state machine. In each cycle, the module provides a set of PID parameters for the manipulator asDuring the operation process, the PID parameters of the mobile platform are boosted in the approach steps to speed up the process, denoted by , while the proportional part decreases during the operation phases to ensure precision, represented by . Therefore, is defined asThe manipulator also includes these approach and operation parametrizations, denoted by and , as well as a zero vector, denoted as , to avoid any arm movement during some steps of the process. Thus, is defined as
- −
- Finally, the state machine also modifies the impedance parameters I defining the compliance of the manipulator. The impedance parameters are defined asAs a general rule, the high-stiffness profile is used when there is no possible contact with the part, while the compliant profile is used when the tool is in contact with the part or is about to be. The decision to include the high-stiffness profile is to avoid deviations from the nominal path during the initial approaches due to imprecision in the force/torque sensors, which may lead to undesired behaviors during contact between tool and part (e.g., error during insertion of the tool on the part).
6.1. State Machine
- Initial target search: The process starts with the mobile manipulator waiting for the target object to be detected. If the target is detected, the process moves to the operate while moving sub-state machine. Otherwise, if the target detection timeout is reached, the process transits to the error state.
- Operate while moving: This sub-state machine contains the complete operation sequence that is explained later in this section, states to . In case the target is lost during the process, the process moves to the searching target state. Additionally, if any error is detected during the operation, the process reaches the error state. Otherwise, once the task is completed, the successful operation state is reached.
- Searching target: Once the target is lost, this state stops any movement and tries to search for the target again. If the target is found again within a time limit, the state machine returns to the previous state in the operate while moving sub-state machine. If the timeout is reached, the process transits to the error state.
- Error: In this state, the process is terminated in a controlled way, triggering any error management before exiting the state machine.
- Successful operation: This state terminates the process.
6.2. Operate While Moving
- —Initial platform approach: In this initial state , the mobile platform approaches the target until it is near enough to start the manipulation task. For the control parameters, the PID values for the mobile platform are boosted with values while the arm’s ones are set to zero value to avoid any manipulator movement. The state transition is managed by checking that the camera is close to the target object’s position using Equation (9). If the errors are below the threshold, the state transits to state .
- —Initial arm approach: In this initial approach state , the manipulator’s setpoint is set to a pose that enables a safe maneuver towards the operation point, calculated asRegarding the PID values, the mobile platform is set to operation values, while the manipulator is boosted to values to accelerate the approach. Additionally, the manipulator is parametrized with to show a high-stiffness behavior that ensures that the tool reaches the approach pose above the operation point, without any deviation due to compliance. The state transition is managed by the end-effector error using Equation (12).
- —Arm destination approach: In state , the manipulator moves towards the operation point. The setpoint is calculated asBoth PID values are set to values and to prioritize stability over approach speed. At the same time, the manipulator is parametrized with to show compliant behavior to avoid any damage during contact. The state transition is managed by the end-effector error using Equation (12).
- —Gripper activation: This state manages the gripper activation. As this activation can take some time depending on the type of tool used, it should be performed asynchronously. Therefore, the control loop continues in this state until the activation is finalized. The PID and compliance values are set to , , and while the state machine moves to state when the gripper activation finishes.
- —Operation: The operation state controls the operation time where the tool is working on the industrial task for a defined time t. Again, the PID and compliance values are set to , , and while the state machine moves to state after time t.
- —Arm retract: This last state manages a safe retract maneuver, moving the manipulator to the approach position. The manipulator’s setpoint is calculated as in Equation (22). Regarding the PID values, the mobile platform is set to operation values while the manipulator is boosted with values to speed up this step. Finally, the manipulator is parametrized with compliant values to ensure a safe tool removal.The state transition is calculated as in the previous approach maneuver using Equation (12).
- —Final arm retract: This state drives a safe retract maneuver, moving the manipulator away from the part. The manipulator’s setpoint is calculated asThe PID and compliance values are set to , , and . The state transition is calculated as in the previous approach maneuvers using Equation (12).
- —Final platform retract: Finally, state moves the mobile platform from the object area. The mobile platform setpoint is set toThe PID values of the mobile platform are boosted to while the manipulator values are set to to deactivate the arm’s movements. The state transition is estimated by verifying the object’s pose using Equation (9).
7. Mobile Manipulator Control
7.1. Control Law
7.2. Arm Twist Controller and Compliance Controller
7.3. Platform Twist Controller
8. Implementation
- An omnidirectional mobile platform of 1.686 × 1.016 × 933 mm with mechanum wheels [31] able to move at a speed of up to 1.0 m/s. The platform includes two manipulators in a dual-arm configuration, although a single arm is used for the presented validation process.
- A Kuka LBR iiwa 7 [32] manipulator, an articulated robot arm of seven axes with torque sensors equipped in each joint.
- An industrial IDS [33] UI-5240CP monochrome camera with a resolution of 1280 × 1024 and a frequency of up to 50 fps. A LED lighting system is also included to ensure the illumination conditions and avoid detection errors due to changes in ambient light.
- For the screw-fastening task, the manipulator includes an OnRobot multifunctional screwdriver [34]. This screwdriver incorporates torque control as well as intelligent error detection for the management of the screwing process.
- An industrial PC is included on the mobile manipulator, which executes the different software modules implemented on the paper.
- The Kuka LBR iiwa manipulator control is implemented using the Direct Servo library. The control loop of the arm includes both the arm twist controller, which runs on the industrial PC at a frequency of 250 Hz, and the impedance controller which is implemented on the robot controller.
- To simplify the detection and allow a high-frequency pose estimation, an Aruco marker detector library [36] is included. The detection provides a 6D pose at a frequency of 40 Hz based on the camera setup described previously.
- The control law is executed at a frequency of 40 Hz based on the input provided by the marker detector. Therefore, the twist commands are generated at a frequency of 40 Hz, although the low-level control of the manipulator manages the twist commands at 250 Hz, ensuring a smooth motion and compliance during the execution.
9. Validation
- Constant movement: In the first scenario, the motor cover is placed on a two-meter conveyor belt, illustrated on the top row of the sequence of Figure 10. The conveyor belt moves the motor cover in a straight line at a constant speed of 50 mm/s and both direction and speed are not known by the robot beforehand. Through the experiments, the motor cover and robot are placed in similar initial positions, with slight variations in position.
- Irregular movement: In the second scenario, the motor cover is placed on top of a table trolley that is irregularly pushed by a human as depicted on the bottom row of the sequence of Figure 10, resulting in unpredictable and fluctuating movements. During the tests, subjects try to maintain a speed equivalent to the 50 mm/s present in the conveyor belt. The combined effect of the human pushing and the instability of the trolley mechanism ultimately results in a movement that roughly corresponds to the target speed, yet with noticeable variations in velocity and acceleration.
10. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Hanafusa, H.; Yoshikawa, T.; Nakamura, Y. Analysis and control of articulated robot arms with redundancy. IFAC Proc. Vol. 1981, 14, 1927–1932. [Google Scholar] [CrossRef]
- Miller, R.K. How an Industrial Robot Works. In Industrial Robot Handbook; Springer: Boston, MA, USA, 1989; pp. 10–25. [Google Scholar]
- Maxwell, W.L.; Muckstadt, J.A. Design of automatic guided vehicle systems. Iie Trans. 1982, 14, 114–124. [Google Scholar] [CrossRef]
- Holcombe, W.D.; Dickerson, S.L.; Larsen, J.W.; Bohlander, R.A. Advances in guidance systems for industrial automated guided vehicles. In Proceedings of the Mobile Robots III; SPIE: Bellingham, WA, USA, 1989; Volume 1007, pp. 288–297. [Google Scholar]
- Marvel, J.; Bostelman, R. Towards mobile manipulator safety standards. In Proceedings of the 2013 IEEE International Symposium on Robotic and Sensors Environments (ROSE), Washington, DC, USA, 21–23 October 2013; pp. 31–36. [Google Scholar] [CrossRef]
- Markis, A.; Papa, M.; Kaselautzke, D.; Rathmair, M.; Sattinger, V.; Brandstötter, M. Safety of Mobile Robot Systems in Industrial Applications. In Proceedings of the ARW & OAGM Workshop, Steyr, Austria, 9–10 May 2019. [Google Scholar] [CrossRef]
- Sanderson, A.C.; Weiss, L.E. Adaptive visual servo control of robots. In Robot Vision; Springer: Berlin/Heidelberg, Germany, 1983; pp. 107–116. [Google Scholar]
- Weiss, L.; Sanderson, A.; Neuman, C. Dynamic sensor-based control of robots with visual feedback. IEEE J. Robot. Autom. 1987, 3, 404–417. [Google Scholar] [CrossRef]
- Espiau, B.; Chaumette, F.; Rives, P. A new approach to visual servoing in robotics. IEEE Trans. Robot. Autom. 1992, 8, 313–326. [Google Scholar] [CrossRef]
- Lippiello, V.; Siciliano, B.; Villani, L. Position-based visual servoing in industrial multirobot cells using a hybrid camera configuration. IEEE Trans. Robot. 2007, 23, 73–86. [Google Scholar] [CrossRef]
- Castelli, F.; Michieletto, S.; Ghidoni, S.; Pagello, E. A machine learning-based visual servoing approach for fast robot control in industrial setting. Int. J. Adv. Robot. Syst. 2017, 14, 1729881417738884. [Google Scholar] [CrossRef]
- Wu, H.; Andersen, T.T.; Andersen, N.A.; Ravn, O. Application of visual servoing for grasping and placing operation in slaughterhouse. In Proceedings of the 2017 3rd International Conference on Control, Automation and Robotics (ICCAR), Nagoya, Japan, 24–26 April 2017; IEEE: Piscataway, NJ, USA; pp. 457–462. [Google Scholar]
- Pitipong, S.; Pornjit, P.; Watcharin, P. An automated four-DOF robot screw fastening using visual servo. In Proceedings of the 2010 IEEE/SICE International Symposium on System Integration, Sendai, Japan, 21–22 December 2010; IEEE: Piscataway, NJ, USA; pp. 379–383. [Google Scholar]
- Hao, T.; Xu, D. Robotic grasping and assembly of screws based on visual servoing using point features. Int. J. Adv. Manuf. Technol. 2023, 129, 3979–3991. [Google Scholar] [CrossRef]
- Ruybal, K.R.; Lumia, R.; Wood, J.E. A finite state machine approach to visual servoing to increase positional accuracy of impedance controlled robots. Int. J. Recent Adv. Mech. Eng. (IJMECH) 2013, 2, 1–14. [Google Scholar]
- Aref, M.M.; Ghabcheloo, R.; Kolu, A.; Hyvönen, M.; Huhtala, K.; Mattila, J. Position-based visual servoing for pallet picking by an articulated-frame-steering hydraulic mobile machine. In Proceedings of the 2013 6th IEEE Conference on Robotics, Automation and Mechatronics (RAM), Manila, Philippines, 12–15 November 2013; IEEE: Piscataway, NJ, USA; pp. 218–224. [Google Scholar]
- Fue, K.; Porter, W.; Barnes, E.; Li, C.; Rains, G. Center-articulated hydrostatic cotton harvesting rover using visual-servoing control and a finite state machine. Electronics 2020, 9, 1226. [Google Scholar] [CrossRef]
- Wang, Y.; Lang, H.; De Silva, C.W. A hybrid visual servo controller for robust grasping by wheeled mobile robots. IEEE/ASME Trans. Mechatronics 2009, 15, 757–769. [Google Scholar] [CrossRef]
- Belmonte, Á.; Ramón, J.L.; Pomares, J.; Garcia, G.J.; Jara, C.A. Optimal image-based guidance of mobile manipulators using direct visual servoing. Electronics 2019, 8, 374. [Google Scholar] [CrossRef]
- Li, W.; Xiong, R. A hybrid visual servo control method for simultaneously controlling a nonholonomic mobile and a manipulator. Front. Inf. Technol. Electron. Eng. 2021, 22, 141–154. [Google Scholar] [CrossRef]
- Arora, P.; Papachristos, C. Mobile manipulator robot visual servoing and guidance for dynamic target grasping. In Proceedings of the Advances in Visual Computing: 15th International Symposium, ISVC 2020, San Diego, CA, USA, 5–7 October 2020; Proceedings, Part II 15. Springer: Berlin/Heidelberg, Germany, 2020; pp. 223–235. [Google Scholar]
- Burgess-Limerick, B.; Lehnert, C.; Leitner, J.; Corke, P. An Architecture for Reactive Mobile Manipulation On-The-Move. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023; pp. 1623–1629. [Google Scholar] [CrossRef]
- Taubin, G. 3D Rotations. IEEE Comput. Graph. Appl. 2011, 31, 84–89. [Google Scholar] [CrossRef] [PubMed]
- Knospe, C. PID control. IEEE Control. Syst. Mag. 2006, 26, 30–31. [Google Scholar] [CrossRef]
- Davidson, J.K.; Hunt, K.H.; Pennock, G.R. Robots and screw theory: Applications of kinematics and statics to robotics. J. Mech. Des. 2004, 126, 763–764. [Google Scholar] [CrossRef]
- Lee, C.G. Robot arm kinematics, dynamics, and control. Computer 1982, 15, 62–80. [Google Scholar] [CrossRef]
- Hogan, N. Impedance control: An approach to manipulation. In Proceedings of the 1984 American Control Conference, San Diego, CA, USA, 6–8 June 1984; IEEE: Piscataway, NJ, USA; pp. 304–313. [Google Scholar]
- Hogan, N. Impedance control: An approach to manipulation: Part II—Implementation. In Proceedings of the 1984 American Control Conference, San Diego, CA, USA, 6–8 June 1984; IEEE: Piscataway, NJ, USA. [Google Scholar]
- Mitchell, W.C.; Staniforth, A.; Scott, I. Analysis of Ackermann Steering Geometry; Technical Report, SAE Technical Paper; SAE International: Warrendale, PA, USA, 2006. [Google Scholar]
- Taheri, H.; Zhao, C.X. Omnidirectional mobile robots, mechanisms and navigation approaches. Mech. Mach. Theory 2020, 153, 103958. [Google Scholar] [CrossRef]
- Gfrerrer, A. Geometry and kinematics of the Mecanum wheel. Comput. Aided Geom. Des. 2008, 25, 784–791. [Google Scholar] [CrossRef]
- Kuka LBR iiwa. Available online: https://www.kuka.com/en-us/products/robotics-systems/industrial-robots/lbr-iiwa (accessed on 1 March 2024).
- IDS. Available online: https://en.ids-imaging.com (accessed on 1 March 2024).
- OnRobot. Available online: https://onrobot.com/en/products/onrobot-screwdriver (accessed on 1 March 2024).
- ros. Available online: https://www.ros.org (accessed on 1 March 2024).
- Aruco ROS. Available online: https://wiki.ros.org/aruco_ros (accessed on 1 March 2024).
Time/Screw | Screwing | ||||
---|---|---|---|---|---|
Success | |||||
Constant movement | 9.45 s | 2.07 s | 5.28 s | 1.88 s | 92.5% |
Irregular movement | 11.55 s | 2.51 s | 7.15 s | 2.59 s | 67.5% |
Translation Error | Rotation Error | |||||
---|---|---|---|---|---|---|
min | max | min | max | |||
Constant movement | 0.11 mm | 8.83 mm | 1.57 mm | 0.006° | 1.76° | 0.097° |
Irregular movement | 0.11 mm | 20.5 mm | 3.82 mm | 0.006° | 2.91° | 0.228° |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 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
González Huarte, J.; Ibarguren, A. Visual Servoing Architecture of Mobile Manipulators for Precise Industrial Operations on Moving Objects. Robotics 2024, 13, 71. https://doi.org/10.3390/robotics13050071
González Huarte J, Ibarguren A. Visual Servoing Architecture of Mobile Manipulators for Precise Industrial Operations on Moving Objects. Robotics. 2024; 13(5):71. https://doi.org/10.3390/robotics13050071
Chicago/Turabian StyleGonzález Huarte, Javier, and Aitor Ibarguren. 2024. "Visual Servoing Architecture of Mobile Manipulators for Precise Industrial Operations on Moving Objects" Robotics 13, no. 5: 71. https://doi.org/10.3390/robotics13050071
APA StyleGonzález Huarte, J., & Ibarguren, A. (2024). Visual Servoing Architecture of Mobile Manipulators for Precise Industrial Operations on Moving Objects. Robotics, 13(5), 71. https://doi.org/10.3390/robotics13050071