An automotive electronic control unit configured to be connected to automotive on-board systems of a motor vehicle including a propulsion system, a braking system, a steering system, a sensory system, and an automotive user interface by way of an automotive on-board communications network, and configured to cooperate with the automotive on-board systems to provide an automotive autonomous driving system, the automotive electronic control unit comprising:
- non-transitory computer readable media configured to:
- store a database of recurrent low speed maneuvers and instruct the automotive on-board systems to perform the recurrent low speed maneuvers stored in the database of recurrent low speed maneuvers to be executed in an autonomous driving mode;
- populate the database of recurrent low speed maneuvers by determining and storing descriptive data of a current low speed maneuver of the motor vehicle;
- determining whether the current low speed maneuver is simple or complex by:
- computing a complexity index (I) indicative of a complexity of the current low speed maneuver of the motor vehicle;
- comparing the complexity index (I) with a threshold value;
- determining the current low speed maneuver of the motor vehicle as a complex maneuver if the complexity index (I) is higher than, or equal to, the threshold value;
- and determining the current low speed maneuver of the motor vehicle as a simple maneuver if the complexity index (I) is lower than the threshold value;
- if the current low speed maneuver is determined to be a complex low speed maneuver, determining whether the complex low speed maneuver is also a recurrent low speed maneuver;
- if the complex low speed maneuver is determined to not be a recurrent low speed maneuver, storing the complex low speed maneuver in a database of complex, non-recurrent, low speed maneuvers, in association with a maneuver recurrence index;
- if, instead, the complex low speed maneuver is determined to be a recurrent low speed maneuver, updating the maneuver recurrence index stored in association with the complex low speed maneuver;
- verify whether the maneuver recurrence index stored in association with the complex low speed maneuver satisfies a predetermined criterion;
- if the maneuver recurrence index stored in association with the complex low speed maneuver is determined to satisfy the aforementioned predetermined criterion, verify whether the complex low speed maneuver is stored in the database of recurrent low speed maneuvers;
- if the complex low speed maneuver is determined not to be stored in the database of recurrent low speed maneuvers, prompt the driver, via the automotive user interface, to store the complex low speed maneuver in the database of recurrent low speed maneuvers;
- if the prompt to store the complex low speed maneuver in the database of recurrent low speed maneuvers is determined to be accepted by the driver via the automotive user interface, store the complex low speed maneuver in the database of recurrent low speed maneuvers in association with a maneuver repetition index;
- store the recurrent low speed maneuvers in the database of recurrent low speed maneuvers in the form of descriptive data of the environments in which the recurrent low speed maneuvers are repeatable in autonomous driving mode, including geolocation data representative of a starting point and an end point of the recurrent low speed maneuvers, and of spatial constraints, obstacles and associated dimensions in the environments where recurrent low speed maneuvers will be repeated in the autonomous driving mode;
- cause a stored, recurrent low speed maneuver stored in the database of recurrent low speed maneuvers to be repeated in the autonomous driving mode by:
- computing an autonomous driving path to be travelled by the motor vehicle from the starting point to the end point, and associated longitudinal and lateral dynamics of the motor vehicle, based on associated stored geolocation data and on data received from the sensory system of the motor vehicle, whereby taking account of the spatial constraints, obstacles, and associated dimensions, in the environment in which the recurrent low speed maneuver is repeatable in autonomous driving mode and identified when the maneuver was stored, and any new spatial constraints and/or obstacles that appeared in the environment in which the recurrent low speed maneuver is repeatable in the autonomous driving mode subsequently to when the maneuver was stored and which are identifiable based on the data received from the automotive sensory system;
- and
- computing, based on the computed autonomous driving path, commands to be provided to the autonomous driving system of the motor vehicle to cause the recurrent low speed maneuvers to be repeated in the autonomous driving mode.