Method for controlling a plurality of vehicles with assisted or autonomous driving, and corresponding system
A fleet-management system with attention zones and remote co-piloting optimizes path planning for automated vehicles, addressing navigation challenges in crowded spaces and reducing costs.
Patent Information
- Application Number
- PCT/IB2025/054002
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-17
- Filing Date
- 2025-04-16
- Publication Date
- 2025-10-23
AI Technical Summary
Existing automated vehicles struggle to navigate crowded environments with unpredictable human movements and frequent changes, making them impractical for assisting individuals with reduced mobility, while manually operated vehicles incur higher costs.
A fleet-management system that plans missions for autonomous or assisted driving vehicles, incorporating attention zones and remote control by a co-piloting system to navigate through crowded areas and manage vehicle operations efficiently.
Enables effective use of automated vehicles in crowded environments by optimizing path planning and reducing operational costs through a combination of autonomous and remote-controlled driving modes.
Smart Images

Figure IB2025054002_23102025_PF_FP_ABST
Abstract
Description
[0001] “Method for controlling a plurality of vehicles with assisted or autonomous driving, and corresponding system”
[0002] ****
[0003] TEXT OF THE DESCRIPTION
[0004] Field of the invention
[0005] The present disclosure regards solutions for controlling a vehicle, such as a personal-mobility vehicle or another type of vehicle with assisted driving and / or with autonomous driving (the so-called automated guided vehicle - AGV), such as an autonomous mobile robot (AMR) that moves around in an operating environment, such as an airport, a railway station, or a hospital.
[0006] Prior art
[0007] A very large number of types of personal-mobility vehicles (PMVs) are known. A subgroup of such PMVs are electric vehicles, so-called vehicles for persons with reduced mobility (PRMs), that enable a person with motor disabilities and / or difficulties, such as a disabled or elderly person, to move around more easily.
[0008] For instance, the above group of vehicles comprises electric-powered wheelchairs, electric personal transporters, and mobility scooters. Typically, these PMVs comprise a seat for a user / passenger and a plurality of wheels. Typically, the PMV comprises (at least) four wheels, but there are also known PMVs that comprise only three wheels, or self-balancing mobility aids that comprise only two axial wheels (similar to a hoverboard).
[0009] On the basis of his or her motor difficulties, a user can choose from among various types of vehicles, such as a vehicle with manual driving (for example, a conventional manual wheelchair), an electric vehicle (for example, an electric- powered wheelchair, an electric personal transporter, or a mobility scooter), a vehicle with assisted driving or an automated guided vehicle.
[0010] In this context, vehicles with assisted or autonomous driving frequently plan a local path to avoid obstacles that are located in the vicinity of the vehicle. However, in many environments, planning of a local path is complicated on account of multiple factors, amongst which the presence of numerous people around the vehicle. In particular, in the cases where the vehicle operates in a very crowded environment, it is often- practically impossible to predict the movements of each person in the proximity of the vehicle, and hence the local path planned may not be the best one for avoiding the obstacles along the path successfully. Moreover, many environments are subject to numerous and frequent changes that may introduce new obstacles, remove some of the ones already present along the way, or else render necessary a new global path.
[0011] For these reasons, in very crowded environments and where frequent changes occur, such as an airport, a railway station, a hospital, or a shopping mall, it is not always possible to use automated vehicles to provide services of assistance to persons with reduced mobility, and, on the other hand, the use of vehicles controlled by respective drivers / operators is preferred. As is well known, using vehicles controlled by respective drivers entails management costs that are usually higher than the costs deriving from the use of automated guided vehicles, these higher costs limiting the capacity of services of assistance to persons with reduced mobility.
[0012] Object and summary
[0013] The object of the present disclosure is to provide solutions that enable the use of automated vehicles in the environments referred to above.
[0014] In order to achieve the aforesaid purpose, the subject of the solution is a method for controlling a plurality of automated vehicles having the characteristics specified in the annexed claim 1. The claims also regard a corresponding system for managing vehicle fleets.
[0015] The claims form an integral part of the technical teaching provided by the present solution.
[0016] As mentioned previously, various embodiments of the present disclosure regard solutions for controlling a plurality of vehicles in an operating environment. In particular, various embodiments of the present disclosure regard a system for managing fleets that comprises a plurality of vehicles with automated driving and / or assisted driving, such as a plurality of PMVs, and a co-piloting system. In general, the system for managing fleets carries out various operations that can be performed in part by the automated guided vehicles, and in part by the co-piloting system.
[0017] In various embodiments, the system for managing fleets acquires a plurality ride requests, where each ride request comprises data that indicate a starting point, data that indicate a point of arrival, and data that indicate a time limit of arrival. For instance, in various embodiments, the point of arrival may correspond to a room in a hospital, a platform in a railway station, or an airport gate. The ride request may comprise these data either explicitly or implicitly. For instance, in various embodiments, the ride request may comprise a booking code for a medical examination, a train code, or a flight code, and the system for managing fleets may obtain the point of arrival and the time limit of arrival on the basis of these codes. For instance, in various embodiments, the fleet-management system can obtain these data regarding the user from a remote processing system.
[0018] In various embodiments, the fleet-management system carries out a series of steps for each ride request.
[0019] In particular, in various embodiments, the fleet-management system associates the ride request to a respective vehicle with autonomous and / or assisted driving, and generates a respective mission that comprises the starting point and the point of arrival. Moreover, the fleet-management system determines for each mission one or more attention zones along the path between the starting point and the point of arrival. For instance, such areas may correspond to pre-set areas in the operating area, such as lifts or elevators, security areas, etc.
[0020] In various embodiments, the fleet-management system then determines, for each mission, one or more stretches / segments of path along the path between the starting point and the point of arrival. In particular, each stretch / segment of path may be associated to: a path between the respective starting point and one of the attention zones, a path between two of the attention zones, or a path between one of the attention zones and the respective point of arrival.
[0021] Consequently, in various embodiments, the fleet-management system generates for each mission a sequence of sub-missions that comprises, for each of the one or more stretches / segments of path, a respective sub-mission with autonomous and / or assisted driving mode and, for each of the one or more attention zones, a respective sub-mission with remote driving mode.
[0022] In various embodiments, the fleet-management system then estimates, for each sub-mission with remote driving mode and for each sub-mission with autonomous and / or assisted driving mode, a respective time of execution of the respective sub-mission. For instance, for this purpose, the fleet-management system may determine the length of each stretch / segment of path and / or use statistical data for the durations of the various sub-missions. Moreover, in various embodiments, the fleet-management system may obtain data regarding the operating environment, preferably from a so-called BMS (Building Management System).
[0023] In various embodiments, once the fleet-management system has estimated the times of the various sub-missions for each vehicle, it can plan execution of the sequences of sub-missions by associating the sub-missions with remote driving mode to one or more operators as a function of the times of execution of the sub- missions of each sequence of sub-missions.
[0024] In various embodiments, the fleet-management system then estimates, for each ride request, a respective estimated time of arrival as a function of planning of execution of the respective sequence of sub-missions, and determines whether the respective estimated time of arrival is later than the respective time limit of arrival. For instance, in the case where the respective estimated time of arrival is later than the respective time limit of arrival, the fleet-management system can generate a warning signal. Instead, when the respective estimated time of arrival precedes the respective time limit of arrival, the fleet-management system can execute the submissions with autonomous and / or assisted driving mode of the sequence of submissions by means of the vehicle with autonomous and / or assisted driving associated to the respective ride request. Moreover, during the sub-missions with remote driving mode, the fleet-management system can receive a control signal from the co-piloting system and control movement of the vehicle with autonomous and / or assisted driving associated to the respective ride request as a function of the control signal.
[0025] For instance, in various embodiments, the fleet-management system determines whether to operate the vehicle with autonomous and / or assisted driving in remote driving mode, detecting whether the position of the vehicle with autonomous and / or assisted driving in the operating environment is comprised in an attention zone. Consequently, in the other areas, the vehicle can be operated in autonomous and / or assisted driving mode. For instance, the vehicle can support both modes, and the fleet-management system can determine whether to operate the vehicle in autonomous driving mode or in assisted driving mode on the basis of control commands received via a user interface of the vehicle with autonomous and / or assisted driving. For instance, when the vehicle operates in assisted driving mode, it can display on a screen of its own a path defined by the mission or submission.
[0026] In various embodiments, the fleet-management system may also determine the state of health of a passenger by means of sensors for detecting the state of the passenger and operate the vehicle in remote driving mode when the passenger is not feeling well.
[0027] In various embodiments, to plan execution of the sequences of sub-missions the fleet-management system may take into consideration one or more of the data made available by the system. In the simplest case, the fleet-management system can plan the sub-missions with remote driving mode by means of a planning of a FIFO type. As an alternative, the fleet-management system associates to each mission a respective priority, for example as a function of the respective time limit of arrival, associating the highest priority to the mission having the earliest time limit of arrival. Consequently, in this case, the fleet-management system can plan the sub-missions with remote driving mode on the basis of the priority of the various missions. Finally, in various embodiments, the fleet-management system generates a plurality of different provisional plans, associating the sub-missions with remote driving mode to the one or more operators. Moreover, the fleet-management system calculates for each provisional plan the value of a cost function. For instance, the cost function can be determined as a function of the number of missions that have an estimated time of arrival that exceeds the respective time limit, and / or the summation of the differences between the respective time limit and the respective estimated time of arrival of each mission. Consequently, in various embodiments, the fleet-management system can determine the provisional plan that has an optimized (i.e., minimum or maximum) value for the cost function and use the provisional plan that has the optimized value.
[0028] In various embodiments, the fleet-management system can also verify whether a given vehicle is located in a pre-set position, and verify whether a passenger is on board the vehicle. In this case, the fleet-management system can interrupt the mission when the vehicle is located in the pre-set position and the passenger is not on board the vehicle. For instance, this enables interruption of the mission when the passenger is located in an area where restaurants are present, making the vehicle available for a new ride request.
[0029] Brief description of the drawings
[0030] The invention will now be described with reference to the annexed drawings, which are provided purely by way of non-limiting example and in which:
[0031] - Figure 1 shows a vehicle according to the solution described herein;
[0032] - Figure 2 shows a plurality of automated vehicles controlled by a copiloting system according to the solution described herein;
[0033] - Figure 3 shows a co-piloting system according to the solution described herein;
[0034] - Figure 4 shows an embodiment exemplifying a user interface of a copiloting system according to the solution described herein;
[0035] - Figure 5 shows a flowchart of a method for controlling a plurality of automated vehicles according to the solution described herein;
[0036] - Figure 6a shows a plan for a number of sub-missions according to an embodiment of the solution described herein;
[0037] - Figure 6b shows a plan for a number of sub-missions according to an embodiment of the solution described herein;
[0038] - Figure 6c shows a plan for a number of sub-missions according to an embodiment of the solution described herein; and
[0039] - Figure 7 shows a flowchart of a method for controlling a vehicle in an operating environment according to the solution described herein.
[0040] Detailed description
[0041] In the ensuing description various specific details are illustrated, aimed at enabling an in-depth understanding of the embodiments. The embodiments may be obtained without one or more of the specific details, or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not illustrated or described in detail so that various aspects of the embodiments will not be obscured.
[0042] Reference to “an embodiment” or “one embodiment” in the framework of the present description is intended to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is comprised in at least one embodiment. Hence, phrases such as “in an embodiment” or “in one embodiment” that may be present in various points of this description do not necessarily refer to one and the same embodiment. Moreover, particular conformations, structures, or characteristics may be combined in an adequate way in one or more embodiments.
[0043] The references used herein are provided merely for convenience and hence do not define the sphere of protection or the scope of the embodiments.
[0044] As mentioned previously, the present description provides solutions for controlling a plurality of vehicles in an operating environment.
[0045] Figure 1 shows an embodiment of a PMV 10 according to the present disclosure. In the embodiment considered, the vehicle 10 comprises a plurality of actuators 102, typically electric motors, which enable movement of the vehicle 10 itself. For instance, such actuators 102 may comprise (at least) two electric actuators 102a and 102b configured to cause rotation, respectively, of a first wheel 104a and a second wheel 104b of the vehicle 10. For instance, with reference to a wheelchair, the wheels 104a and 104b are typically the rear wheels. For instance, the actuators 102a and 102b may be motors configured for driving in rotation the shaft / hub of the respective wheel 104a or 104b. However, also known are solutions in which the actuators 102a and 102b are in contact with the rims or wheel covers 102a and 102b. For instance, this second solution is frequently used in so-called installation kits that enable transformation of a traditional wheelchair into an electric wheelchair. In this case, the directional movement of the vehicle 10 thus occurs via a different rotation of the wheels 104a and 104b. In general, the actuators 102 may also comprise one or more motors for moving the vehicle 10 forwards or backwards, and an additional auxiliary motor that enables steering of the vehicle 10.
[0046] In the embodiment considered, the vehicle 10 further comprises a control circuit 106 and a user interface 108. For instance, the user interface 108 may comprise a joystick, a touchscreen, or some other human-computer interface (HCI), such as an eye-tracker, i.e., a device for measuring eye positions and eye movement, or a head-tracking device, i.e., a device for monitoring the position and / or the movement of the user’s head. In particular, the user interface 108 is configured to issue a signal SI that identifies a direction of movement and possibly a speed of movement.
[0047] For instance, with reference to a vehicle without assisted driving, the control circuit 106 is configured for driving the electric actuators 102 via respective driving signals D, for example signals Da and Db for the actuators 102a and 102b, directly as a function of the control signal SI received from the user interface 108.
[0048] Instead, in a vehicle with assisted driving, the control signal SI is not supplied directly to the control circuit 106, but to a processing circuit 110, which is configured to issue a modified signal SI' to the control circuit 106, where the processing circuit 110 is configured for generating the modified signal SI' as a function of the signal SI and further signals S2 received from sensors 112. Typically, the processing circuit 110 comprises one or more microprocessors programmed via software code, and possible co-processors, for example FPGAs (Field-Programmable Gate Arrays) and / or co-processors for artificial intelligence.
[0049] In various embodiments, the sensors 112 comprise at least sensors 500 configured for generating signals S2 that enable detection of obstacles in the vicinity of the vehicle 10. For instance, the sensors 500 may comprise a SONAR (Sound Navigation and Ranging) system comprising, for example, one or more ultrasonic transceivers, and / or a LIDAR (Light Detection and Ranging) system, and / or ToF (Time of Flight) sensors. In addition or as an alternative, the obstacles can be detected by means of one or more cameras 502 configured to supply a sequence of images.
[0050] Consequently, in various embodiments, through detection of the distance and / or position of possible obstacles around the vehicle 10, the processing circuit 110 can generate the signal SI' by modifying the signal SI in such a way as to prevent the vehicle 10 from bumping into objects, thus implementing an objectavoidance function. For instance, in various embodiments, the processing system 110 can for this purpose plan a local path of the vehicle that avoids objects.
[0051] In various embodiments, the processing system 110 also detects the position of the vehicle 10 with respect to a map, which is, for example, stored in a memory 116 of the vehicle 10. For instance, frequently the state of the vehicle is identified via a position, a directi on / orientati on of the vehicle 10, and a speed of the vehicle 10. The person skilled in the art will appreciate that there are various well-known solutions for determining the state of a vehicle that is located outside or inside buildings. For instance, the state of the vehicle 10 may be determined via satellite data and / or odometry and / or triangulation, which renders a detailed description herein superfluous.
[0052] For instance, in various embodiments, the sensors 112 may comprise a satellite-navigation receiver 504, for example a GPS, GALILEO, and / or GLONASS receiver.
[0053] As an alternative or in addition, the sensors 112 may comprise sensors that supply data that can be used for odometry, i.e., the estimation of the movement of the vehicle 10 that is based upon information on displacement of the vehicle 10. For instance, such sensors 112 may comprise at least one of the following:
[0054] - sensors that enable measurement of the space covered by some of the wheels 104, for example encoders 114a and 114b configured to supply signals S2a and S2b identifying the rotations of the actuators 102a and 102b and / or of the wheels 104a and 104b;
[0055] - a sensor 506, for example a magnetic compass and / or an encoder, for detecting the orientation of the vehicle and / or the steering angle of the vehicle 10;
[0056] - a triaxial accelerometer and / or gyroscope 508 configured for detecting the axial and / or angular accelerations of the vehicle 10; and
[0057] - one or more cameras 502 configured to supply a sequence of images that can be used for a so-called visual odometry.
[0058] In various embodiments, the sensors 112 may also comprise a wireless receiver 510 configured for determining the distance of the vehicle 10 from a plurality of mobile-radio transmitters, for example as a function of the power of the mobile-radio signal, which can be used for an operation of triangulation.
[0059] For instance, by detecting the position of the vehicle, the processing system 110 can guarantee that the vehicle will circulate only within some permitted areas, avoiding forbidden areas. For instance, such a solution is described in the document EP 4 275 015, the contents of which are incorporated herein for reference.
[0060] As will be described in greater detail hereinafter, in various embodiments, the vehicle 10 may comprise further sensors 512 configured for acquiring data regarding a user of the vehicle 10 in order to monitor the state of health of the user. For instance, in various embodiments, the one or more passenger sensors 512 may comprise a camera configured for detecting images of the passenger’s face, heartrate monitors, blood-pressure sensors, and / or weight sensors.
[0061] In various embodiments, the vehicle 10 may also be an automated-guided vehicle, where the processing circuit 110 generates the signal SI' exclusively as a function of the signals S2 received by the sensors 112. In this case, the processing circuit 110 implements a navigation system that plans a global path for reaching a given destination (e.g., on the basis of a map, for example stored in the memory 116, and the position of the vehicle with respect to the map) and a local path used to avoid obstacles, such as pedestrians. Instead of using a map stored in the memory 116, the processing system 110 may obtain the global plan by communicating by means of a communication interface 118 with a remote server 30. For instance, AGVs are described in the documents US 10,052,246 B2 or US 2004 / 0006422 Al, which are incorporated herein for reference.
[0062] For instance, the communication interface 118 may comprise at least one of the following:
[0063] - an infrared transceiver;
[0064] - a short-range wireless transceiver, for example a Bluetooth® transceiver;
[0065] - a WiFi interface in accordance with the IEEE 802.11 standard;
[0066] - a transceiver for a mobile network, such as a GSM (Global System for Mobile Communications) transceiver, a CDMA (Code-Division Multiple Access) transceiver, a W-CDMA (Wideband Code-Division Multiple Access) transceiver, a UMTS (Universal Mobile Telecommunications System) transceiver, an HSPA (High-Speed Packet Access) transceiver, and / or an LTE (Long-Term Evolution) transceiver; and - any other bidirectional radio communication interface suitable for transmitting digital and / or analog signals.
[0067] In particular, as will be described in greater detail hereinafter, in various embodiments, the processing system 110 is configured for receiving, by means of the communication interface 118, control commands S3 from a device 20. For instance, the device 20 may be any electronic device capable of sending control commands through the communication interface 118, for example:
[0068] - a device, such as a mobile phone or a tablet, configured for sending data directly to the vehicle 10, for example via a Bluetooth® transceiver or a WiFi transceiver; or
[0069] - a device, for example a mobile phone, a tablet, or a remote computer, configured for sending data to the vehicle 10 through a LAN (Local- Area Network) or WAN (Wide-Area Network), for example the Internet; i.e., the vehicle 10 is connected, through the communication interface 118, to a LAN and / or WAN.
[0070] Consequently, in various embodiments, the processing circuit 110 may use the signal S3 instead of the signal SI, which enables an operator (close to the vehicle 10 or remote therefrom) to control the vehicle 10. In particular, in various embodiments, the vehicle 10 sends in this case one or more of the data acquired by means of the sensors 112, for example the images acquired by at least one camera 506, through the communication interface 118 to the remote device 20.
[0071] In particular, in various embodiments, the vehicle 10 may be used in two operating modes. In a first operating mode, the vehicle may be used as vehicle with assisted driving and / or autonomous driving. Instead, in a second operating mode, for example when given conditions are detected, an operator can take over, by means of a device 20, control of the vehicle 10, thus implementing co-piloting of the vehicle.
[0072] In particular, Figure 2 illustrates a situation in which a co-piloting system 20a is able to control a plurality of vehicles with assisted driving and / or autonomous driving 10 that are located in an operating environment 40, such as a structure like an airport, a railway station, or a hospital. For a description of such vehicles 10 reference may be made to the description of Figure 1.
[0073] As illustrated, in various embodiments, each vehicle 10 is associated to a co-piloting system 20a in such a way that a single co-piloting system 20a can control more than one vehicle 10. For instance, as described with reference to Figure 1, for this purpose, the communication interface 118 of each vehicle 10 and the co-piloting system 20a may be connected to the same communication network. In general, such a communication network may comprise a LAN and / or a WAN, for example the Internet. Consequently, the co-piloting system 20a may be in the operating environment 40 or be remote from the operating environment 40. However, in either case the co-piloting system 20a is remote from the area in which the vehicles 10 circulate, and consequently this co-piloting system 20a is referred to hereinafter also as remote co-piloting system 20a. For instance, the co-piloting system 20a may be configured for sending to a vehicle 10 a control signal S3, enabling remote control thereof by an operator.
[0074] In particular, in various embodiments, the operating environment 40 comprises at least one first area 400, in which a vehicle 10 can circulate via assisted driving and / or autonomous driving, and at least one second area 410, in which the guiding systems, for example the obstacle-avoidance function provided in a vehicle 10 might operate in an anomalous way and, consequently, intervention of a human operator may be preferable. The areas 410 will be referred to hereinafter as attention zones. For instance, in embodiments that are to operate in airports, each attention zone 410 may correspond, respectively, to a check-in kiosk, a security-check area, a lift or elevator, or else an embarkation gate.
[0075] For this purpose, the co-piloting system 20a enables control of the fleet of vehicles 10 that operate in the operating environment 40, in particular configuring the vehicles 10 that are located in an attention zone 410 to operate in a remote driving mode under the control of an operator. Specifically, the co-piloting system 20a is configured for planning the movements of the vehicles 10 in the operating environment 40 so as to associate, whenever necessary, an operator to a vehicle 10 so as to operate in remote driving mode. Details regarding the embodiments of the co-piloting system 20a will be provided in the following of the present description.
[0076] Moreover, in various embodiments, in the operating environment 40 there may be envisaged also one or more further areas 402, 404, and 408. In particular, in various embodiments, these areas can only be reached by a vehicle 10 by means of autonomous driving when the respective vehicle 10 is not used by a user / passenger.
[0077] For instance, designated by 404 in Figure 2 is a battery-charging area 404 for enabling charging of one or more vehicles 10. In particular, the charging area 404 may comprise one or more charging bases 406 for charging respective vehicles 10. Specifically, the charging bases 406 may comprise electrical contacts for charging and / or charging bases of an inductive type, hence without electrical contacts.
[0078] The operating environment 40 may also comprise a parking area 402 for enabling parking of one or more vehicles 10. In general, the aforesaid area 402 is purely optional because the charging area 404 may also correspond to the parking area 402.
[0079] In various embodiments, in the operating environment 40 there is also provided a maintenance area 408 for enabling execution of maintenance interventions on one or more vehicles 10 without requiring the need to leave the operating environment 40.
[0080] For instance, in various embodiments, the co-piloting system 20a may be configured for notifying one or more vehicles 10 to go to the charging area 404 to carry out battery charging, whenever necessary, or else for notifying one or more vehicles 10 not in use to go to the parking area 402. Specifically, the co-piloting system 20a may indicate to a vehicle 10 to move to a specific position of the operating environment 40 by sending a data packet, hereinafter referred to as “mission”, containing information for carrying out such a displacement, such as the starting point, the point of arrival, and optionally a time limit by which to complete displacement.
[0081] Figure 3 illustrates an embodiment of a co-piloting system 20a according to the solution described herein.
[0082] In various embodiments, the remote co-piloting system 20a comprises at least one display device 202, such as one or more screens, and at least one HID (Human Interface Device) 204, such as a keypad, a joystick, pushbuttons, levers, knobs, and / or pedals. The display devices 202 and the HIDs are connected to a processing system 200. In general, the processing system 200 comprises at least one computer, but may also comprise a plurality of computers; i.e., operation of the processing system 200 may be implemented also in a distributed manner, possibly also by means of one or more remote computers.
[0083] In various embodiments, the processing system 200 may comprise one or more microprocessors coupled to a volatile memory, such as a RAM (Random- Access memory), and an NVM (Non-Volatile Memory). In various embodiments, the processing system 200 may further comprise an artificial-intelligence- accelerator module, also known as NPU (Neural Processing Unit), which is configured to provide hardware acceleration for execution of one or more applications based upon artificial neural networks and is coupled to one or more NVMs. In turn, the artificial-intelligence-accelerator module may comprise nonvolatile memories, for example based upon memristors such as ReRAMs (Resistive Random-Access Memories), MRAMs (Magnetic Random-Access Memories), or else PCMs (Phase-Change Memories).
[0084] In various embodiments, the remote co-piloting system 20a further comprises at least one communication interface 206, which enables the processing system 200 to exchange data by means of a communication network 50, such as a LAN and / or WAN, with the vehicles 10 that are located in the operating area 40.
[0085] In particular, in various embodiments, the processing system 200 executes a software module 2000 that implements remote control of a selected vehicle 10.
[0086] For instance, in various embodiments, each vehicle 10 is configured for sending one or more data received via the sensors 112 and / or processed via the processing circuit 110 to the co-piloting system 20a. For instance, such data may comprise for each vehicle 10:
[0087] - the position of the respective vehicle 10 (see also the description of the sensors 502-510);
[0088] - data on possible obstacles in the vicinity of the vehicle (see also the description of the sensors 500-502);
[0089] - a video stream generated by the one or more cameras 502 of the vehicle 10; and
[0090] - data that identify the state of health of the passenger (see also the description of the sensors 512).
[0091] Moreover, in various embodiments, the control module 2000 receives, by means of one or more of the devices 204, control signals and sends to the selected vehicle 10 the signal S3 for controlling displacement of the selected vehicle 10. In alternative embodiments, the control module 2000 may include an application, which is configured for generating the control signal S3 without requiring input commands via the one or more user-interface devices 204 and is preferably based upon an artificial neural network.
[0092] For instance, Figure 4 illustrates an example of a screenful displayed on the screen 202. In particular, in the embodiment considered, the control module 2000 is configured for displaying on the screen 202:
[0093] - a first image 2020 that corresponds to an image acquired via a camera 502 that is mounted so as to frame the area behind the vehicle 10 to be controlled; - a second image 2022 that corresponds to an image acquired via a camera 502 mounted so as to frame the area in front of the vehicle 10 to be controlled; and
[0094] - a third image 2024 that shows a view from above of the vehicle 10 to be controlled, where possible obstacles that are located close to the vehicle 10 are highlighted.
[0095] In various embodiments, the control module 2000 is configured for displaying on the screen 202 also an area 2026 that comprises information that regards data on the state of the vehicle 10 and / or of the passenger.
[0096] In various embodiments, the control module 2000 is configured for exchanging data, by means of the at least one communication interface 206, also with further devices 422 in the operating environment 40, such as lifts or elevators and / or automatic doors, or other systems, such as air-conditioning systems, electrical wiring systems, lighting systems, and / or surveillance systems. For instance, for this purpose, the devices 422 may be connected to the network 50 and possibly use loT (Internet-of-Things) protocols. In addition or as an alternative, communication between the remote co-piloting system 20a and the devices 422 may be managed via one or more processing systems 420. Specifically, in various embodiments, the one or more processing systems 420 provided in the operating environment 40 may form a BMS (Building Management System) 420, which is configured for controlling systems and / or installations 422 provided in the operating environment 40. Consequently, also the exchange of data between the copiloting system 20a and the processing system 420 and / or the devices 422 may be obtained by means of a LAN 50 and / or a WAN. In various embodiments, such data received by the control module 2000 from the processing system 420 and / or from the one or more devices 422 are data regarding the operating environment 40.
[0097] In various embodiments, the control module 2000 may forward one or more of the data regarding the operating environment 40 to the one or more vehicles 10 in order to supply more complete information for processing of the path to be followed in the case where the vehicle 10 is operating in autonomous and / or assisted driving mode. Such data regarding the operating environment may include information on obstacles present in the operating environment 40 that the vehicle 10 has to avoid, for example acquired by means of a video-surveillance system or other systems and / or installations 422, and may be included in the control commands S3 transmitted to the vehicle 10. In the example considered, the vehicle 10 may use the data on obstacles present in the operating environment 40 for planning in advance the path to follow to pass through the operating environment 40, hence detecting the one or more obstacles before they appear within the range of the sensors 112 of the vehicle and adapting accordingly the plan of the path.
[0098] In various embodiments, the processing system 200 executes a storage software module 2002 configured for storing one or more of the data received from the vehicle 10 and / or the respective control commands S3 in a nonvolatile memory 208.
[0099] In particular, the data acquired may be used as training data for one or more neural networks, or in general for a machine-learning algorithm. For instance, the artificial-intelligence-accelerator module may be used for training one or more neural networks using the data acquired by the storage software module 2002 in order to provide an automated-guiding service in place of the operator.
[0100] Moreover, in various embodiments, the processing system 200 executes a planning software module 2004. In particular, the planning software module 2004 is configured for planning the paths of the vehicles 10 to reach a respective destination. For this purpose, the planning or scheduling module 2004 may receive data that indicate a destination for each vehicle 10 that is being used by a passenger. For instance, such data may indicate the number of a room in a hospital, a railwaystation platform or an airport gate. In various embodiments, the planning module 2004 may even receive just data regarding the user that enable determination of the destination. For instance, the data may indicate a train or flight number or code, and the planning module 2004 can access a database that enables determination of a respective platform or gate from the train or flight number or code.
[0101] Consequently, in various embodiments, the planning module 2004 can plan the paths to be followed by each vehicle 10 that is being used to reach the respective destination. In general, instead of calculating a path explicitly, the planning module 2004 may even just determine times for reaching certain intermediate destinations, for example in the case where the vehicle 10 is not using autonomous driving, but is using assisted driving. For this purpose, the co-piloting system 20a also acquires further information that regards the operating environment 40, such as crowding of specific areas in the operating environment 40, or such as waiting rooms and corridors. In general, such data may even be just statistical data based on the usual crowding on certain days and / or at certain times.
[0102] Likewise, the planning module 2004 may also plan paths for the vehicles 10 that are not in use, for example to reach a parking lot 402, a charging area 404, or else a position where a new passenger is located.
[0103] In various embodiments, the system moreover determines for each vehicle 10 that is being used a respective time limit DT for arrival at the respective destination. For instance, the time limit may correspond to the time scheduled for a medical examination at a hospital, the time of departure of a train, or a flight embarkation time. For instance, for this purpose, the co-piloting system 20a may acquire, via the database, not only the platform or gate for a given train or flight number, but also the respective departure time or embarkation time.
[0104] In the light of the foregoing, in what follows the principles of operation of the solution described herein will be illustrated through the description of various embodiments provided by way of example.
[0105] For this purpose, Figure 5 illustrates a flowchart of an embodiment of a method 900 for controlling one or more automated-guided vehicles 10 within the operating environment 40 according to the solution described herein. In particular, this method 900 may be implemented in the processing system 20a.
[0106] After a starting step 901, the planning module 2004 acquires, in a step 902, one or more ride requests 700 generated by respective users and / or operators. For instance, the ride requests 700 may be stored in a database, and a user and / or operator can enter new requests, for example by means of a mobile device, into the aforesaid database, for example using a website or a dedicated application.
[0107] As will be described in greater detail hereinafter, in various embodiments, the processing system 20a acquires, for each ride request, a respective time limit of arrival and a respective destination / point of arrival. Consequently, in general each ride request 700 may comprise these data.
[0108] As an alternative, each ride request 700 may in any case comprise data that enable determination of the time limit of arrival DT and a respective destination / point of arrival. For instance, in various embodiments, each ride request 700 can indicate a medical-examination booking number, a flight number, or a train number. Consequently, in this case, the processing system 20a can access a database, for example managed by the BMS 420, for acquiring, respectively, the medical-examination time, the flight embarkation time, or the train-departure time, i.e., the time limit of arrival DT. Likewise, the processing system 20a can access a database, for example managed by the BMS 420, for acquiring, respectively, the number of the surgery for the medical examination, the embarkation gate, or the railway platform, i.e., the destination / point of arrival. In various embodiments, on the basis of the ride requests 700 received, the planning module 2004 generates one or more missions 710, corresponding to each vehicle 10, which comprise a starting point, a point of arrival, a time limit, and an indication of priority.
[0109] In various embodiments, the indication of priority of a mission is calculated on the basis of the data acquired by the processing system 20a and possibly acquired by the BMS 420. For instance, in various embodiments, the indication of priority of a mission is calculated as a function of the time limit of arrival DT in such a way as to assign the maximum priority to the trip having the earliest time limit of arrival.
[0110] Next, in a step 903, the planning module 2004 divides each mission 710 into one or more sub-missions with autonomous and / or assisted driving mode 711 and one or more sub-missions with remote driving mode 712, which comprises a starting point, a point of arrival, and an estimated time of arrival ETA.
[0111] In particular, in various embodiments, the system 20a is configured for dividing the mission 710 into a number of sub-missions whenever the path corresponding to a given trip passes through an attention zone 410, namely, a first sub-mission 711 to reach the attention zone 410 in autonomous and / or assisted driving mode, and a second sub-mission 712 to pass through the attention zone 410 in remote driving mode. For instance, an embodiment of the co-piloting system 20a used in an airport may divide, in step 903, a path associated to a ride request 700 into a number of stretches / sub-missions that comprise:
[0112] - a sub-mission with autonomous and / or assisted driving mode 711 to reach, from the position of the passenger, a first attention zone 410 corresponding to a check-in area;
[0113] - a sub-mission with remote driving mode 712 to pass through the check-in area;
[0114] - a sub-mission with autonomous and / or assisted driving mode 711 to reach, from the check-in area, a second attention zone 410 corresponding to an area of security checks;
[0115] - a sub-mission with remote driving mode 712 to pass through the securitycheck area;
[0116] - a sub-mission with autonomous and / or assisted driving mode 711 to reach, from the security-check area, a third attention zone 410 corresponding to an embarkation gate; and
[0117] - optionally a sub-mission with remote driving mode 712 to pass through the area of the embarkation gate.
[0118] Consequently, in various embodiments, the co-piloting system 20a sends at least the sub-missions 711 with autonomous and / or assisted driving mode to the respective vehicle 10. In general, is not necessary for the co-piloting system 20a to send all the data, but at least the destination of each sub-mission 711 and 712. Consequently, in autonomous driving mode, the vehicle 10 can use the destination data to reach the destination of each sub-mission, for example the next attention zone. Instead, in the assisted driving mode, the vehicle 10 can display on a screen of its own the path to be followed by the passenger to reach the next destination.
[0119] In such a way, it is possible to associate to each stretch / segment, and hence to each corresponding sub-mission 711 or 712, a preferred operating mode of the vehicle 10, namely, autonomous / assisted driving mode or else remote driving mode, and, in particular, associate to the sub-missions 712 that have a starting point and a point of arrival included in an attention zone 410 the remote driving mode, as will be illustrated in further detail in the sequel of the present description. Specifically, the sub-missions 711 can be stored in a memory of the processing system 200 and / or in a memory 116 provided inside the vehicle 10 by means of purposely provided data structures, such as queues or lists.
[0120] Moreover, in step 903 possible further sub-missions 711 or 712 are added, necessary for completion of the mission 710. Such further sub-missions 711 may comprise displacements of the vehicle 10 up to the point where the passenger is picked up, waiting times in a given place, or else displacements to a charging area 404. In particular, a sub-mission 711 indicating a displacement into a charging area 404 can be generated in response to the indication that the state of battery charge of a vehicle 10 is below a given threshold.
[0121] Consequently, in a step 904, the planning module 2004 makes an estimation of the time of arrival ETA for each sub-mission with autonomous and / or assisted driving mode 711 and for each sub-mission with remote driving mode 712 acquired in the previous step 903, saving the results found as estimated arrival times for each respective sub-mission 711 and 712. In particular, calculation of the estimated time of arrival ETA for each sub-mission with autonomous and / or assisted driving mode 711 may include data acquired by the BMS 420 in order to obtain a more precise prediction of the time of arrival. For instance, in an embodiment that is to be used in airports, the planning module 2004 can acquire from the airport BMS 420 data regarding crowding of corridors to determine the estimated time of arrival of a sub- mission for going along a corridor, or else data regarding the number of people queuing at the security checks to determine the estimated time of arrival of a submission for getting through the security checks.
[0122] As will be illustrated in greater detail in the following of the present description, the sub-missions 712 are managed by an operator who controls the vehicle 10 by means of remote driving. In such cases, the estimated time of arrival ETA may also be calculated on the basis of data gathered by the data-storage module 2002, provided that there have been previously stored data regarding sub-missions that have been completed and that have starting points and points of arrival that are similar.
[0123] At this point, the planning module 2004 has available the data necessary for planning the trips in the operating environment 40, i.e., one or more sub-missions with autonomous and / or assisted driving mode 711 and one or more sub-missions with remote driving mode 712 that correspond to respective stretches of one or more paths, each sub-mission 711 and 712 comprising a starting point, a point of arrival, and an estimated time of arrival.
[0124] Then, in a step 905, the planning module 2004 elaborates a first plan in such a way as to assign in an optimal way the one or more operators to the sub-missions 712 that are included, at least partially, in one or more attention zones 410. In particular, if all the operators are engaged in a sub-mission with remote driving mode, it is necessary to wait for at least one operator to become available again in order to proceed to planning of a further sub-mission, the waiting time being defined by the earliest estimated time of arrival of a sub-mission currently in progress. Hence, in a case provided by way of example where four operators operate in a controlled environment 40, such as an airport, if all four operators are engaged in performing sub-missions with remote driving mode, the planning unit 2004 inserts a waiting sub-mission 713 until an operator becomes available again, before planning a further sub-mission with remote driving mode 712. In particular, this system advantageously enables an operator to control more than one vehicle 10 operating in remote driving mode. Specifically, the plan may be stored in a memory of the processing system 200 by means of a suitable data structure, such as a list, a queue, a heap or else, preferably, a priority queue, configured for saving one or more sub-missions 711 and 712 that make up the plan, or else be stored in the memory 116 of the vehicle 10. For instance, possible plans are illustrated in Figures 6a, 6b, and 6c, the details of which will be discussed more fully in the sequel of the present description.
[0125] On the basis of the first plan made in step 905, in a step 906 the planning module 2004 calculates the estimated time of arrival ETA for each mission 710. In particular, the estimated time of arrival for a given mission is obtained by adding the estimated durations of the sub-missions with autonomous and / or assisted driving mode 711 and of the sub-missions with remote driving mode 712, also considering the waiting sub-missions 713 inserted in step 905.
[0126] Optionally, the planning module 2004 evaluates, in a step 907, a cost function 720, such as a function that evaluates the number of missions 710 that have the estimated time of arrival ETA that exceeds the time limit DT, and / or a function that evaluates the summation of the difference between the time limit DT and the estimated time of arrival ETA for each mission. Specifically, the value assumed by the cost function 720 may be used in the method 900 described herein for implementing an optimization procedure, as will be discussed in further detail in the sequel of the present description.
[0127] Next, in a step 908, the planning module 2004 evaluates whether it is necessary to repeat planning of the sub-missions, i.e., the operations performed in steps from 904 to 907. Specifically, it may be necessary to repeat planning of the sub-missions in order to obtain a more efficient plan. For this purpose, in step 908, the planning module 2004 checks whether the result obtained in step 907 from the cost function 720 is optimal, i.e., indicatively close to a point of minimum or maximum, for example using the gradient-descent method. Optionally, in step 908 there may be included further optimization measures, such as pruning techniques designed to reduce the number of iterations necessary to obtain an optimal plan.
[0128] In response to detection of the fact that the value of the cost function 720 is not optimal, i.e., not close to a point of minimum or maximum, the planning module 2004 returns to step 904 of the method 900 so as to re-calculate the plan of the submissions until the optimal plan is achieved. In alternative embodiments, the planning module 2004 can resume execution of the method 900 from step 905.
[0129] Instead, in response to detection of the fact that the value of the cost function 720 is close to a point of maximum or minimum and that hence the plan of the submissions is optimal, the method proceeds to a step 909.
[0130] In step 909, the planning module 2004 checks, for each mission 710 present in the plan, whether one or more missions are present that have the respective estimated time of arrival ETA that exceeds the respective time limit DT and, if there are, sends in a step 910 a notification to the operator through the one or more screens 202. If, instead, there are not, the method terminates in a step 911.
[0131] In various embodiments, the method 900 described herein is executed by means of the processing system 200 of the co-piloting system 20a, where, specifically, the planning module 2004 is configured for implementing the steps of this procedure. In particular, the planning module 2004 may be configured for invoking and executing periodically the method 900 so as to acquire and process at regular time intervals the ride requests 700 entered into the co-piloting system 20a.
[0132] At the same time as execution of the method 900 in the co-piloting system 20a, the one or more vehicles 10 execute a complementary method 1000, the corresponding flowchart being illustrated in Figure 7.
[0133] After a starting step 1001, where the one or more sub-missions 711 and 712 planned by the co-piloting system 20a are obtained, preferably via the communication network 50 to which both the vehicle 10 and the co-piloting system 20a are connected, the vehicle 10 determines, in a step 1002, whether to operate in autonomous / assisted driving mode or else in remote driving mode. In particular, the vehicle 10 can receive from the processing system 200, more specifically from the planning module 2004, a directive to operate in remote driving mode, for example, associated to performing a sub-mission 712 having a starting point and a point of arrival comprised in an attention zone 410. As an alternative, the vehicle 10 can establish whether to operate in remote driving mode if it detects that its own position is comprised in an attention zone 410, for example by means of the sensors 500 or via odometry. For instance, intervention by an operator can be detected on the basis of the position of the vehicle 10 in the operating environment 40 where the service is active and, in particular, along the path designated in the ride request. In addition, the intervention by an operator might be necessary in the case where the passenger sensors 512 provided on the vehicle 10 signal that the passenger is not feeling well. In particular, in the case where such a state of the passenger is detected, it may be necessary to draw up a new plan of the sub-missions in remote driving mode 712 in conformance with the present solution, in particular repeating the operations performed in steps from 904 to 907. Specifically, detection of the passenger not feeling well is an event that is difficult to predict and that requires immediate intervention by an operator, who consequently assumes control over the vehicle. Hence, in response to detection of a user not feeling well, the planning module 2004 assigns an operator to the vehicle 10 of that user and again draws up a plan so that the remaining operators can start again in an optimal way.
[0134] Consequently, in response to determination of operation in remote driving mode, the vehicle 10 proceeds to a step 1010, where, according to the solution described herein, a request for remote driving is sent to the processing system 200 for the operator charged with fulfilling this request. Instead, in response to determination of operation in autonomous or assisted driving mode, the vehicle 10 proceeds to a step 1003.
[0135] In step 1003, the vehicle 10 determines whether to operate in autonomous driving mode or else in assisted driving mode. Specifically, the vehicle 10 can establish operation in assisted driving mode in the case where it detects inputs by the user by means of the one or more user-interface devices 108. For instance, the vehicle 10 can determine operation in assisted driving mode in response to detection of inputs by the user by means of a control joystick of the vehicle 10. In response to determining operation in autonomous driving mode, the vehicle 10 proceeds to a step 1009, where it carries out the mission assigned in autonomous driving mode. Instead, in response to determining operation in assisted driving mode, the vehicle 10 proceeds to a step 1004.
[0136] In step 1004, the vehicle 10 displays on a screen of its own a map of the operating environment 40 so as to facilitate navigation in the operating environment 40 by the user.
[0137] Next, in a step 1005, the vehicle 10 verifies whether its own position is along the path calculated for the sub-mission 711 currently in progress and / or the mission 710 currently in progress. In particular, checking whether the position of the vehicle 10 is along the calculated path enables detection of possible deviations from the suggested path in order to prevent or signal improper use of the vehicle 10 by the user. For instance, during the trip, the user can decide to make diversions from the path programmed in the ride request to make a stop at public conveniences or enter commercial premises present in the operating environment 40.
[0138] In response to the vehicle 10 detecting, in step 1005, that its position is located along the path, the method continues to a step 1008, where a check is made to verify whether the point of arrival has been reached. If it has not, the vehicle 10 returns to step 1004 of the present method in order to reiterate the steps described above until the desired point of arrival is reached. Instead, in response to detecting that it has reached the point of arrival, the vehicle 10 proceeds to a step 1011.
[0139] With reference to step 1005, where a check is made to verify whether the vehicle 10 is located along the designated path, in response to the vehicle 10 detecting that it is not located along the path designated in the mission 710, and hence is making a diversion from the calculated path, the vehicle 10 itself continues execution of the method in a step 1006.
[0140] For instance, in various embodiments, in response to determining that its own position is not along the calculated path, i.e., that the user is making a diversion, the vehicle 10 verifies, in step 1006, by means of the sensors for determining the state of the passenger 512, whether the user is on board the vehicle or not. In particular, one or more sensors, for example weight sensors, may be appropriately arranged on board the vehicle 10 in order to detect the presence of a passenger. For instance, in response to the detection that the passenger is not on board, the vehicle 10 proceeds to a step 1007, where the mission currently in progress is cancelled, and then to a step 1012, where the method terminates. Preferably, step 1007 is executed only when the vehicle is in given areas, for example close to a restaurant. In fact, in this way, a user can reach a restaurant, and the vehicle is again made available for a new passenger. Consequently, once the user has finished his meal, he can make a request for a new ride (see the description of the requests 700).
[0141] Instead, if in step 1006 the vehicle 10 detects that the passenger is on board, it returns to step 1004 of the present method in order to reiterate the steps described above until the desired point of arrival is reached also in the case considered, where the user is making a diversion but has not gone away from the vehicle 10.
[0142] In step 1011, which may follow steps 1008, 1009, or 1010 described above, the vehicle 10 checks whether it has arrived at the final destination indicated in the mission 710 currently in progress and, if it has not, it returns to step 1001 of the method 1000, so as to repeat entirely execution of the method for the next submission. Instead, if the vehicle 10 detects arrival at the final destination indicated in the mission 710 currently in progress, the method terminates in a step 1012. In particular, the method 1000 described above is intended to be executed from the moment when a vehicle 10 receives a mission 710 up to completion of the mission 710 itself, hence up to completion of all the sub-missions 711 and 712 into which the given mission 710 has been divided, in conformance with what has been described previously. Specifically, one or more iterations of the method 1000 described herein are necessary to complete a given mission assigned to the vehicle 10. In various embodiments, the method 1000 described herein is executed in the vehicle 10, specifically by means of the processing circuit 110. In a way similar to the case of the method 900 implemented by the co-piloting system 20a, the method 1000 may be invoked and executed at regular intervals so as to guarantee that each vehicle 10 can operate in conformance with the present solution according to the instructions received from the co-piloting system 20a and according to its position in the operating environment 40.
[0143] In order to facilitate understanding of the present description, an example will be now presented in which a user interacts with an embodiment of the present solution, provided by way of example, that regards airports. In particular, a user enters an airport, hence an operating environment 40, and forwards to the copiloting system 20a a ride request 700 by means of a terminal set in the neighbourhood of the entrance to the airport, or else by means of an application installed on his own mobile phone, the ride request 700 comprising the data necessary for planning the ride, such as the starting point and the point of arrival. Specifically, the point of arrival can be established on the basis of the data entered by the user, which may comprise data regarding the flight booked by the user, such as the flight number. Consequently, the co-piloting system 20a, in conformance with step 902 of the method 900 described above, receives the ride request 700 and generates a mission 710 having as starting point the position designated by the user, as point of arrival the gate associated to the flight that the user has booked, which is determined from the data obtained by the airport BMS 420, as time limit DT the time of closing of the gate, which is likewise obtained by the airport BMS 420, and assigns to the mission 710 an indication of priority on the basis of the respective time limits of other missions 710 entered in the co-piloting system 20a.
[0144] Next, in conformance with step 903 of the method 900, the co-piloting system 20a generates a path from the starting point to the point of arrival, and divides it into one or more stretches / segments on the basis of the attention zones 410 that are to be passed through. As mentioned previously, in an airport there may be designated as attention zones the check-in areas, the areas assigned to security checks, the lifts, and the embarkation gates. Consequently, the co-piloting system 20a generates sub-missions with autonomous and / or assisted driving mode 711 and sub-missions with remote driving mode 712, which correspond, respectively, to the obtained stretches / segments that do not require any intervention by an operator and stretches that require the operator. Consequently, in conformance with step 904, the co-piloting system 20a calculates the durations for each sub-mission 711 and 712 obtained in the previous step. In particular, in this step, the co-piloting system 20a can communicate with the airport BMS 420 to obtain data useful for estimation of the durations, such as the length of the queues that have built up in the check-in areas and in the areas assigned to security checks.
[0145] Next, the co-piloting system 20a draws up a first plan of the sub-missions 711 and 712 in conformance with step 905 of the method 900, setting the submissions 711 and 712 in the order of execution required to complete the trip. In the example considered, there may be present a further mission 710a that has an indication of priority higher than the indication of priority of the mission 710 generated by the user considered, and that hence has the priority in assignment of the operator to the respective sub-missions 712a where driving in remote mode is requested. Consequently, in the case where there is only one operator available, the co-piloting system 20a inserts a waiting sub-mission 713 in the plan of the submissions so as to wait for the operator to complete the sub-missions in remote driving mode 712a and become available again to carry out the sub-missions 712 of the mission 710 considered in the present example.
[0146] Next, the co-piloting system 20a, in conformance with step 906 of the method 900, calculates the estimated time of arrival for the mission 710 generated by adding up the estimated arrival times for each sub-mission 711 and 712, in particular also considering the waiting sub-mission or sub-missions 713 inserted in the previous step.
[0147] Possibly, in the case where an optimal plan is not obtained at a first iteration of the method 900, the co-piloting system 20a carries out steps 907 and 908 of the method and reiterates steps 904, 905 and 906 until an optimal plan is obtained, i.e., until an optimized value is obtained from the cost function 720, hence a value close to a respective point of maximum or minimum.
[0148] Finally, the co-piloting system 20a checks, in accordance with step 909 of the method 900, that the estimated time of arrival ETA for the mission 710 does not exceed the time limit DT, obtained in step 902, and, if it does not, terminates execution of the method 900.
[0149] At the same time, a vehicle 10 operating in the operating area 40 that carries out the method 1000 described above receives the sub-missions 711, 712 and 713 from the co-piloting system 20a in the order established by the plan drawn up, in conformance with step 1001 of the method 1000.
[0150] Next, for each sub-mission 711, 712 and 713 received, the vehicle 10 verifies whether to operate in remote driving mode, hence under control of the operator, in conformance with step 1002 of the method 1000, and then whether to operate in assisted driving mode, in conformance with step 1003 of the method 1000. For instance, a sub-mission 712 having as starting point the entrance to the area assigned to security checks and as point of arrival the exit from the securitycheck area, will be fulfilled in remote driving mode and with the aid of the operator in so far as the starting point and the point of arrival are comprised in a designated attention zone 410 in the operating environment 40.
[0151] Instead, in a sub-mission 711 having as starting point the entrance to the airport and as point of arrival a corridor, the vehicle 10 can operate in autonomous driving mode or else in assisted driving mode. For instance, if the user, along the path from the entrance to the airport up to the corridor indicated wishes to drive the vehicle 10 manually, he supplies inputs to the vehicle 10 through the user interface 108. In response to detecting inputs, the vehicle 10 determines that operation in assisted driving mode, in conformance with step 1003 of the method 1000, is required and accordingly configures the vehicle, in step 1004, to display the path on a screen on board the vehicle 10 itself.
[0152] Next, if the user decides to make a diversion from the calculated path, the vehicle 10 checks, in conformance with step 1005 of the method 1000, whether the user is on board the vehicle until the latter reaches the destination of the sub-mission 711 currently in progress, or else until the user gets off the vehicle. In response to detecting that the user has got off the vehicle while a diversion from the calculated path is in progress, the vehicle 10 puts an end to the mission currently in progress, in step 1007 described above. Instead, if the user does not get off the vehicle 10, when the vehicle 10 reaches the destination of the sub-mission 711 it repeats the method 1000 for the next sub-mission in the plan, until the destination indicated in the mission 710 is reached, in conformance with step 1011 of the method 1000.
[0153] With reference to Figures 6a, 6b, and 6c, in what follows three possible examples of planning obtained by different embodiments of the solution described herein will be discussed, in particular a first planning procedure, illustrated in Figure 6a, obtained by a planning module 2004 that implements a planning policy of a FIFO (First In, First Out) type, a second planning procedure, illustrated in Figure 6b, obtained by a planning module 2004 that implements a priority-queue planning policy, and a third planning procedure, illustrated in Figure 6c, obtained by a planning module 2004 that implements a plan-optimization routine.
[0154] In particular, illustrated in Figure 6a is a planning method obtained by means of embodiments of the present solution with the FIFO queues. A first user, denoted by the reference Ul, sends a ride request 700ui, and the planning module 2004 generates accordingly a mission 710ui comprising respective sub-missions 711ui or 712ui. As illustrated in Figure 6a, the mission 710ui comprises eight submissions, denoted by the references from 711ui,i or 712ui,i to 711ui,s or 712ui,s, corresponding to different stretches / segments of a path that the user Ul must follow in the operating environment 40, i.e., an airport in the example considered, to arrive from a pick-up point to the desired embarkation gate.
[0155] Specifically, the sub-mission 711ui,i corresponds to a first stretch of the path, which has as starting point the point where the user is picked up and as destination the entrance to a check-in area. The sub-mission 712UI,2 corresponds to a second stretch of the path, which has as starting point the entrance to the checkin area and as destination the exit from the check-in area. In particular, the checkin areas of an airport may be considered as attention zones 410, in which the intervention by an operator is necessary to drive the vehicle 10 in remote driving mode. A third sub-mission 71 lui,3 corresponds to a path segment that has as starting point the exit from the check-in area and as destination the entrance to the securitycheck area. Next, a fourth sub-mission 712UI,4 is planned having as starting point the entrance to the security-check area and as destination the exit from the securitycheck area. As for the sub-mission 712UI,2, the fourth sub-mission 712UI,4 designates a stretch of the path that develops in an attention zone 410, i.e., the security-check area. Consequently, also for execution of the fourth sub-mission 712UI,4, the intervention by an operator is necessary to drive the vehicle 10 in remote driving mode. Next, a fifth sub-mission 711UI,5 is planned that refers to a path segment having as starting point the exit from the security-check area and as destination entry to a lift or elevator. A sixth sub-mission 712UI,6 covers displacement in the lift or elevator, for example from the ground floor to a first floor of the operating environment 40, the lift or elevator being designated as attention zone 410. A seventh sub-mission 711UI,7 corresponds to a path segment having as starting point the exit from the lift or elevator and as destination the entrance to the embarkation gate desired by the user. Finally, an eighth sub-mission 712ui,s comprises displacements in the proximity of the embarkation gate, designated as attention zone 410 and consequently requiring intervention by the operator for controlling the vehicle 10 in remote driving mode.
[0156] In the example of Figure 6a considered, also planning of a mission 710u2 is illustrated, generated by the planning module 2004 following upon receipt of a ride request 700u2 generated by a second user U2. In particular, the mission 710u2 refers to a path different from that of the first mission 710ui. The sub-missions, denoted by the references from 711U2,I or 712U2,I to 711u2,6 or 712u2,6, hence comprise: a first sub-mission 711U2,I corresponding to a stretch from the pick-up point to the entrance to the check-in area; a second sub-mission 712u2,2 corresponding to a stretch from the entrance to the check-in area to the exit from the check-in area, which hence requires intervention by an operator for it to be executed; a third submission 711U2,3 corresponding to a stretch from the exit from the check-in area to the entrance to the security-check area; a fourth sub-mission 712u2,4 corresponding to a stretch from the entrance to the security-check area to the exit from the securitycheck area, which hence requires intervention by an operator; a fifth sub-mission 711U2,5 corresponding to a stretch from the exit from the security-check area to the entrance to the embarkation gate; and, finally, a sixth sub-mission 712u2,6 corresponding to the displacements in the proximity of the embarkation gate, which hence requires intervention by the operator to operate the vehicle 10 in remote driving mode.
[0157] In particular, it is highlighted that the first mission 710ui is generated before the second mission 710u2, and is hence entered first in the co-piloting system 20a.
[0158] On the basis of the two missions 710ui and 710u2 received, the planning module 2004 schedules, in the order denoted by the reference CPI of Figure 6a, the interventions required of the operator according to a FIFO policy, hence ordering execution of the sub-missions on the basis of the order with which they are received.
[0159] As illustrated, the plan CPI comprises, in the following order: the submission 712UI,2; the sub-mission 712u2,2; the sub-mission 712UI,4; the sub-mission 712U2,4; the sub-mission 712ui,e; the sub-mission 712ui,s; and the sub-mission 712U2,6.
[0160] Next, in conformance with step 905 of the method 900, the planning module 2004 inserts, where necessary, the waiting sub-missions 713. In the example considered, the planning module 2004 inserts: a first waiting sub-mission 713U2,I between the sub-mission 711U2,I and the sub-mission 712u2,2; a second waiting submission 713ui,i between the sub-mission 711UI,5 and the sub-mission 712ui,e; and, finally, a third waiting sub-mission 713u2,2 between the sub-mission 71 lu2,5 and the sub-mission 712u2,6. In particular, from Figure 6a it is possible to appreciate the durations of the sub-missions with autonomous and / or assisted driving mode 711, of the sub-missions requiring the operator 712, and of the waiting sub-missions 713 discussed above, represented by the lengths of the blocks representing each submission.
[0161] Hence, as illustrated, in order to plan the sub-missions 711 and 712 according to a FIFO policy, the planning module 2004 inserts the waiting submissions 713, which terminate at the estimated times of arrival of the sub-missions 712 that require intervention by an operator, which can be recognized in Figure 6a from the grey colour, so that the operator becomes available again and can take over remote control of the vehicle 10. As anticipated, in the example considered, the FIFO policy is applied to the sub-missions in order that the operator will carry out the aforesaid sub-missions following the order of receipt.
[0162] In fact, as illustrated, the first sub-mission to be performed with remote driving mode, i.e., the sub-mission 712UI,2, is taken over first by the operator, and at the same time a waiting sub-mission 713U2,I is inserted between the end of the sub-mission 711U2,I, which forms part of the mission 710u2 requested by the user U2, and the sub-mission 712u2,2, the duration of which is defined by the difference between the time of end of the sub-mission 712UI,2 and the time of end of the submission 71 lu2,i, or more in general by the difference between the time of end of the sub-mission 711 that precedes the sub-mission to be performed in remote driving mode currently pending and the sub-mission 712 to be performed in remote driving mode currently in progress. Next, the same operation is repeated for the sub-mission 711UI,5, after which a waiting sub-mission 713ui,i is inserted that starts at the end of the sub-mission 711UI,5 and terminates at the end of the sub-mission 712u2,4 in such a way as to enable execution of the sub-mission 712UI,6 as soon as the submission 712U2,4 terminates, and hence the operator is ready to receive a new submission to be performed. Likewise, the planning module 2004 inserts a last waiting sub-mission 713u2,2 in the mission 710u2, after the end of the sub-mission 711u2,5 and terminating at the end of the sub-mission 712ui,s, thus enabling execution of the sub-mission 712u2,6.
[0163] However, the use of a FIFO policy for planning the various sub-missions may cause a scheduling that is far from optimized, with the risk of the users reaching their respective destinations after the time limit, thus causing drawbacks, such as missing the flight in the case in point of an airport. Consequently, in some scenarios it may be convenient to adopt planning policies different from FIFO queues.
[0164] For this purpose, Figure 6b illustrates a planning method obtained by means of embodiments of the present solution in which the missions 710 and the respective sub-missions 711 and 712 comprise an indication of priority, established on the basis of the time limit defined for the mission. For instance, in various embodiments an indication of higher priority is assigned to the mission having the earliest time limit so that the respective sub-missions will be performed before other submissions corresponding to missions that have an indication of lower priority. As for the planning method illustrated in Figure 6a, a first user, designated by the reference Ul, sends a ride request 700ui, and the planning module 2004 generates accordingly a mission 710ui comprising respective sub-missions 711ui and 712ui. As illustrated in Figure 6b, the mission 710ui comprises eight sub-missions, denoted by the references from 711ui,i or 712ui,i to 711ui,s or 712ui,s, corresponding to different stretches of a path that the user Ul must follow in the operating environment 40, i.e., an airport in the example considered, to arrive from a pick-up point up to the desired embarkation gate.
[0165] Specifically, the first sub-mission 711ui,i corresponds to a first stretch of the path, from the point where the user Ul is picked up to the entrance to a check-in area, the second sub-mission 712UI,2 corresponds to a second stretch of the path from the entrance to the check-in area to the exit from the check-in area and requires intervention by an operator to drive the vehicle 10 in remote driving mode. A third sub-mission 711UI,3 corresponds to a path segment from the exit from the check-in area to the entrance to the security-check area. A fourth sub-mission 712UI,4 corresponds to a path segment from the entrance to the security-check area to the exit from the security-check area. As for the sub-mission 712UI,2, the fourth submission 712UI,4 designates a stretch of the path that develops in an attention zone 410, i.e., the security-check area; consequently, also for execution of the fourth submission 712UI,4, intervention by an operator is necessary to drive the vehicle 10 in remote driving mode. Next, a fifth sub-mission 71 lui,5 is planned referring to a path segment from the exit from the security-check area to entry to a lift or elevator. A sixth sub-mission 712UI,6 covers displacement in the lift or elevator, for example from a ground floor to a first floor of the operating environment 40, the lift or elevator being designated as attention zone 410. A seventh sub-mission 711UI,7 corresponds to a path segment from exit from the lift or elevator to the entrance to the embarkation gate desired by the user. Finally, an eighth sub-mission 712ui,s comprises displacements in the proximity of the embarkation gate, designated as attention zone 410 and consequently requiring intervention by the operator for controlling the vehicle 10 in remote driving mode.
[0166] Also illustrated in the example of Figure 6b considered is planning of a mission 710u2, generated by the planning module 2004 following upon receipt of a ride request 700u2 generated by the second user U2. In particular, the mission 710u2 refers to a path different from that of the first mission 710ui. The sub-missions, denoted by the references from 711U2,I or 712U2,I to 711u2,6 or 712u2,6, hence comprise: a first sub-mission 711U2,I corresponding to a stretch from the pick-up point to the entrance to the check-in area; a second sub-mission 712u2,2 corresponding to a stretch from the entrance to the check-in area to the exit from the check-in area, which hence requires intervention by an operator for it to be executed; a third sub-mission 711u2,3 corresponding to a stretch from the exit from the check-in area to the entrance to the security-check area; a fourth sub-mission 7 I 2U2.4 corresponding to a stretch from the entrance to the security-check area to the exit from the security-check area, which hence requires intervention by an operator; a fifth sub-mission 711u2,5 corresponding to a stretch from the exit from the security-check area to the entrance to the embarkation gate; and, finally, a sixth sub-mission 712u2,6 corresponding to the displacements in the proximity of the embarkation gate, which hence requires intervention by the operator to operate the vehicle 10 in remote driving mode.
[0167] As for the example illustrated in Figure 6b, the first mission 710ui is received by the planning module 2004 before the second mission 710u2. However, it may be noted from the respective time limits, denoted by the references DTui and DTU2, that to the mission 710u2 a higher priority is assigned in so far as the time limit DTU2 precedes the time limit of the mission 710ui, DTui. Consequently, in performing sub-missions where intervention by an operator is required, the submissions of the mission 710u2 will have priority over the sub-missions of the mission 710ui in the cases where these coincide.
[0168] Hence, on the basis of the two missions 710ui and 710u2 received, the planning module 2004 schedules, in the order denoted by the reference CP2 of Figure 6b, the interventions required of the operator according to a priority-queue policy, hence ordering execution of the sub-missions on the basis of the priority and according to the order in which they are received. As illustrated, the planning method CP2 comprises, in the following order: the sub-mission 712u2,2; the sub-mission 712UI,2; the sub-mission 712u2,4; the submission 712UI,4; the sub-mission 712u2,e; the sub-mission 712ui,e; and the submission 712UI,8.
[0169] Next, in conformance with step 905 of the method 900, the planning module 2004 inserts, where necessary, the waiting sub-missions 713. In the example considered, the planning module 2004 inserts: a first waiting sub-mission 713ui,i between the sub-mission 711ui,i and the sub-mission with remote driving mode 712UI,2; a second waiting sub-mission 713UI,2 between the sub-mission 711UI,3 and the sub-mission with remote driving mode 712UI,4; and, finally, a third waiting submission 713UI,3 between the sub-mission 711UI,5 and the sub-mission with remote driving mode 712UI,6.
[0170] Hence, as illustrated, in order to plan the sub-missions 711 and 712 according to a priority-queue policy, the planning module 2004 inserts the waiting sub-missions 713 that terminate at the estimated arrival times of the sub-missions 712 that require intervention by an operator, which can be recognized in Figure 6b from the grey colour, so that the operator will become available again and can take over remote control of the vehicle 10. As anticipated, in the example considered, the priority-queue policy is applied to the sub-missions in order that the operator will execute the sub-missions from the higher priority to the lower priority and, in secondarily, according to the order of receipt.
[0171] In fact, as illustrated, the first sub-mission to be performed with remote driving mode according to the plan, i.e., the sub-mission 712u2,2, is taken over first by the operator, and at the same time a waiting sub-mission 713ui,i is inserted between the end of the sub-mission 711ui,i, which forms part of the mission 710ui requested by the user Ul, and the sub-mission 712UI,2, the duration of which is defined by the difference between the time of end of the sub-mission 711ui,i and the time of end of the sub-mission 712u2,2, or more in general by the difference between the time of end of the sub-mission 711 preceding the sub-mission to be performed in remote driving mode currently pending and the sub-mission 712 with remote driving mode currently in progress. Next, the same operation is repeated for the sub-mission 711UI,3, after which a waiting sub-mission 713UI,2 is inserted, which starts at the end of the sub-mission 711UI,3 and terminates at the end of the submission 712U2,4, in such a way as to enable execution of the sub-mission 712UI,4 as soon as the sub-mission 712u2,4 terminates, and then the operator is ready to receive a new sub-mission to be performed. Likewise, the planning module 2004 inserts a last waiting sub-mission 713UI,3 in the mission 710ui, after the end of the submission 71 lui,5 and terminating at the end of the sub-mission 712u2,6, thus enabling execution of the sub-mission 712UI,6.
[0172] In various embodiments, it is possible to draw up a plan with a higher level of optimization, i.e., for example, a plan capable of minimizing, or maximizing, figures of merit obtained by means of a cost function 720. In particular, the higher optimization may be obtained by implementation of optional steps 907 and 908 of the method 900 in the planning module 2004.
[0173] In this regard, Figure 6c illustrates an optimized planning method obtained by means of embodiments of the present solution in which the missions 710 and the respective sub-missions 711 and 712 are planned using optional optimization steps 907 and 908 of the method 900. For instance, in the embodiments considered in the present example, a plan is computed at each iteration of steps 904, 905, and 906 of the method 900 and, accordingly, the cost function 720 is evaluated in step 907. Next, in step 908 the planning module 2004 verifies whether the cost function 720 returns a value close to a point of maximum or minimum, corresponding to an optimized plan and, if it does not, it reiterates execution of steps from 904 to 908 until the best plan is obtained. In particular, the embodiments considered may also consider the indication of priority in a way similar to what has been illustrated for the planning method exemplified in Figure 6b, to carry out planning, hence assigning an indication of higher priority to the mission having the earliest time limit DT so that the respective sub-missions will be performed before other submissions corresponding to missions that have an indication of lower priority.
[0174] As in the previous examples, in Figure 6c a first user, denoted by the reference Ul, sends a ride request 700ui, and the planning module 2004 generates accordingly a mission 710ui comprising respective sub-missions 711ui. As illustrated in Figure 6c, the mission 710ui comprises eight sub-missions, denoted by the references from 711ui,i or 712ui,i to 711ui,s or 712ui,s, corresponding to different stretches of a path that the user Ul must follow in the operating environment 40, i.e., an airport in the example considered, to arrive from a pick-up point to the desired embarkation gate.
[0175] Specifically, the first sub-mission 711ui,i corresponds to a first stretch of the path, from the point where the user Ul is picked up to the entrance to a check-in area, the second sub-mission 712UI,2 corresponds to a second stretch of the path from the entrance to the check-in area to the exit from the check-in area and requires intervention by an operator to drive the vehicle 10 in remote driving mode. A third sub-mission 711UI,3 corresponds to a path segment from the exit from the check-in area to the entrance to the security-check area. A fourth sub-mission 712UI,4 corresponds to a path segment from the entrance to the security-check area to the exit of the security-check area. As for the sub-mission 712UI,2, the fourth submission 712UI,4 denotes a stretch of the path that develops in an attention zone 410, i.e., the security-check area; consequently, also for execution of the fourth submission 712UI,4 intervention by an operator is necessary to drive the vehicle 10 in remote driving mode. Next, a fifth sub-mission 711UI,5 is planned regarding a path segment from the exit from the security-check area to entry to a lift or elevator. A sixth sub-mission 712UI,6 covers the displacement in the lift or elevator, for example, from a ground floor to a first floor of the operating environment 40, the lift or elevator being designated as attention zone 410. A seventh sub-mission 711UI,7 corresponds to a path segment from exit from the lift or elevator to the entrance to the embarkation gate desired by the user. Finally, an eighth sub-mission 712UI,8 comprises the displacements in the proximity of the embarkation gate, designated as attention zone 410 and consequently requiring intervention by the operator for controlling the vehicle 10 in remote driving mode.
[0176] In the example of Figure 6c considered, there is also illustrated planning of a mission 710u2 generated by the planning module 2004 following upon receipt of a ride request 700u2 generated by the second user U2. In particular, the mission 710U2 refers to a path different from that of the first mission 710UL The submissions, denoted by the references from 711U2,I or 712U2,I to 711u2,6 or 712u2,6, hence comprise: a first sub-mission 71 lu2,i corresponding to a stretch from the pickup point to the entrance to the check-in area; a second sub-mission 712u2,2 corresponding to a stretch from the entrance to the check-in area to the exit from the check-in area, which hence requires intervention by an operator for it to be executed; a third sub-mission 711u2,3 corresponding to a stretch from the exit from the check-in area to the entrance to the security-check area; a fourth sub-mission 7 I 2U2.4 corresponding to a stretch from the entrance to the security-check area to the exit from the security-check area, which hence requires intervention by an operator; a fifth sub-mission 711u2,5 corresponding to a stretch from the exit from the security-check area to the entrance to the embarkation gate; and, finally, a sixth sub-mission 712u2,6 corresponding to the displacements in the proximity of the embarkation gate, which hence requires intervention by the operator to operate the vehicle 10 in remote driving mode.
[0177] As for the previous examples, the first mission 710ui is received by the planning module 2004 before the second mission 710u2. However, it may be noted from the respective time limits, denoted by the references DTui and DTu2, that to the mission 710u2 a higher priority is assigned in so far as the time limit DTu2 precedes the time limit DTui of the mission 710UL Consequently, where intervention by an operator is required to perform sub-missions, the sub-missions of the mission 710u2 will have priority over the sub-missions of the mission 710ui in the cases where these coincide.
[0178] Hence, on the basis of the two missions 710ui and 710u2 received, the planning module 2004 schedules, in the order denoted by the reference CP3 of Figure 6c, the interventions required of the operator according to an optimization policy based upon the cost function 720, hence ordering execution of the submissions on the basis of the priority and of the order in which they are received so as to minimize or maximize the value obtained from the cost function 720. In particular, with reference to the example of Figure 6b discussed previously, it may be noted how the optimized plan enables a compromise to be reached between prioritization of the sub-missions with higher priority, which should hence be performed first, and the requisite that all the users should reach their destinations by the respective time limits. In fact, it may be noted that in the example of Figure 6c both the user U1 and the user U2 reach their destinations by the respective time limits DTui and DTu2, whereas in the example of Figure 6b discussed above, the user U1 reaches his destination beyond the respective time limit DTui.
[0179] Consequently, as illustrated, the plan CP3 comprises, in the following order: the sub-mission 712UI,2; the sub-mission 712u2,2; the sub-mission 712UI,4; the submission 712U2,4; the sub-mission 712ui,e; the sub-mission 712u2,e; and the submission 712UI,8.
[0180] Next, in conformance with step 905 of the method 900, the planning module 2004 inserts, where necessary, the waiting sub-missions 713. In the example considered, the planning module 2004 inserts: a first waiting sub-mission 713U2,I between the sub-mission 711U2,I and the sub-mission 712u2,2; a second waiting submission 713ui,i between the sub-mission 711UI,5 and the sub-mission 712ui,e; and, finally, a third waiting sub-mission 713UI,2 between the sub-mission 71 lui,7 and the sub-mission 712UI,8. Hence, as illustrated, in order to plan the sub-missions in an optimized scheduling, the planning module 2004 inserts the waiting sub-missions 713, which terminate at the estimated times of arrival of the sub-missions 712 that require the intervention by an operator, which can be recognized in Figure 6c from the grey colour, so that the operator will become available again and can take over remote control of the vehicle 10. As anticipated, in the example considered, an optimization routine is applied so that the operator may execute the sub-missions from the highest priority to the lowest priority in such a way as to reduce the number of users that arrive late at their destination and minimizing the waiting times.
[0181] Consequently, as illustrated, the first sub-mission to be performed with remote driving mode according to the plan, i.e., the sub-mission 712UI,2, is taken over first by the operator, and at the same time a waiting sub-mission 713U2,I is inserted between the end of the sub-mission 711U2,I, forming part of the mission 710U2 requested by the user U2, and the sub-mission 712u2,2, the duration of the waiting sub-mission 713U2,I being defined by the difference between the time of end of the sub-mission 711U2,I and the time of end of the sub-mission 712UI,2, or more in general by the difference between the time of end of the sub-mission 711 preceding the sub-mission to be performed in remote driving mode currently pending and the sub-mission 712 with remote driving mode currently in progress. Next, the same operation is repeated for the sub-mission 711UI,5, after which a waiting sub-mission 713ui,i is inserted, which starts at the end of the sub-mission 711UI,5 and terminates at the end of the sub-mission 712u2,4 in such a way as to enable execution of the sub-mission 712UI,6 as soon as the sub-mission 712u2,4 terminates, and then the operator is ready to receive a new sub-mission to be performed. Likewise, the planning module 2004 inserts a last waiting sub-mission 713UI,2 in the mission 710ui, after the end of the sub-mission 711UI,7 and terminating at the end of the sub-mission 712u2,6, thus enabling execution of the sub-mission 712ui,s.
[0182] In the light of the foregoing, operation of the solution described herein is evident, as likewise its advantages.
[0183] The solution described advantageously provides a method for controlling a plurality of vehicles with autonomous and / or assisted driving 10 by means of a copiloting system 20a, comprising execution of the following steps via the vehicles with autonomous and / or assisted driving 10 and the co-piloting system 20a.
[0184] In the first place, there is obtained, in a step 901, a plurality of ride requests 700, where each ride request 700 comprises data that indicate a starting point, data that indicate a point of arrival, and data that indicate a maximum time of arrival DTui, DTU2.
[0185] Next, for each ride request, in a step 902, the ride request is associated to a respective vehicle with autonomous and / or assisted driving 10, and then a respective mission 710 is generated that comprises the starting point and the point of arrival. Next, in a step 903, for each mission 710 one or more attention zones 410 are determined along the path between the starting point and the point of arrival, and then, for each mission 710, one or more path segments are determined along the path between the starting point and the point of arrival, where each path segment is associated to a path between the respective starting point and one of the attention zones, a path between two of the attention zones, or a path between one of the attention zones and the respective point of arrival, and consequently, for each mission 710, a sequence of sub-missions is generated that comprises, for each of the one or more path segments, a respective sub-mission with autonomous and / or assisted driving mode 711 and, for each of the one or more attention zones, a respective sub-mission with remote driving mode 712.
[0186] Next, in a step 904, for each sub-mission with remote driving mode 712 and for each sub-mission with autonomous and / or assisted driving mode 711, a respective time of execution of the respective sub-mission 711, 712 is estimated.
[0187] Next, the method comprises planning, in a step 905, execution of the sequences of sub-missions by associating the sub-missions with remote driving mode 712 to one or more operators as a function of the times of execution of the sub-missions 711, 712 of each sequence of sub-missions.
[0188] Next, the method comprises estimating, in a step 906, for the ride request, a respective estimated time of arrival ETAui, ETAu2 according to planning of execution of the respective sequence of sub-missions, and then determining, in a step 909, whether the respective estimated time of arrival ETAui, ETAu2 is later than the respective maximum time of arrival DTui, DTu2.
[0189] In particular, in response to determining that the respective estimated time of arrival ETAui, ETAu2 is later than the respective maximum time of arrival DTui, DTU2, a warning signal is generated in a step 910.
[0190] If it is determined that the respective estimated time of arrival ETAui, ETAu2 is earlier than the respective maximum time of arrival DTui, DTu2, in a step 1009 the sub-missions with autonomous and / or assisted driving mode 711 of the sequence of sub-missions are carried out by the vehicle with autonomous and / or assisted driving 10 associated to the respective ride request, and during execution of the sub-missions with remote driving mode 712, in a step 1010 a control signal S3 is received from the co-piloting system 20a, preferably originating from a remote operator, for controlling accordingly movement of the vehicle with autonomous and / or assisted driving 10 associated to the respective ride request as a function of the control signal S3.
[0191] Of course, without prejudice to the principle of the invention, the details of construction and the embodiments may vary widely with respect to what has been described and illustrated herein purely by way of example, without thereby departing from the scope of the present invention, as defined in the ensuing claims.
Claims
CLAIMS1. A method (900, 1000) for controlling a fleet-management system comprising a plurality of vehicles with autonomous and / or assisted driving (10), and a co-piloting system (20a), comprising executing the following steps via said fleet-management system:- obtaining (901) a plurality of ride requests (700), where each ride request (700) comprises data that indicate a starting point, data that indicate a point of arrival, and data that indicate a time limit of arrival (DTui, DTm);- executing the following steps for each ride request:- associating (902) the ride request to a respective vehicle with autonomous and / or assisted driving (10),- generating (902) a respective mission (710) that comprises said starting point and said point of arrival,- determining (903) for each mission (710) one or more attention zones (410) along the path between said starting point and said point of arrival,- determining (903) for each mission (710) one or more path segments along the path between said starting point and said point of arrival, where each path segment is associated to:- a path between the respective starting point and one of said attention zones;- a path between two of said attention zones; or- a path between one of said attention zones and the respective point of arrival;- generating (903) for each mission (710) a sequence of sub-missions that comprises, for each of said one or more path segments, a respective submission with autonomous and / or assisted driving mode (711) and for each of said one or more attention zones a respective sub-mission with remote driving mode (712); and- estimating (904) for each sub-mission with remote driving mode (712) and for each sub-mission with autonomous and / or assisted driving mode (711) a respective time of execution of the respective sub-mission (711, 712);- planning (905, 907, 908) execution of said sequences of sub-missions byassociating said sub-missions with remote driving mode (712) to one or more operators (CP) as a function of the times of execution of the sub-missions (711, 712) of each sequence of sub-missions; and- executing the following steps for each ride request:- estimating (906) for the ride request a respective estimated time of arrival (ETAui, ETAui) as a function of the plan of execution of the respective sequence of sub-missions;- determining (909) whether the respective estimated time of arrival (ETAui, ETAui) is later than the respective time limit of arrival (DTui, DTU2);- in response to determination of the fact that the respective estimated time of arrival (ETAui, ETAui) is later than the respective time limit of arrival (DTui, DTui), generating (910) a warning signal;- in response to determination of the fact that the respective estimated time of arrival (ETAui, ETAui) is earlier than the respective time limit of arrival (DTui, DTui):- executing (1009) the sub-missions with autonomous and / or assisted driving mode (711) of the sequence of sub-missions by means of the vehicle with autonomous and / or assisted driving (10) associated to the respective ride request; and- during said sub-missions with remote driving mode (712):- receiving (1010) a control signal (S3) from the copiloting system (20a); and- controlling (1010) movement of the vehicle with autonomous and / or assisted driving (10) associated to the respective ride request as a function of said control signal (S3).
2. The method (900, 1000) according to claim 1, wherein said step of planning (905, 907, 908) execution of the sequences of sub-missions comprises:- planning (905) said sub-missions with remote driving mode (712) by means of a planning policy of a FIFO type.
3. The method (900, 1000) according to claim 1, wherein said step of planning (905, 907, 908) execution of the sequences of sub-missions comprises:- associating to each mission (710) a respective priority as a function of the respective time limit of arrival (DTui, DTui), associating the highest priority to the mission (710) having the earliest time limit of arrival (DT); and- planning (905) said sub-missions with remote driving mode (712) according to the priority of said missions (710).
4. The method (900, 1000) according to claim 1, wherein said step of planning (905, 907, 908) execution of the sequences of sub-missions comprises:- repeating (908) the following steps for a plurality of times:- generating (905) a provisional plan by associating said submissions with remote driving mode (712) to one or more operators (CP),- calculating (907) a cost function (720);- determining the provisional plan (908) that has an optimized value for said cost function (720); and- using said provisional plan that has an optimized value for said cost function (720).
5. The method (900, 1000) according to claim 4, wherein said cost function (720) is determined as a function of:- the number of missions (710) that have the respective estimated time of arrival (ETAui, ETAui) exceeding the respective time limit (DTui, DTui); and / or- the summation of the differences between the respective time limit (DTui, DTU2) and the respective estimated time of arrival (ETAui, ETAui) of each mission (710).
6. The method (900, 1000) according to any one of the preceding claims, wherein said step of planning (905) execution of the sequences of sub-missions (711, 712) comprises:- verifying that at least one operator is available for association to a respective sub-mission with remote driving mode (712) and, if there is not, inserting one or more waiting sub-missions (713) having a duration equal to the waiting time necessary for an operator to become available again.
7. The method (900, 1000) according to any one of the preceding claims, comprising:- determining (1002) whether to operate the vehicle with autonomous and / or assisted driving (10) in remote driving mode by detecting whether the position of said vehicle with autonomous and / or assisted driving (10) in said operating environment (40) falls within an attention zone (410).
8. The method (900, 1000) according to any one of the preceding claims, wherein said step of determining (1002) whether to operate the vehicle with autonomous and / or assisted driving (10) in remote driving mode comprises:- determining the state of health of a passenger by means of sensors for detecting the state of the passenger (512) and, in response to determining that the passenger is not feeling well, resolving to operate the vehicle with autonomous and / or assisted driving (10) in remote driving mode.
9. The method (900, 1000) according to any one of the preceding claims, wherein said step of determining (1003) whether to operate the vehicle with autonomous and / or assisted driving (10) in autonomous driving mode comprises:- determining (1003) whether to operate the vehicle with autonomous and / or assisted driving (10) in autonomous driving mode or in assisted driving mode as a function of control commands (SI) received via a user interface (108) of the vehicle with autonomous and / or assisted driving (10.
10. The method (900, 1000) according to claim 9, comprising steps of:- in response to a decision (1003) to operate the vehicle with autonomous and / or assisted driving (10) in assisted driving mode, displaying (1004) on a screen of the vehicle (10) a path defined by the mission (710).
11. The method (900, 1000) according to any one of the preceding claims, comprising executing in each vehicle with assisted driving and / or autonomous driving (10) steps of:- verifying (1005) whether the vehicle (10) is in a pre-set position;- verifying (1006) whether a passenger is on board the vehicle (10); and- in response to verifying (1006) that the vehicle (10) is in said pre-set position and said passenger is not on board the vehicle (10), interrupting (1007) the mission (710).
12. The method (900, 1000) according to any one of the preceding claims, wherein said step of estimating (904) a time of execution for each sub-mission (711, 712) comprises:- obtaining data regarding the operating environment (40), preferably from a BMS (Building-Management System) (420), and / or data regarding the user, preferably from a remote processing system.
13. A fleet-management system comprising a plurality of vehicles with autonomous and / or assisted driving (10) and a co-piloting system (20a), wherein said fleet-management system is configured for implementing the method (900, 1000) according to any one of the preceding claims 1 to 12.
Citation Information
Patent Citations
An assistance system for an electric personal-mobility vehicle, and corresponding electric vehicle and method
EP4275015A1
Autonomous wheelchair
US10052246B2
Computer-controlled power wheelchair navigation system
US20040006422A1
Information terminal for moving body
JP2007178279A
Method for controlling a fleet of autonomous / remotely operated vehicles
US20230133577A1