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