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
πΊοΈ Diverse and Representative: Cover a range of real-world challenges inspired by the use cases at our lab.
π― Targeted: Isolate specific aspects and highlight planner strengths and weaknesses.
π‘ Easy to Grasp: Named, simple, and clearly defined scenarios.
π§ Catch User Error: Discover problems in requested planning queries
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.
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:
01_no_joint_movement
02_single_joint_movement
03_linear_joint_movement
04_self_collision_joint_movement
05_env_collision_joint_movement
01_start_joints_invalid
02_goal_joints_invalid