![]() |
RobWorkProject
23.9.11-
|
#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... | |
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.
| QPController | ( | double | h, |
| const rw::kinematics::State & | state, | ||
| rw::models::Device * | device | ||
| ) |
Construct QPController object.
| h | [in] step-size to use |
| state | [in] state of the workcell |
| device | [in] device to control |
| 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.
| q | [in] current device joint configuration |
| dq | [in] current device joint velocity |
| tcpscrew | [in] desired velocity screw of tcp |