ros-industrial-consortium / descartes

ROS-Industrial Special Project: Cartesian Path Planner
Apache License 2.0
131 stars 91 forks source link

The "AxialSymmetricPt::FreeAxis axis" means free rotation about axis of world frame or base_link of robot, Which Cause strange orientaion of path when applicated in a blending project, requiring blending tool vertical to blending surface. #263

Open TiderFang opened 5 months ago

TiderFang commented 5 months ago

AxialSymmetricPt::FreeAxis axis used in descartes_trajectory::AxialSymmetricPt dose not mean free rotate about axis in tool coordinate. I found its use as below: OrientationTolerance orient_tol = ToleranceBase::createSymmetric<OrientationTolerance>( ((axis == AxialSymmetricPt::X_AXIS) ? 0.0 : rx), ((axis == AxialSymmetricPt::Y_AXIS) ? 0.0 : ry), ((axis == AxialSymmetricPt::Z_AXIS) ? 0.0 : rz), ((axis == AxialSymmetricPt::X_AXIS) ? 2 * M_PI : 0.0), ((axis == AxialSymmetricPt::Y_AXIS) ? 2 * M_PI : 0.0), ((axis == AxialSymmetricPt::Z_AXIS) ? 2 * M_PI : 0.0));

I think it would produce strange orientation when applied in blending project requiring blending tool vertical to blending surface.

  1. and What's the motivation of this implemetation?
  2. Is there any exsting implemetation of free rotate around the tool axis (to keep tool vertial to blending surface as expected) ?