Research Article
Automatic Parking Controller with a Twin Artificial Neural Network Architecture
Algorithm 1
Predictive collision-avoidance algorithm based on twin ANN parking agent.
| Input: // Input to the Clone agent for every decision step of the Main agent | | = {,,}; // Input Pose of the Virtual vehicle = Current pose of the main vehicle | | ; // Input Action of the clone agent = Output of the main agent’s action | | Parking Environment & obstacles ; // Parking slot length and neighboring obstacles | | Output: Adjusted Action to the main vehicle ; | | Parameters ; // # of looking forward steps (), adjustment parameters for desired actions () | (1) | Procedure forecasting step forward poses and actions for the virtual vehicle | | // Predicting Pose at j forward steps | | // Simulating j step forward actions | (2) | for j = 1 to do | (3) | Calculate j step forward state of the virtual vehicle ; | (4) | Calculate j step forward actions of the virtual vehicle ; | | // Checking collision occurrence and adjustment of actions if collision detected | (5) | if Collision Case ①: | (6) | adjust steering angle ; | (7) | break for-loop | (8) | else if Collision Case ②: | (9) | adjust steering angle ; | (10) | break for-loop | (11) | else if Collision Case ③: | (12) | adjust desired velocity ; | (13) | break for-loop | (14) | else // If no collision is predicted, then do not adjust inputs | (15) | {, }; | (16) | end if | (17) | end for | (18) | return; | (19) | end of Procedure |
|