Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
namespace RobotNet10.GlobalPathPlanner;
|
||||
|
||||
/// <summary>
|
||||
/// Factory interface for creating path planner instances optimized for different robot types.
|
||||
/// Each planner type uses algorithms and strategies tailored to the specific kinematics and constraints of the robot.
|
||||
/// </summary>
|
||||
public interface IPathPlannerFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a path planner optimized for differential drive robots.
|
||||
/// Differential drive robots have two independently driven wheels on a common axis.
|
||||
/// </summary>
|
||||
/// <returns>An instance of <see cref="IPathPlanner"/> configured for differential drive robots.</returns>
|
||||
IPathPlanner CreateDifferentialPlanner();
|
||||
|
||||
/// <summary>
|
||||
/// Creates a path planner optimized for forklift robots (version 1).
|
||||
/// Forklift robots have specific constraints related to their lifting mechanism and turning radius.
|
||||
/// </summary>
|
||||
/// <returns>An instance of <see cref="IPathPlanner"/> configured for forklift robots.</returns>
|
||||
IPathPlanner CreateForkliftPlanner();
|
||||
|
||||
/// <summary>
|
||||
/// Creates an enhanced path planner optimized for forklift robots (version 2).
|
||||
/// This version uses improved algorithms (SSE A*) for better performance and path quality.
|
||||
/// </summary>
|
||||
/// <returns>An instance of <see cref="IPathPlanner"/> configured for forklift robots with enhanced algorithms.</returns>
|
||||
IPathPlanner CreateForkliftPlannerV2();
|
||||
|
||||
/// <summary>
|
||||
/// Creates a path planner optimized for omni-directional drive robots.
|
||||
/// Omni-drive robots can move in any direction without changing orientation.
|
||||
/// Note: Currently uses the same planner as differential drive.
|
||||
/// </summary>
|
||||
/// <returns>An instance of <see cref="IPathPlanner"/> configured for omni-directional drive robots.</returns>
|
||||
IPathPlanner CreateOmniDrivePlanner();
|
||||
}
|
||||
Reference in New Issue
Block a user