Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MACHINE LEARNING BASED SYSTEM, METHODS, AND CONTROL ARRANGEMENT FOR POSITIONING OF AN AGENT
Document Type and Number:
WIPO Patent Application WO/2021/177887
Kind Code:
A1
Abstract:
Method (600) and machine learning based system (400) comprising a neural network (300), configured to create a computational model to be applied for positioning of an agent (100) within a region (200), by training the machine learning based system (400), based on the method (600). Further, a method (700) for positioning of an agent (100) within the region (200), based on a computational model and a control arrangement (510) in the agent (100), configured to determine position of the agent (100) within the region (200), are disclosed.

Inventors:
RAZAVI ALIREZA (SE)
MAHABADI NAVID (SE)
Application Number:
PCT/SE2021/050189
Publication Date:
September 10, 2021
Filing Date:
March 04, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SCANIA CV AB (SE)
International Classes:
G01C21/00; G01C21/36; G01S13/931; G01S15/931; G01S17/931; G06K9/00; G06N3/04
Foreign References:
US20180188736A12018-07-05
EP3567343A12019-11-13
US20190114507A12019-04-18
US20190033867A12019-01-31
US20190137280A12019-05-09
Attorney, Agent or Firm:
RYDENIUS, Åsa (SE)
Download PDF:
Claims:
PATENT CLAIMS

1 . A method (600) for creating a computational model to be applied for positioning of an agent (100) within a region (200), wherein the method (600) comprises the steps of: selecting (601) a number of landmarks (210) in the region (200); determining (602) coordinates and an identity reference of the selected (601) re spective landmarks (210); observing (603) at least two landmarks (220a, 220b, 220c), out of the selected (601 ) landmarks (210), from a first position within the region (200); determining (604) vehicle position in relation to the observed (603) landmarks (220a, 220b, 220c); providing (605) a neural network (300) with data comprising the determined (602) coordinates and identity references of the selected (601) landmarks (210), the observed (603) landmarks (220a, 220b, 220c), and the determined (604) vehicle position in relation to the observed (603) landmarks (220a, 220b, 220c); and determining (606) weights of the data provided (605) to the neural network (300) for successfully mapping the observed (603) landmarks (220a, 220b, 220c) with the selected (601) landmarks (210), thereby creating the computational model to be applied for position ing of the agent (100) within the region (200).

2. The method (600) according to claim 1 , wherein the steps 601 -606 are repeated for a plurality of possible positions of the agent (100) within the region (200).

3. The method (600) according to any one of claim 1 or claim 2, wherein the observed (603) landmarks (220a, 220b, 220c) are arranged in the neural network (300) in a predeter mined order.

4. A machine learning based system (400) comprising a neural network (300), config ured to create a computational model to be applied for positioning of an agent (100) within a region (200), by training the machine learning based system (400), based on the method (600) according to any one of claims 1-3.

5. A method (700) for positioning of an agent (100) within a region (200), based on a computational model, wherein the method (700) comprises the steps of: observing (702) at least two landmarks (220a, 220b, 220c) within the region (200), from a position which is desired to determine; obtaining (703) the computational model of the region (200); providing (704) data concerning the observed (702) landmarks (220a, 220b, 220c) to the obtained (703) computational model; obtaining (705) identities and coordinates of the landmarks (210) in the region (200), corresponding to the observed landmarks (220a, 220b, 220c), based on the computational model; and determining (706) position of the agent (100) based on relational position of the agent (100) in relation to the observed landmarks (220a, 220b, 220c) and the obtained (705) coordinates of the landmarks (210).

6. The method (700) according to claim 5, further comprising the step of: determining (701) that the agent (100) is approaching the region (200), based on an identity reference of the region (200).

7. A control arrangement (510) in an agent (100), configured to determine position of the agent (100) within a region (200), based on a computational model, created according to the method (700) according to any one of claims 5-6.

8. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the steps of the method (600, 700) according to any one of claims 1-3 and / or claims 5-6.

9. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method (600, 700) according to any one of claims 1-3 and/ or claims 5-6.

Description:
MACHINE LEARNING BASED SYSTEM, METHODS, AND CONTROL ARRANGEMENT

FOR POSITIONING OF AN AGENT

TECHNICAL FIELD This document discloses a machine learning based system comprising a neural network, a control arrangement and methods for positioning of an agent. More particularly, a machine learning based system, a control arrangement and methods are disclosed for creating a computational model to be applied for positioning of an agent within a region, by training the machine learning based system and then determine position of the agent within the region, based on a computational model.

BACKGROUND

The technical development for partly or fully autonomous vehicles is progressing rapidly, and fully autonomous vehicles will soon have a place in our everyday life. A key to making a smart and anticipating autonomous vehicle is to use reliable solutions for determining posi tion of the vehicle.

A well-known solution to this problem is to use a satellite-based radio navigation system such as e.g. Global Positioning System (GPS) or any other similar Global Navigation Satellite Systems (GNSS) that provides geolocation and time information to a receiver maintained in the vehicle.

However, the receiver of the vehicle may not be able to detect the satellite signals in certain environments, such as for example mines, tunnels, drive through shopping facilities, parking garages, and similar locations where the sky/ GPS satellites are occluded by obstacles. So called urban canyon environments presents another problem for reliable navigation, where the GPS signals often are blocked by high buildings and there are not enough available satellites signals to estimate the position. A vehicle may be parked inside in a garage, for example at night, for charging batteries of the vehicle when the vehicle is an electric vehicle. In the morning when the vehicle is started, there may be no prior information is available in terms of vehicle location, i.e. the onboard logic may not know where it is situated and has no possibility to receive satellites signals. In case the vehicle position is known, a conventional way to estimate the position when the GPS signal is lost, for example when entering a tunnel, is to either use dead-reckoning meth ods or landmark based localisation. However, these methods do not address the problem of no available position history and yet be able to find the current position in the map. The currently existing satellite-based radio navigation systems are controlled by some rather few respective nations. In case of an international conflict, the functionality of the respective satellite-based radio navigation systems may be switched off for other users by the control ling nation; alternatively be subject to foreign aggression, making satellite-based radio navi gation systems unreliable or impossible in case of a large scale conflict; this is in particular a problem for military vehicles (both manned and autonomous) and other military applica tions such as guided missiles, which are expected to be able to navigate in particular in case of an armed conflict.

Yet another problem is navigation for autonomous robotic devices intended primarily or at least partly for indoor usage such as for example a floor cleaning robot intended to operate at a shopping mall and other similar applications. Indoor navigation using satellite-based radio navigation systems is normally not a possible solution, why there is a need to find a solution enabling reliable positioning independently from satellite detection.

Reliable vehicle localisation, in particular for autonomous vehicles, is fundamental for true autonomous vehicle driving and traffic safety. Initial vehicle positioning is required when the operations is started. It is consequently important to find a solution to the positioning problem which is independent from satellite signal reception. The positioning solution needs to be made in real time, or with only a negligent time lag, why the solution needs to be computa tionally effective to be performed on the (relatively) limited computational resources onboard the vehicle.

Document US20190114507 presents a solution for improving navigation accuracy of a vehi cle. A navigation system comprises an image sensor that generates a plurality of images, each image comprising one or more features. These images are analysed by the processor and a number of features are determined in each image. A computation engine generates navigation information, based on the features included as constraints in the navigation infer ence engine. The computation engine outputs the navigation information to improve naviga tion accuracy for the vehicle.

The purpose of the described solution seems to aim at improving accuracy of GPS position ing, see paragraphs [0031]- [0032] The analyse of images and features of the images and parsing of sensor captures images/ features with prestored images/ features in a database is very computational heavy and will require multiple processors operating in parallel, for avoiding a time lag, see paragraph [0035]. It is desired to find a positioning solution which is completely independent from any availa bility of GPS/ other satellite-based radio navigation system. Also, computational resources is/ will be a limiting factor for mass produced entities due to cost issues. It is desired to develop a solution which is independent from satellite-based radio navigation systems, which enables real time positioning also with limited computational resources.

Document US20190033867 concerns a method for vehicle positioning. Images are captured and analysed, wherein objects/ features in the images are detected. A relationship between the established objects/ features are determined, where after a motion trajectory and a cam era pose relative to a ground plane is determined using the plurality of objects/ features.

The solution seems to require satellite-based radio navigation system, see paragraph [0038]. Again, the disclosed method seems to require extensive computations for parsing objects/ features detected by a vehicle sensor with previously recorded objects/ features stored in a database. It is not discussed in the document how real time navigation could be achieved.

Document US20190137280 discloses method for localisation and mapping including record ing an image at a camera mounted to a vehicle, the vehicle associated with a global system location. A landmark depicted in the image is identified with a landmark identification module of the computing system. A set of landmark parameters is extracted from the image with a feature extraction module of the computing system. A relative position between the vehicle and the landmark geographic location is determined at the computing system, based on a comparison between the extracted set of landmark parameters and the known parameter; and updating, at the computing system, the global system location based on the relative position.

A very large amount of plausible mathematical method for realising the described solution is enumerated, see paragraph [0034], which however seems to rather engender a haze con cerning actual implementation of the solution.

None of the cited documents addresses the above-mentioned problem of localisation at start up of the vehicle.

It appears that further development is required for implementing non-satellite-based posi tioning of autonomous vehicles, enabling real time, or almost real time, positioning of the vehicle.

SUMMARY It is therefore an object of this invention to solve at least some of the above problems and provide an enhanced positioning of an autonomous agent/ vehicle.

According to a first aspect of the invention, this objective is achieved by a method for creating a computational model to be applied for positioning of an agent within a region. The method comprises the steps of selecting a number of landmarks in the region. Further the method also comprises determining coordinates and an identity reference of the selected respective landmarks. The method in addition comprises observing at least two landmarks, out of the selected landmarks, from a first position within the region. The method in addition comprises providing a neural network with data comprising the determined coordinates and identity references of the selected landmarks, the observed landmarks, and the determined vehicle position in relation to the observed landmarks. The method also comprises determining weights of the data provided to the neural network for successfully mapping the observed landmarks with the selected landmarks, thereby creating the computational model to be ap plied for positioning of the agent within the region.

According to a second aspect of the invention, this objective is achieved by a machine learn ing based system, comprising a neural network, configured to create a computational model to be applied for positioning of an agent within a region, by training the machine learning based system, based on the method according to the first aspect.

According to a third aspect of the invention, this objective is achieved by a method for posi tioning of an agent within a region, based on a computational model. The method comprises the steps of observing at least two landmarks within the region, from a position which is desired to determine. Also, the method further comprises obtaining the computational model of the region. The method in addition comprises providing data concerning the observed landmarks to the obtained computational model. In further addition the method also com prises obtaining identities and coordinates of the landmarks in the region, corresponding to the observed landmarks, based on the computational model. The method also comprises determining position of the agent based on relational position of the agent in relation to the observed landmarks and the obtained coordinates of the landmarks.

According to a fourth aspect of the invention, this objective is achieved by a control arrange ment in an agent, configured to determine position of the agent within a region, based on a computational model, created according to the method according to the third aspect.

According to a fifth aspect of the invention, this objective is achieved by a computer program comprising program code for performing a method according to any one of the first aspect or the third aspect, when the computer program is executed in a computer.

Thanks to the described aspects, by training a neural network to generate a computational model, positioning may be made in real time, or almost real time, by applying the ready- trained computational model at the agent/ vehicle in question, with limited computational resources.

By performing the computational heavy, but not time critical, preparation and training of the computational model on an advanced computational resource, which may be remote from the region in question, the ready trained computational model could be provided to the agent.

The agent then only has to make sensor detections of landmarks in the surroundings, insert this sensor data into the computational model and then obtain the most likely identities of the observed landmarks from the computational model. The position of the agent could then be determined by trigonometric methods based on the extracted known positions of the ob served landmarks.

The positioning is unrelated to coverage of satellite-based positioning methods. Thus, a re liable positioning of the agent could be made also in an indoor environment, or in any other scenario where satellite-based positioning is not available or reliable.

Other advantages and additional novel features will become apparent from the subsequent detailed description. FIGURES

Embodiments of the invention will now be described in further detail with reference to the accompanying figures, in which:

Figure 1 illustrates a vehicle with sensors, according to an embodiment.

Figure 2A illustrates a scenario of a region wherein a vehicle according to an embodi ment is situated.

Figure 2B illustrates a scenario of a region wherein a vehicle according to an embodi ment is situated.

Figure 3 schematically illustrates a network architecture according to an embodiment.

Figure 4 schematically illustrates a vehicle interior of a vehicle, according to an embod iment. Figure 5 schematically illustrates a vehicle interior of a vehicle, according to an embod iment.

Figure 6 is a flow chart illustrating an embodiment of a method for creating a computa tional model to be applied for positioning of an agent.

Figure 7 is a flow chart illustrating an embodiment of a method for positioning of an agent within a region.

DETAILED DESCRIPTION

Embodiments of the invention described herein are defined as a machine learning based system comprising a neural network, a control arrangement and methods for positioning of an agent, which may be put into practice in the embodiments described below. These em bodiments may, however, be exemplified and realised in many different forms and are not to be limited to the examples set forth herein; rather, these illustrative examples of embodi ments are provided so that this disclosure will be thorough and complete.

Still other objects and features may become apparent from the following detailed description, considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the herein disclosed embodiments, for which reference is to be made to the appended claims. Further, the drawings are not necessarily drawn to scale and, unless oth erwise indicated, they are merely intended to conceptually illustrate the structures and pro cedures described herein.

Figure 1 illustrates an agent 100, embodied as a vehicle, driving on a road 105. The agent 100 comprises a number of environmental sensors 110a, 110b, 110c for assisting the onboard logic when driving the vehicle autonomously.

The sensors 110a, 110b, 110c may comprise e.g. a camera, a stereo camera, an infrared camera, a video camera, a radar, a lidar, an ultrasound device, a Passive Infrared (PIR) sensor, a time-of-flight camera, or similar device, in different embodiments. The vehicle 100 may comprise several sensors 110a, 110b, 110c, directed in distinct directions around the vehicle 100. However, the majority of the sensors 110a, 110b, 110c may be directed in the driving direction. The sensors 110a, 110b, 110c may be of the same, or different type. An advantage with using different types of sensors is that different sensor types have different capabilities, i.e. a camera may function well in daylight while a laser sensor may be advan tageous in darkness, etc. The agent 100 may comprise a vehicle such as any means for transportation in broad sense such as e.g. a truck, a car, a motorcycle, a trailer, a bus, an aircraft, a watercraft, an Un manned Aerial Vehicle (UAV), a spacecraft, or other similar manned means of conveyance running e.g. on wheels or similar means, rails, air, water or similar media. The agent 100 may alternatively comprise a drone, a lawnmower, a robot, an autonomous moveable vend ing machine, an autonomous floor cleaner, etc., i.e. an autonomous moving device perhaps in particular intended for indoor usage or at least partly indoor usage.

However, the herein provided examples of the agent 100 are primarily illustrated by an au tonomous road vehicle having wheels.

According to the provided solution, machine learning is utilised to match current landmark observations obtained by sensors 110a, 110b, 110c of the agent 100 to a given map to find corresponding identities of the map landmarks that best describe the made observations. The positions of the identified landmarks have previously been determined and stored asso ciated with the identity reference of the landmark in question. Having found the matches, vehicle position of the agent 100 may be estimated in the map.

The solution may be divided into six main blocks: Feature selection, Data Collection, Neural Network Architecture, Data Preparation, training, and inference.

Figure 2A illustrates an agent 100 situated/ parked at an unknown position in a region 200, for example in a garage. The region 200 comprises a number of landmarks 210. The land marks 210 may comprise various non-mobile object such as for example road signs, poles, lamps, dashed lines and / or other road marks, building corners, marks on a wall, ceiling and / or floor, and other permanently non-mobile objects.

In order to solve a problem using machine learning techniques, a first step may be feature engineering or feature selection, i.e. determine which landmarks 210 within sight to utilise. Thus, features/ landmarks 210 are selected which can help the machine learning algorithm to discriminate between classes. Feature selection is not trivial because the correspond ences of landmarks 210 are unknown: when a landmark is observed, it is not known which landmark 210 on the map it is, i.e. there is normally no observable identity reference of land marks 210.

To solve this issue, at each potential location of the agent 100 within the region 200, coordi nates (x, y) or features of K number of observed landmarks 220a, 220b, 220c with respect to the vehicle position are selected. In the illustrated embodiment of Figure 2B, K = 3. However, K may be set to any number within: 2 £ K £ ; where a higher number of observed landmarks 220a, 220b, 220c may provide higher precision in the positioning while a low number of observed landmarks 220a, 220b, 220c within 2 £ K£ leads to less complex computations.

For each position in the region 200, there are observed landmarks 220a, 220b, 220c, each having two coordinates/ features, in total 2 features.

In some embodiments wherein it is desired to determine more features to get better results, the agent 100 may be moved a bit and coordinates to the same ^ landmarks 220a, 220b, 220c which were observed at the initial location may be collected. In case this procedure is repeated L- 1 times, the result will comprise a collection of 2 KL features (including the fea tures collected on the initial position).

Having selected the 2 KL features, data is collected. Data is collected from the region 200 described above. The data may be collected from all “feasible” locations in the map of the region 200. For example, in case data is collected concerning a road passing the region 200, then the feasible locations are all the points on the road.

In case the region 200 is indoors, inside a building then the feasible locations are all the walkable/drivable/ passable locations inside the building. In addition to the collected data features, a ground truth concerning the collected data features is also recorded. The ground truth in this context may comprise a respective identity reference of the ^landmarks 220a, 220b, 220c which are truly observed at each position, in other words, the entire map with corresponding identity references.

Figure 3 illustrates a general structure of a neural network architecture 300, according to an example.

A machine learning based system may comprise or be based on an artificial neural network 300 and / or a connectionist system. Thus, the machine learning based system may at least to some extent be inspired by biological neural networks that constitute animal/ human brains. Such system may learn (progressively improve performance on) tasks by considering examples, generally without task-specific programming.

The neural network 300 may be used for various purposes that require complex data han dling and computations, for example in autonomous vehicles. Neural networks 300 may be trained to detect and classify specific patterns or signatures in data and can be used in var ious types of applications. Thus, the neural network 300 may be trained to detect and identify the landmarks 210 of the region 200.

The neural network architecture 300 may comprise a fully connected multilayer neural net work. The number of neurons in the input layer may be 2N+2KL, where N is the number of landmarks 210 in the map of the region 200 and the number of neurons in the output layer will also be N. is the number of observed landmarks at each position of the agent 100. L is the number of sampling iterations, i.e. at each position where ^landmarks are observed, a process iterated L number of times.

There may be one or several hidden layers in between to have a better representation. The activation functions of hidden layers may be some nonlinear function (e.g. tanh) and the activation of output layer may comprise softmax (sigmoids which sum up to 1). The different layers may perform different kinds of transformations on their inputs. Signals may travel from the first (input), to the last (output) layer, possibly after traversing the layers multiple times. The neural network 300 may thereby solve problems much in the same way that a human brain would, i.e. by studying examples and make conclusions.

In a subsequent step, the data is prepared for feeding into the network 300. The input to the network 300 comprises (x, y) coordinates of all landmarks 210 in the map of the area 200 plus the features as described above. This means that with N landmarks 210 in the map, where N is an arbitrary positive integer; and at each point, (x, y) coordinates of K observed landmarks 220a, 220b, 220c then the input size is 2N+2KL, where N, K and L are defined above.

A success factor of creating a good neural network 300 may be to train the network 300 with a big and well labelled data set. The training data may be appropriately labelled in order for the neural network 300 to learn and be able to distinguish the unique identifiers or patterns in the data to be able to achieve the high level goal, which can be to detect objects, surfaces or other unique landmarks 210.

The output layer may then have size N. This is because in map matching the task is to find the identity of the (K) observed landmarks 220a, 220b, 220c at each point. Since there are a total of N landmarks 210 there may be N neurons in the output layer. The expectation is to have the K neurons corresponding to the true K observed landmarks 220a, 220b, 220c to the initial location of the agent 100, to have the highest values in the output during a test phase. Artificial neurons of the network 300 may have a weight that adjusts as learning proceeds. The weight may increase or decrease the strength of the signal at a connection. Artificial neurons may have a threshold such that only if the aggregate signal crosses that threshold is the signal sent. During the training of the network 300, the target vectors fed to the output layer of the network 300 are N dimensional vectors where N - K elements of them are zero and the K nonzero element correspond to the observed ^landmarks 220a, 220b, 220c.

The value of these K nonzero elements may be proportional to their initial distance to the agent 100 and may be normalised such that the sum of their values become 1. Thereby, a representation of a probability distribution may be achieved in some embodiments.

The training of the network 300 may be done using the celebrated backpropagation algorithm with input and target data prepared as explained above. The loss function may be the cross entropy between the target vectors and the output vectors spitted out after feeding the net work 300 by input vectors.

Finally, an inference phase may be performed. Inference in this context means that the trained model is utilised in the test phase to find the respective identity references of the K observed landmarks 220a, 220b, 220c. To this end, new data is collected during the test phase, build input vector similar to the way it is prepared for training and feed it to the network 300. The K neurons which will get the highest values in the output layer, estimate the K observed landmarks 220a, 220b, 220c.

Having determined the identity references of the observed landmarks 220a, 220b, 220c, the position of the agent 100 may be determined based on extraction of the stored positions of the observed landmarks 220a, 220b, 220c.

Figure 4 illustrates an example of a scenario wherein an agent 100 such as the one previ ously discussed and illustrated in Figure 1 , Figure 2A and / or Figure 2B, as it may be per ceived by a potential passenger of the agent 100.

Also, Figure 4 illustrates a machine learning based system 400 comprising a neural network 300. The neural network 300 is configured to create a computational model to be applied for positioning of an agent 100 within a region 200 by training the machine learning based sys tem 400. The neural network 300 is provided with a selected number of landmarks 210 in the region 200. Also, coordinates and an identity reference of the selected respective land marks 210 are provided to the neural network 300. The sensor 110a, 110b of the agent 100 may detect observe at least two landmarks 220a, 220b out of the selected landmarks 210, from the agent 100 in a position in the region 200.

Although one single sensor 110a, 110b of the agent 100 typically is sufficient for performing the disclosed method, a plurality of sensors 110a, 110b of the agent 100 may alternatively be utilised for observing the at least two landmarks 220a, 220b. Using the plurality of sensors 110a, 110b may improve precision of the sensor detections, thereby providing a better result statistically.

Sensor data related to the observed landmarks 220a, 220b as captured by the sensors 110a, 110b may be provided over a wireless communication interface via a wireless transceiver

410.

The wireless communication may be made over a wireless communication interface, such as e.g. Vehicle-to-Vehicle (V2V) communication, or Vehicle-to-lnfrastructure (V2I) commu nication. The common term Vehicle-to-Everything (V2X) is sometimes used.

In some embodiments, the wireless communication between the agent 100 and the machine learning based system 400 may be performed via V2X communication, e.g. based on Dedi cated Short-Range Communications (DSRC) devices. DSRC works in 5.9 GHz band with bandwidth of 75 MHz and approximate range of 1000 m in some embodiments.

The wireless communication may be made according to any IEEE standard for wireless ve hicular communication like e.g. a special mode of operation of IEEE 802.11 for vehicular networks called Wireless Access in Vehicular Environments (WAVE). IEEE 802.11 p is an extension to 802.11 Wireless LAN medium access layer (MAC) and physical layer (PHY) specification.

Such wireless communication interface may comprise, or at least be inspired by wireless communication technology such as Wi-Fi, Wireless Local Area Network (WLAN), Ultra Mo bile Broadband (UMB), Bluetooth (BT), Near Field Communication (NFC), Radio-Frequency Identification (RFID), to name but a few possible examples of wireless communications in some embodiments.

The communication may alternatively be made over a wireless interface comprising, or at least being inspired by radio access technologies such as e.g. 3GPP LTE, LTE-Advanced, E-UTRAN, UMTS, GSM, or similar, just to mention some few options, via a wireless commu nication network.

Based on the sensor data related to the observed landmarks 220a, 220b, the vehicle position in relation to the observed landmarks 220a, 220b may be determined and provided to the machine learning based system 400.

The neural network 300 is then provided with data comprising the determined coordinates and identity references of the selected landmarks 210, the observed landmarks 220a, 220b, and the determined vehicle position in relation to the observed landmarks 220a, 220b.

Having prepared the data for the neural network 300, the training phase may be done by determining weights of the data provided to the neural network 300 for successfully mapping the observed landmarks 220a, 220b, 220c with the selected landmarks 210, thereby creating the computational model to be applied for positioning of the agent 100 within the region 200.

The created computational model may be stored in a database 405, from which it later may be obtained by the same or (more likely) another agent 100 approaching/ entering the region 200.

The training of the neural network 300 may be time consuming and computational heavy. However, once the computational model is created, the performance of the test phase/ in ference phase is computationally effective and enable real time positioning, also with limited computational resources, as often may be the case onboard an autonomous vehicle.

Figure 5 illustrates an example of a scenario wherein an agent 100 such as the one previ ously discussed and illustrated in Figure 1 , Figure 2A, Figure 2B, and / or Figure 3 as it may be perceived from a perspective of the agent 100. The agent 100 comprises control arrangement 510, configured to determine position of the agent 100 within a region 200, based on a computational model created by the neural net work 300 of the machine learning based system 400.

The control arrangement 510 is configured to observe at least two landmarks 220a, 220b within the region 200, from a position which is desired to determine via the sensors 110a, 110b. Then the computational model of the region 200 is obtained from the for example obtained from the database 405 as described in Figure 4 and the corresponding text seg- ment; and / or from a database 520 of the agent 100, to which the computational model pre viously has been obtained.

The control arrangement 510 is also configured to providing data concerning the observed landmarks 220a, 220b to the obtained computational model. By adding the data of the ob served landmarks 220a, 220b to the computational model, identities and coordinates of the landmarks 210 in the region 200, corresponding to the observed landmarks 220a, 220b are obtained by running the computational model. Hereby, the position of the agent 100 based on relational position of the agent 100 in relation to the observed landmarks 220a, 220b, and the obtained coordinates of the landmarks 210 could be determined, by knowledge of the respective geographical/ absolute positions of the observed landmarks 220a, 220b, and the relative respective position (cartesian coordinates, or polar coordinates and / or distance) be tween the landmarks 220a, 220b and the vehicles and using triangulation, trilateration, true range multilateration or similar trigonometric method or combination of methods.

Hereby, the position of agents 100 operating indoors or in areas without coverage of GPS/ GNSS, and / or agents 100 not having a receiver for GPS/ GNSS could thus be made. The initial position of the agent 100 when starting the agent 100 after having been parked for a period of time, for example over-night may thereby be determined.

As the computational heavy establishment of the computational model is created by the ma chine learning based system 400 comprising the neural network 300 as described in Figure 4 and in the corresponding text segments of the specification, the positioning of the agent 100 could be made in real-time without time lag with a relatively unsophisticated computa tional resources.

Figure 6 illustrates an example of a method 600 according to an embodiment. The flow chart in Figure 6 shows the method 600 for creating a computational model to be applied for posi tioning of an agent 100 within a region 200.

In order to be able to create the computational model for agent positioning, the method 600 may comprise a number of steps 601-606. However, some of these steps 601 -606 may be performed solely in some alternative embodiments or performed differently in different em bodiments. Further, the described steps 601-606 may be performed in a somewhat different chronological order than the numbering suggests. The steps 601-606 may in some embodi ments be repeated for a plurality of possible positions of the agent 100 within the region 200. The method 600 may comprise the subsequent steps: Step 601 comprises selecting a number of landmarks 210 in the region 200.

The landmarks 210 may be selected to be easily distinguished from the environment. An important factor is to select landmarks 210 which are permanent such as building parts, poles, road marks and similar structures. A parked vehicle or oil stains on the underneath are very inappropriate to be selected as landmarks 210 as the vehicle may be repositioned and the oil stains may suddenly disappear during a cleaning campaign.

Step 602 comprises determining coordinates and an identity reference of the selected 601 respective landmarks 210.

The identity reference may comprise any kind of locally, i.e. within the region 200, unique number or string of characters, for avoiding misidentification of the landmark 210.

The coordinates may be absolute or relative in different embodiments; comprising cartesian coordinates, polar coordinates etc.

Step 603 comprises observing at least two landmarks 220a, 220b, 220c, out of the selected

601 landmarks 210, from a first position within the region 200.

The observed landmarks 220a, 220b, 220c may be arranged in the neural network 300 in a predetermined order, such as in order of decreasing (or alternatively increasing) distance from the agent 100: the first landmark may be the closest, the second landmark may be the second closest, the third may be the third closest etc., in some embodiments.

Step 604 comprises determining vehicle position in relation to the observed 603 landmarks 220a, 220b, 220c.

The vehicle position may be a relative position for example distance and / or an angle in relation to the landmark 220a, 220b, 220c, but may in alternative embodiments be expressed as absolute

Step 605 comprises providing a neural network 300 with data comprising the determined

602 coordinates and identity references of the selected 601 landmarks 210, the observed

603 landmarks 220a, 220b, 220c, and the determined 604 vehicle position in relation to the observed 603 landmarks 220a, 220b, 220c.

Step 606 comprises determining weights of the data provided 605 to the neural network 300 for successfully mapping the observed 603 landmarks 220a, 220b, 220c with the selected 601 landmarks 210, thereby creating the computational model to be applied for positioning of the agent 100 within the region 200.

Figure 7 illustrates an example of a method 700 for positioning of an agent 100 within a region 200, based on a computational model. The computational model has been appropri ately trained by the method 600 for creating the computational model disclosed in Figure 6 and described in the corresponding text segment of the specification.

In order to be able to create the computational model for agent positioning, the method 700 may comprise a number of steps 701-706. However, some of these steps 701 -706 may be performed solely in some alternative embodiments, like step 701 , or be performed somewhat differently in different embodiments. Further, the described steps 701-706 may be performed in a somewhat different chronological order than the numbering suggests. The method 700 may comprise the subsequent steps:

Step 701 which only may be performed in some embodiments, comprises determining that the agent 100 is approaching the region 200, based on an identity reference of the region 200.

In some embodiments, the agent 100 continuously operates within the region 200, then the trained computational model of that particular region 200 may be stored permanently in a database 520 of the agent 100.

Step 702 comprises observing at least two landmarks 220a, 220b, 220c within the region 200, from a position which is desired to determine.

The observation may typically be made by one single sensor 110a, 110b, 110c. Alternatively, several sensors 110a, 110b, 110c may be used, which may comprise the same or different types of sensors such as a camera, a stereo camera, an infrared camera, a video camera, a radar, a lidar, an ultrasound device, a time-of-flight camera, or similar device in different embodiments.

Step 703 comprises obtaining the computational model of the region 200.

The computational model has previously been established and trained by the neural network 300 of the machine learning based system 400 by performance of the above described method steps 601-606. The computational model may be obtained from the database 405 of the machine learning based system 400 in some embodiments, or from a database 520 of the control arrangement 510.

Step 704 comprises providing data concerning the observed 702 landmarks 220a, 220b, 220c to the obtained 703 computational model.

The provided data comprises sensor-based data of the observed 702 landmarks 220a, 220b, 220c, distance estimation, position in relation to the respective landmark 220a, 220b, 220c, etc.

Step 705 comprises obtaining identities and coordinates of the landmarks 210 in the region 200, corresponding to the observed landmarks 220a, 220b, 220c, based on the computa tional model.

By running the trained computational model of the machine learning based system 400 that has been obtained, the most plausible landmarks 210 in the region 200, corresponding to the observed landmarks 220a, 220b, 220c are output by the computational model.

Step 706 comprises determining position of the agent 100 based on relational position of the agent 100 in relation to the observed landmarks 220a, 220b, 220c and the obtained 705 coordinates of the landmarks 210.

Hereby a solution is provided for finding the position of the agent 100 in environments that either GPS positioning is denied, or GPS satellites has very poor coverage and / or are sat ellite-based positioning is inaccurate. The obtained 703 computational model forms a map over the region, with which sensor detections of observed landmarks 220a, 220b, 220c may be made.

The location of the agent 100 may hereby be made by matching currently made detections of landmarks 220a, 220b, 220c with identities and coordinates of the landmarks 210 in the region 200, using Machine Learning techniques.

The control arrangement 510 in the agent 100 is configured to determine position of the agent 100 within a region 200, based on at least some of the method steps 701 -706.

The described method steps 701 -706 may be performed by a computer algorithm, a machine executable code, a non-transitory computer-readable medium, or a software instruction pro grammed into a suitable programmable logic such as a processor in the control arrangement 510, in various embodiments.

The computer program product mentioned above may be provided for instance in the form of a data carrier carrying computer program code for performing at least some of the step 701 -706 according to some embodiments when being loaded into the one or more proces sors of the control arrangement 510. The data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non- transitory manner. The computer program product may furthermore be provided as computer program code on a server and downloaded to the control arrangement 510 remotely, e.g., over an Internet or an intranet connection.

The terminology used in the description of the embodiments as illustrated in the accompa nying drawings is not intended to be limiting of the described methods 600, 700, machine learning based system 400, control arrangement 510; computer program, and / or computer- readable medium. Various changes, substitutions and / or alterations may be made, without departing from invention embodiments as defined by the appended claims.

As used herein, the term “and / or” comprises any and all combinations of one or more of the associated listed items. The term “or” as used herein, is to be interpreted as a mathematical OR, i.e., as an inclusive disjunction; not as a mathematical exclusive OR (XOR), unless ex pressly stated otherwise. In addition, the singular forms “a”, “an” and “the” are to be inter preted as “at least one”, thus also possibly comprising a plurality of entities of the same kind, unless expressly stated otherwise. It will be further understood that the terms “includes”, “comprises”, “including” and / or “comprising”, specifies the presence of stated features, ac tions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, actions, integers, steps, operations, ele ments, components, and / or groups thereof. A single unit such as e.g. a processor may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/ distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms such as via Internet or other wired or wireless communication system.