Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

A C++ Implementation of a Cartesian Impedance Controller for Robotic Manipulators

Mayr, Matthias LU orcid and Salt Ducaju, Julian LU orcid (2024) In Journal of Open Source Software 9(93). p.5194-5200
Abstract
Cartesian impedance control is a type of motion control strategy for robots that improves safety in partially unknown environments by achieving a compliant behavior of the robot with respect to its external forces. This compliant robot behavior has the added benefit of allowing physical human guidance of the robot. In this paper, we propose a C++ implementation of compliance control valid for any torque-commanded robotic manipulator. The proposed controller implements Cartesian impedance control to track a desired end-effector pose. Additionally, joint impedance is projected in the nullspace of the Cartesian robot motion to track a desired robot joint configuration without perturbing the Cartesian motion of the robot. The proposed... (More)
Cartesian impedance control is a type of motion control strategy for robots that improves safety in partially unknown environments by achieving a compliant behavior of the robot with respect to its external forces. This compliant robot behavior has the added benefit of allowing physical human guidance of the robot. In this paper, we propose a C++ implementation of compliance control valid for any torque-commanded robotic manipulator. The proposed controller implements Cartesian impedance control to track a desired end-effector pose. Additionally, joint impedance is projected in the nullspace of the Cartesian robot motion to track a desired robot joint configuration without perturbing the Cartesian motion of the robot. The proposed implementation also allows the robot to apply desired forces and torques to its environment. Several safety features such as filtering, rate limiting, and saturation are included in the proposed implementation. The core functionalities are in a re-usable base library and a Robot Operating System (ROS) ros_control integration is provided on top of that. The implementation was tested with the KUKA LBR iiwa robot and the Franka Emika Robot (Panda) both in simulation and with the physical robots. (Less)
Please use this url to cite or link to this publication:
author
and
organization
publishing date
type
Contribution to journal
publication status
published
subject
in
Journal of Open Source Software
volume
9
issue
93
pages
6 pages
ISSN
2475-9066
DOI
10.21105/joss.05194
project
RobotLab LTH
Efficient Learning of Robot Skills
Robotics and Semantic Systems
WASP Professor Package: Cognitive Robots for Manufacturing
language
English
LU publication?
yes
id
fa56efed-1390-4933-8bc8-976e88a259a9
date added to LUP
2024-02-05 13:49:06
date last changed
2024-02-06 08:35:46
@article{fa56efed-1390-4933-8bc8-976e88a259a9,
  abstract     = {{Cartesian impedance control is a type of motion control strategy for robots that improves safety in partially unknown environments by achieving a compliant behavior of the robot with respect to its external forces. This compliant robot behavior has the added benefit of allowing physical human guidance of the robot. In this paper, we propose a C++ implementation of compliance control valid for any torque-commanded robotic manipulator. The proposed controller implements Cartesian impedance control to track a desired end-effector pose. Additionally, joint impedance is projected in the nullspace of the Cartesian robot motion to track a desired robot joint configuration without perturbing the Cartesian motion of the robot. The proposed implementation also allows the robot to apply desired forces and torques to its environment. Several safety features such as filtering, rate limiting, and saturation are included in the proposed implementation. The core functionalities are in a re-usable base library and a Robot Operating System (ROS) ros_control integration is provided on top of that. The implementation was tested with the KUKA LBR iiwa robot and the Franka Emika Robot (Panda) both in simulation and with the physical robots.}},
  author       = {{Mayr, Matthias and Salt Ducaju, Julian}},
  issn         = {{2475-9066}},
  language     = {{eng}},
  month        = {{01}},
  number       = {{93}},
  pages        = {{5194--5200}},
  series       = {{Journal of Open Source Software}},
  title        = {{A C++ Implementation of a Cartesian Impedance Controller for Robotic Manipulators}},
  url          = {{http://dx.doi.org/10.21105/joss.05194}},
  doi          = {{10.21105/joss.05194}},
  volume       = {{9}},
  year         = {{2024}},
}