IP Library › Granted Patent US 12,275,149
Granted Patent B2
US 12,275,149 · App. 17/604,066 · Granted Apr 15, 2025

Method of controlling a robot arm based on adaptive friction

Inventor: Emil Madsen (Aarhus C, DK)
Assignee: Universal Robots A/S
B25J9/1641G05B19/4155B25J9/1633B25J17/00G05B2219/39186G05B2219/39188G05B2219/40259G05B2219/40269G05B2219/41154
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,275,149
App. No.
17/604,066
Granted
Apr 15, 2025
Kind
B2
Abstract

A method of controlling a robot arm with robot joints, where the joint motors of the joints are controlled based on a signal generated based on the friction torque (formula I) of at least one of the input/outside of the robot joint transmission and the robot joint transmission torque (formula II) between the input side and the output side of the transmission. The friction torque is determined based on: at least two of the angular position of the motor axle; the angular position of the output axle and/or the motor torque provided to the motor axle by the joint motor. The robot joint transmission torque is determined based on: at least one of the angular position of the output axle; the angular position of the output axle and/or the angular position of the motor axle; the angular position of the motor axle and the motor torque provided to the motor axle by the joint motor.

Claims (91)

1. A method of controlling a robotic arm, where the robotic arm comprises joints connecting a base and a tool flange, where at least one of the joints is a rotational joint comprising a joint motor having a motor axle, where the motor axle is configured to rotate an output axle of the rotational joint via a joint transmission, the method comprising:

obtaining an angular position of the motor axle;

obtaining an angular position of the output axle;

obtaining a motor torque provided to the motor axle by the joint motor;

determining a friction torque of at least one of an input side of the joint transmission or and an output side of the joint transmission based on at least two of:

the angular position of the motor axle;

the angular position of the output axle; or

the motor torque provided to the motor axle by the joint motor;

determining a robot joint transmission torque between the input side and the output side of the joint transmission based on at least one of:

the angular position of the output axle;

the angular position of the output axle and the angular position of the motor axle; or

the angular position of the motor axle and the motor torque provided to the motor axle by the joint motor;

generating a motor control signal for the joint motor of the rotational joint based on:

the friction torque of at least one of the input side or the output side of the joint transmission; and

the robot joint transmission torque between the input side and the output side of the joint transmission.

2. The method of claim 1 , wherein the motor control signal is generated based also on at least one of:

the angular position of the motor axle;

the angular position of the output axle;

the motor torque provided to the motor axle by the joint motor;

a dynamic model of a robot comprising the robotic arm; or

at least one motion parameter corresponding to a desired motion of at least a part of the robotic arm.

3. The method of claim 1 , wherein the friction torque of at least one of the input side of the joint transmission or the output side of the joint transmission is obtained based on a deflection of the joint transmission, where the deflection of the joint transmission indicates a difference between the angular position of the motor axle and the angular position of the output axle.

4. The method of claim 1 , wherein:

obtaining the angular position of the motor axle comprises measuring the angular position of motor axle using a motor axle encoder; and

obtaining the angular position of the output axle comprises measuring the angular position of the output axle using an output axle encoder.

5. The method of claim 4 , wherein the friction torque of at least one of the input side of the joint transmission or the output side of the joint transmission is obtained based on the measured angular position of the motor axle and the measured angular position of the output axle.

6. The method of claim 1 , wherein determining the robot joint transmission torque is based on the friction torque of at least one of the input side of the joint transmission or the output side of the joint transmission.

7. The method of claim 1 , wherein generating the motor control signal comprises determining a desired transmission torque corresponding to a desired transmission torque of the joint transmission based on:

a dynamic model of a robot comprising the robotic arm;

at least one motion parameter indicating a desired motion of at least a part of the robotic arm; and

the friction torque of at least one of the input side or the output side of the joint transmission.

8. The method of claim 7 , wherein generating the motor control signal comprises determining a transmission torque error correction motor torque that minimizes a difference between the desired transmission torque and the robot joint transmission torque ({circumflex over (τ)} J ).

9. The method of claim 1 , wherein generating the motor control signal for the joint motor comprises determining a desired feed-forward motor torque indicating a desired motor torque of the joint motor based on:

a dynamic model of a robot comprising the robotic arm;

at least one motion parameter indicating a desired motion of at least a part of the robotic arm; and

the friction torque of at least one of the input side or the output side of the joint transmission.

10. The method of claim 1 , wherein generating the motor control signal comprises determining an error correction motor torque that minimizes errors associated with least one of:

a desired motion parameter of the robotic arm and an actual motion parameter of the robotic arm;

a desired angular position of the output axle and the angular position of the output axle;

a desired angular velocity of the output axle and an angular velocity of the output axle;

a desired angular acceleration of the output axle and an angular acceleration of the output axle;

a desired angular position of the motor axle and the angular position of the motor axle;

a desired angular velocity of the motor axle and an angular velocity of the motor axle;

a desired angular acceleration of the motor axle an angular acceleration of the motor axle; or

a desired torque provided to the motor axle by the joint motor and the motor torque provided to the motor axle by the joint motor.

11. The method of claim 8 , wherein generating the motor control signal comprises determining a resulting motor torque corresponding to a resulting motor torque to be applied by the joint motor, the resulting motor torque being based on at least one of:

the transmission torque error correction motor torque;

a desired feed-forward motor torque; or

an error correction motor torque;

where the motor control signal is generated based on the resulting motor torque.

12. A robot system comprising:

a controller;

a robotic arm controlled by the controller, the robotic robot arm comprising joints connecting a base and a tool flange, where at least one of the joints is a rotational joint comprising a joint motor having a motor axle, where the motor axle is configured to rotate an output axle of the rotational joint via a joint transmission;

wherein controller comprises:

an adaptive friction module configured to determine a friction torque of at least one of an input side of the joint transmission or an output side of the joint transmission based on at least two of:

an angular position of the motor axle;

an angular position of the output axle; or

a motor torque provided to the motor axle by the joint motor;

a transmission torque module configured to determine a robot joint transmission torque between the input side and the output side of the joint transmission based on at least one of:

the angular position of said output axle;

the angular position of the output axle and the angular position of the motor axle; or

the angular position of the motor axle and the motor torque provided to the motor axle by the joint motor; and

wherein the said controller is configured to generate a motor control signal based on the friction torque of at least one of the input side or the output side of the joint transmission and the robot joint transmission torque between the input side and the output side of the joint transmission, and (ii) to control the robotic arm by providing the motor control signal to the joint motor.

13. The robot system of claim 12 , wherein the adaptive friction module is configured to determine the friction torque of at least one of the input side of the joint transmission or the output side of the joint transmission based on a deflection of the joint transmission, where the deflection of the joint transmission corresponds to a difference between the angular position of the motor axle and the angular position of the output axle.

14. The robot system of claim 12 , further comprising:

a motor axle encoder configured to measure the angular position of the motor axle; and

an output encoder configured to measure the angular position of the output axle.

15. The robot system of claim 12 , further comprising:

a sensor configured to obtain the motor torque provided to the motor axle by the joint motor.

16. The robot system of claim 12 , wherein the controller comprises a feed-forward controller module configured to determine a desired transmission torque corresponding to a desired transmission torque of the joint transmission based on:

a dynamic model of a robot comprising the robotic arm;

at least one motion parameter indicating a desired motion of at least a part of the robotic arm; and

the friction torque of at least one of the input side or the output side of the joint transmission.

17. The robot system of claim 16 , wherein the controller comprises a torque Feed-back controller module configured to determine a transmission torque error correction motor torque that minimizes a difference between the desired transmission torque and the robot joint transmission torque.

18. The robot system of claim 12 , wherein the controller comprises a feed-forward controller configured to determine a desired feed-forward motor torque indicating a desired motor torque of the joint motor based on:

a dynamic model of a robot comprising the robotic arm;

at least one motion parameter corresponding to a desired motion of at least a part of the robotic arm; and

the friction torque of at least one of the input side or the output side of the joint transmission.

19. The robot system of claim 12 , wherein the controller comprises a feed-back controller configured to determine an error correction motor torque that minimizes errors associated with at least one of:

a desired motion parameter of the robotic arm and an actual motion parameter of the robotic arm;

a desired angular position of the output axle and the angular position of the output axle;

a desired angular velocity of the output axle and an angular velocity of the output axle;

a desired angular acceleration of the output axle and an angular acceleration of the output axle;

a desired angular position of the motor axle and the angular position of the motor axle;

a desired angular velocity of the motor axle and an angular velocity of the motor axle;

a desired angular acceleration ({umlaut over (Θ)} d ) of the motor axle and an angular acceleration of the motor axle;

a desired torque provided to the motor axle by the joint motor and the motor torque provided the motor axle by the joint motor.

20. The robot system of claim 16 , wherein the controller comprises a motor controller module configured to generate the motor control signal corresponding to a motor current for the at least one robot joint based on a resulting motor torque corresponding to a motor torque to be applied by the joint motor, where the resulting motor torque is determined based on at least one of:

a transmission torque error correction motor torque;

a desired feed-forward motor torque, or

an error correction motor torque.

Assignments (2)
CHANGE OF ADDRESS Recorded Feb 26, 2025
From: UNIVERSAL ROBOTS A/S
To: UNIVERSAL ROBOTS A/S
Reel/Frame 070755/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2022
From: MADSEN, EMIL
To: UNIVERSAL ROBOTS A/S
Reel/Frame 060058/0272 →
Priority Claims (1)
DK 2019 00470 · Apr 17, 2019 · national
Continuity (1)
Related Publication 20220226993A1 · Jul 21, 2022
References Cited (85)
US 4763531A · Dietrich et al. · 1988 [cited by applicant]
US 6212433B1 · Behl · 2001 [cited by applicant]
US 6212443B1 · Nagata et al. · 2001 [cited by applicant]
US 7102315B2 · Nakata et al. · 2006 [cited by applicant]
US 10331107B2 · Moberg · 2019 [cited by applicant]
US 10399232B2 · Oestergaard et al. · 2019 [cited by applicant]
US 10631941B2 · Hashimoto et al. · 2020 [cited by applicant]
US 10850393B2 · Oestergaard et al. · 2020 [cited by applicant]
US 11260543B2 · Johansen · 2022 [cited by applicant]
US 11474510B2 · Oestergaard et al. · 2022 [cited by applicant]
US 11796045B2 · Johansen · 2023 [cited by applicant]
US 11839979B2 · Rosenlund et al. · 2023 [cited by applicant]
US 11964389B2 · Johansen · 2024 [cited by applicant]
US 12011824B2 · Vraa et al. · 2024 [cited by applicant]
US 20060071625A1 · Nakata · 2006 [cited by examiner]
US 20100234999A1 · Nakajima · 2010 [cited by examiner]
US 20110224826A1 · Maehara et al. · 2011 [cited by applicant]
US 20120116582A1 · Negishi · 2012 [cited by examiner]
US 20120130541A1 · Szalek · 2012 [cited by applicant]
US 20130073084A1 · Ooga et al. · 2013 [cited by applicant]
US 20130073085A1 · Oaki et al. · 2013 [cited by applicant]
US 20130079928A1 · Østergaard et al. · 2013 [cited by applicant]
US 20130231778A1 · Østergaard · 2013 [cited by applicant]
US 20130255426A1 · Kassow et al. · 2013 [cited by applicant]
US 20150204742A1 · Draisey · 2015 [cited by applicant]
US 20160067865A1 · Osada et al. · 2016 [cited by applicant]
US 20170080562A1 · Tsuzaki · 2017 [cited by examiner]
US 20170128136A1 · Post · 2017 [cited by examiner]
US 20170190049A1 · Wada · 2017 [cited by examiner]
US 20180079090A1 · Koenig · 2018 [cited by examiner]
US 20180200886A1 · Wang · 2018 [cited by examiner]
US 20180207798A1 · Tsuzaki · 2018 [cited by examiner]
US 20190091861A1 · Kasai et al. · 2019 [cited by applicant]
US 20200171657A1 · Baier · 2020 [cited by examiner]
US 20200171658A1 · Kielsholm Thomsen · 2020 [cited by applicant]
US 20200189102A1 · Sasajima · 2020 [cited by examiner]
US 20210086374A1 · Brandt et al. · 2021 [cited by applicant]
US 20210315652A1 · Henrywood · 2021 [cited by examiner]
US 20220161433A1 · Brandt et al. · 2022 [cited by applicant]
US 20220184810A1 · Brandt et al. · 2022 [cited by applicant]
US 20220379463A1 · Hansen · 2022 [cited by applicant]
US 20220379468A1 · Hansen · 2022 [cited by applicant]
US 20220388156A1 · Hansen · 2022 [cited by applicant]
US 20230035296A1 · Søe-Knudsen et al. · 2023 [cited by applicant]
US 20230052996A1 · Thomsen · 2023 [cited by applicant]
US 20230191603A1 · Thomsen et al. · 2023 [cited by applicant]
US 20230405819A1 · Kravchenko et al. · 2023 [cited by applicant]
US 20230405822A1 · Kravchenko et al. · 2023 [cited by applicant]
US 20230418258A1 · Mirth · 2023 [cited by applicant]
US 20240351209A1 · A/S · 2024 [cited by applicant]
CN 106233214 · 2016 [cited by applicant]
CN 107921625 · 2018 [cited by applicant]
CN 108698223A · 2018 [cited by applicant]
CN 108883534 · 2018 [cited by applicant]
CN 109108954 · 2019 [cited by applicant]
EP 1173801A1 · 2002 [cited by applicant]
EP 1652834A1 · 2006 [cited by applicant]
WO 2014110682A1 · 2014 [cited by applicant]
WO 2017144310A1 · 2017 [cited by applicant]
WO 2019238940A1 · 2019 [cited by applicant]
Written Opinion for International Patent Application No. PCT/DK2020/050101, issued Oct. 22, 2020, (7 pages). [cited by applicant]
International Search Report for International Patent Application No. PCT/DK2020/050101, issued Oct. 22, 2020, (4 pages). [cited by applicant]
International Preliminary Report on Patentability for International Patent Application No. PCT/DK2020/050101, issued Oct. 19, 2021, (8 pages). [cited by applicant]
Ruderman M et al: “Modeling and Identification of Elastic Robot Joints With Hysteresis and Backlash”, IEEE Transactions on Industrial Electronics, IEEE Service Center, Piscataway, NJ, USA, vol. 56, No. 10, Oct. 1, 2009 … [cited by applicant]
Lee Chan et al: “A two-staged residual for resilient external torque estimation with series elastic actuators”, 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids), IEEE, Nov. 15, 2017 (Nov. 15,… [cited by applicant]
Lightcap C et al: “Dynamic identification of a Mitsubishi pa10-6ce robot using motion capture”, Intelligent Robots and Systems, 2007. IROS 2007. IEEE/ RSJ International Conference on, IEEE, Piscataway, NJ, USA, Oct. 29,… [cited by applicant]
First Office Action in Chinese Application No. 202080028536.8 dated Sep. 26, 2023 (with English Summary), 12pages. [cited by applicant]
Albu-Schaffer et al., The DLR Lightweight Robot—Design and Control Concepts for Robots in Human Environments. [cited by applicant]
Bona et al., Friction Compensation in Robotics: an Overview. Proc 44th IEEE Conf Dec Cont ECC 2005. Spain. Dec. 12-15, 2005: 4360-7. [cited by applicant]
Canudas-de-Wit et al., Adaptive Friction Compensation in DC-Motor Drives. IEEE J Robot Automat. Dec. 1987. RA-3 (6): 681-5. [cited by applicant]
Kawakami et al., High-Fidelity Joint Drive System by Torque Feedback Control Using High Precision Linear Encoder. 2010 IEEE Int Conf Robot Automat. Alaska, USA. May 3-8, 2010; 3904-9. [cited by applicant]
Le Tien et al., Friction Observer and Compensation for Control of Robots with Joint Torque Measurement. 2008 IEEE/ Rsj Int Conf Intel Robot Syst. France. Sep. 22, 2008-6; 3789-95. [cited by applicant]
Spong, Modeling and Control of Elastic Joint Robots. Trans ASME. Dec. 1987; 109: 310-9. [cited by applicant]
Susanto et al. Proc 17th World Congress: Int Fed Automat Cont. Korea. 2008; Jul. 6-11; 2020-4. [cited by applicant]
Aghili et al., “Motion control systems with/spl Hscr//sup/spl infin//positive joint torque feedback”, IEEE Transactions on Control Systems Technology, vol. 9, No. 5, 2001, pp. 685-695. [cited by applicant]
Canudas et al., “Adaptive Friction Compensation in Robot Manipulators: Low Velocities”, The International Journal of Robotics Research, vol. 10, No. 3, 1991, pp. 189-199. [cited by applicant]
File History received for European Patent Application No. 20743583.5, downloaded on Jan. 6, 2025, 317 pages. [cited by applicant]
Hashimoto et al., “A torque sensing technique for robots with harmonic drives”, IEEE Transactions on Robotics and Automation, vol. 9, No. 1, 1993, pp. 108-116. [cited by applicant]
Search Report and search opinion received for Danish Patent Application No. PA 201900470 mailed on Nov. 8, 2019, 10 pages. [cited by applicant]
Sensinger et al., “Improved torque fidelity in harmonic drive sensors through the union of two existing strategies”, IEEE/ASME Transactions on Mechatronics, vol. 11, No. 4, Aug. 2006, pp. 457-461. [cited by applicant]
Universal Robots., “User Manual UR3/CB3”, Version 3.1, 2009, 181 pages. [cited by applicant]
Zhang et al., “Torque estimation for robotic joint with harmonic drive transmission based on position measurements”, IEEE Transactions on Robotics, vol. 31, No. 2, 2015, pp. 322-330. [cited by applicant]
Zhang et al., “Torque estimation technique of robotic joint with harmonic drive transmission”, IEEE International Conference on Robotics and Automation. IEEE, 2013, 6 pages. [cited by applicant]
Zhu et al., “Adaptive control of harmonic drives”, vol. 129, 2007, pp. 182-193. [cited by applicant]
Franklin et al., “Feedback Control of Dynamic Systems”, Eighth edition, Pearson, 2019. [cited by applicant]