ros-industrial-consortium / descartes

ROS-Industrial Special Project: Cartesian Path Planner
Apache License 2.0
126 stars 92 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 1 month ago

TiderFang commented 1 month 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) ?