RobWorkProject  23.9.11-
Public Member Functions | List of all members
QPController Class Reference

#include <QPController.hpp>

Public Member Functions

 QPController (double h, const rw::kinematics::State &state, rw::models::Device *device)
 Construct QPController object. More...
 
virtual ~QPController ()
 destructor
 
rw::math::Q solve (const rw::math::Q &q, const rw::math::Q &dq, const rw::math::VelocityScrew6D<> &tcpscrew)
 Computes joint velocities for a tool velocity. More...
 

Detailed Description

The QPController provides an visual servoing control scheme, which is based on quadratic optimization. The method computes the \(\mathbf{\dot{q}}\) minimizing \(\|\mathbf{J}\mathbf{\dot{q}}-\mathbf{\dot{x}}\|^2\), subject to the joint position, velocity and acceleration limits.

See the paper: L.-P. Ellekilde, P. Favrhold, M. Paulin and H.G. Petersen, "Robust Control for High-Speed Visual Servoing Applications", To appear in International Journal for Advanced Robotic Systems, vol. 4, no. 3, 2007.

Constructor & Destructor Documentation

◆ QPController()

QPController ( double  h,
const rw::kinematics::State state,
rw::models::Device device 
)

Construct QPController object.

Parameters
h[in] step-size to use
state[in] state of the workcell
device[in] device to control

Member Function Documentation

◆ solve()

rw::math::Q solve ( const rw::math::Q q,
const rw::math::Q dq,
const rw::math::VelocityScrew6D<> &  tcpscrew 
)

Computes joint velocities for a tool velocity.

The method provides the, in a least square sense, optimal joint velocity for the specified tool velocity screw. That is the \(\mathbf{\dot{q}}\) minimizing \(\|\mathbf{J}\mathbf{\dot{q}}-\mathbf{\dot{x}}\|^2\), subject to the joint position, velocity and acceleration limits.

Parameters
q[in] current device joint configuration
dq[in] current device joint velocity
tcpscrew[in] desired velocity screw of tcp
Returns
the optimal joint velocity

The documentation for this class was generated from the following file: