A method of controlling operation of a Self-Driving Car (SDC), the SDC being associated with an electronic device, the electronic device having access to data representative of an origin location and a destination location, the method executable by the electronic device, the method comprising:
- determining, by the electronic device, a route-level navigation information for the SDC to travel from the origin location to the destination location,
- the route-level navigation information being indicative of at least one road that the SDC is to travel on from the origin location to the destination location,
- the at least one road being associated with traffic rules;
- using, by the electronic device, the traffic rules for determining lane-level information,
- the lane-level information being indicative of presence of at least one lane on each of the at least one road;
- using, by the electronic device, the lane-level information for generating a graph-structure,
- the graph-structure including a plurality of vertices and a plurality of edges,
- a given vertex being associated with a respective potential location of the SDC on a given lane of a given road of the at least one road,
- the plurality of vertices including an origin vertex associated with the origin location and a destination vertex associated with the destination location,
- a given edge connecting a respective pair of vertices in the graph-structure,
- the given edge being indicative of a transition between the potential location associated with a first one of the respective pair of vertices and the potential location associated with the second one of the respective pair of vertices;
- applying, by the electronic device, a global scoring model onto the graph-structure,
- the global scoring model being associated with a first set of criteria for assigning costs to respective edges,
- a given cost assigned to a respective edge being indicative of a desirability of the respective transition in accordance with the first set of criteria;
- determining, by the electronic device, a global penalty score for each vertex in the graph-structure,
- a given global penalty score for a respective vertex being a lowest cumulative cost of edges connecting a respective vertex and the destination vertex,
- the given global penalty score being indicative of a lowest global cost for the SDC for travelling to the destination location if the SDC finds itself in the potential location of the respective vertex;
- storing, by the electronic device, the edges of the graph-structure in association with the respective costs and the vertices of the graph-structure in association with the respective global penalty scores;
- at a given moment in time during operation of the SDC when the SDC is located at a current location between the origin location and the destination location,
- acquiring, by the electronic device, at least one lane path for the current location,
- the at least one lane path being indicative of a respective lane segment extending from the current location without a lane-changing manoeuvre;
- for each one of the at least one lane path:
- identifying, by the electronic device, a series of vertices from the graph-structure covered by the respective lane segment of a respective lane path,
- a given series of vertices (i) beginning at a current vertex associated with a respective potential location that corresponds to the current location of the SDC, and (ii) ending at a respective end vertex associated with a respective potential location that corresponds to an end of the respective lane segment;
- applying, by the electronic device, a local scoring model onto the graph-structure,
- the local scoring model for assigning additional costs to lane-path-departing edges of the series of vertices,
- the lane-path-departing edges connecting the series of vertices with other vertices of the graph-structure excluding the series of vertices,
- thereby determining locally-increased costs of the lane-path-departing edges of the series of vertices;
- determining, by the electronic device, a locally-adjusted penalty score for each vertex in the series of vertices,
- a given locally adjusted penalty score for a respective vertex being a lowest cumulative cost of edges connecting the respective vertex and the destination vertex;
- identifying, by the electronic device, a lane path score for the respective lane path,
- the lane path score for the respective lane path being the locally-adjusted penalty score of the current vertex in the series of vertices of the respective lane path,
- the lane path score being indicative of a cost for the SDC for following the lane segment of the respective lane path without performing the lane-changing manoeuvre.