Naming of Target Class Survey

Dear compas_fab users,

I’m implementing a new feature : a Target class. These target objects will be used in place of goal_constraints for doing Robot.plan_motion() , they will be used to describe a single static target goal for the planner to search.There will be 4 types of Target classes at this release tentatively named FrameTarget , PointAxisTarget , ConfigurationTarget , ConstraintSetTarget .

We have trouble deciding the name for PointAxisTarget . This is a target designed for 3D printing, welding and drilling type of operations where the tool is cylindrically equivalent. In another words, the orientation of the tool along its tool axis is free for the planner to decide. The benefit of using this target over FrameTarget is that there is an additional degree of freedom (i.e. null space) for the planner to make smarter decisions, this may contribute to a more complete search to find valid solution among collision-prone or hard-to-reach locations. This target requires the user to define a point and a vector for the tool’s TCF to match to it.

Alternative name suggestion is to call it a PlaneTarget as a homage to compas.geometry.Plane , which is defined with a point and axis vector, quite equivalent to the two parameters in use for this target. However, the term Plane also have alternative meaning in Grasshopper context to mean a Coordinate Frame (eq. to compas.geometry.Frame ) . We would like to ask for your feedback as to whether you find PointAxisTarget or PlaneTarget feels more right to you, or if you have other suggestions.Best


1 Like

I think you’ve nailed it with PointAxisTarget, since a PlaneTarget is overconstrained as you point out.
ConstraintSetTarget seems an appropriate name for a parent class, where PointAxisTarget addresses a specific case of 1 DOF in terms of orientation.

1 Like

Thanks for your input.