compas-dev / compas_fab

Robotic fabrication package for the COMPAS Framework.
https://compas.dev/compas_fab/
MIT License
108 stars 32 forks source link

Introduce new Exceptions that can be raised by planning backend through the PlannerInterface #399

Open yck011522 opened 5 months ago

yck011522 commented 5 months ago

The goal is to have more detailed Exceptions exposed to the user for debugging in case of failure.

These Exceptions can be raised by compas_fab backend adapter during pre-planning and post-planning phase, or raised by the backend client and relayed by the adapter.

yck011522 commented 5 months ago

The current plan is to design a few Exceptions related to different steps in the planning process.

Exception Planning Phase
InvalidStartStateError Check Start State (e.g. Collision, Joint values in range)
InvalidTargetError Check Target (e.g. Reachability / Attached Object Collision)
NoTargetConfigurationFoundError Target Sampling (e.g. cannot sample FrameTarget / PointAxisTarget)
NoTrajectoryFoundError Path Sampling (e.g. No Collision-free Path)
PostPlanningCheckError Final Sanity Check (e.g. Joint Jump Violation)