airo-ugent / airo-planner

Python package for single and dual robot arm motion planning.
MIT License
7 stars 0 forks source link

πŸ§ͺ Tests to Ensure Reliable Motion Planning #2

Open Victorlouisdg opened 6 months ago

Victorlouisdg commented 6 months ago

To deliver on our promise of plug-and-play motion planning for common use cases, we need a robust testing framework. This will empower us to consistently validate our solutions and easily benchmark different planner implementations (even those still under development).

Key Test Suite Requirements

To ensure systematic testing, let's organize our test cases in tables like this:

Joint goals 🦾 Check whether planning to goal joint configurations works. This can help isolate problems because inverse kinematics is not necessary for this. Name Purpose
01_no_joint_movement πŸ₯± Plan to the same joints as the start and goal
02_single_joint_movement ➑️ Plan to close goal joints where only one joint is rotated
03_linear_joint_movement πŸ“ Plan to far joints, but are collision-free when linearly interpolating
04_self_collision_joint_movement πŸ’₯ Plan to joints that would lead to a self-collision when linearly interpolating
05_env_collision_joint_movement 🚫 Plan to joints that would lead to an environment collision
User error handling 🧐 Check whether the planner correctly detects invalid user requests and terminates for infeasible plans. Name Problem
01_start_joints_invalid ⚠️ Attempt to plan from invalid start joints
02_goal_joints_invalid ⚠️ Attempt to plan to invalid goal joints