/lwr_force_position_controller

Hybrid force/position control for the Kuka LWR4+ manipulator

Primary LanguageC++

Hybrid Force Position Controllers for Kuka LWR

Hybrid Impedance Control (Kuka LWR 4+)

Authors: Nicola Piga and Giulio Romualdi

Overview

This package contains three controllers:

  • cartesian_position_controller: an operational space controller required to move the end effector in a desired position using inverse kinematics;
  • cartesian_inverse_dynamics_controller: an operational space controller performing dynamics inversion (also wrenches at the end effector are compensated);
  • hybrid_impedance_controller: an operational space controller implementing the hybrid impedance controller proposed by Spong (it uses the cartesian_inverse_dynamics_controller to perform dynamics inversion);
  • ft_sensor_controller: a JointStateInterface controller performing transformations on the force/torque measurements provided by the sensor.

External packages required

In order to run some external packages are required:

In order to compile the GUI you also need ros-*-qt-build.

How to run a simulation

WARNING: in order to run the simulation you MUST set every <damping> and <friction> tag in kuka_lwr.urdf.xacro to 0.0 and disable the <collision> section of the 7-th link.

  1. roslaunch lwr_force_position_controllers single_lwr.launch

How to run using the real robot

  1. roslaunch lwr_force_position_controllers single_lwr.launch use_lwr_sim:=false lwr_powered:=true