For more infomation about this bug, visit

Summary: OCL::CartesianGeneratorPos is hardcode to 6DOF - unable

use with redundant robots

Product: OCL

Version: trunk

Platform: All

OS/Version: All

Status: NEW

Severity: enhancement

Priority: P2

Component: Motion Control

AssignedTo: orocos-dev [..] ...

ReportedBy: kiwi [dot] net [..] ...

CC: orocos-dev [..] ...

Estimated Hours: 0.0

Would like to use it with a 7DOF robot. The other Cartesian components aren't

hardcoded for size.

Propose introducing "num_axes" property to CartesianGeneratorPos.

## [Bug 537] OCL:: CartesianGeneratorPos is hardcode to 6DOF - unab

For more infomation about this bug, visit

Herman Bruyninckx <herman [dot] bruyninckx [..] ...> changed:

What |Removed |Added

--------------------------------------------------------------------------

CC| |herman [dot] bruyninckx [..] ...

| |ven.be

--- Comment #1 from Herman Bruyninckx <herman [dot] bruyninckx [..] ...> 2008-05-02 21:18:44 ---

Cartesian space _is_ 6 dimensional. There is a difference between generating a

trajectory in Cartesian space (= determining where the end frame of a robot has

to move) and a trajectory in joint space. The former is _always_ 6

dimensional, the latter has as many degrees of freedom as (actuated) joints.

The indication of how many DOFs you need is part of the IK (inverse kinematics)

and _not_ of the trajectory generator in Cartesian space...

Herman

## [Bug 537] OCL:: CartesianGeneratorPos is hardcode to 6DOF - unab

For more infomation about this bug, visit

--- Comment #2 from S Roderick <kiwi [dot] net [..] ...> 2008-05-02 21:30:47 ---

(In reply to comment #1)

> Cartesian space _is_ 6 dimensional. There is a difference between generating a

> trajectory in Cartesian space (= determining where the end frame of a robot has

> to move) and a trajectory in joint space. The former is _always_ 6

> dimensional, the latter has as many degrees of freedom as (actuated) joints.

> The indication of how many DOFs you need is part of the IK (inverse kinematics)

> and _not_ of the trajectory generator in Cartesian space...

I completely understand this. In reexamining the code I figured out that it is

the comments that are confusing. The implementation is as you say - completely

in 6-DOF cartesian space.

The header file has > _maximum_velocity; > _maximum_acceleration;

{{{

/// Property containing a vector with the maximum velocity of

/// each dof

RTT::Property< std::vector

/// Property containing a vector with the maximum acceleration of

/// each dof

RTT::Property< std::vector

}}}

but these aren't per DOF (in a joint sense, as I read it), they are per

degree-of-freedom of cartesian space. Also, the corresponding .cpf file has

descriptions of "Axis 1", "Axis 2", ... Confusing to the reader who thinks of

Axes and DOFs as _joint_ space quantities.

Perhaps the above two files could be reworded to prevent future confusion?

Sorry.

S