Cooperative control of a vehicle

The cooperative control system enhances vehicle control efficiency and safety by allowing clients to selectively control vehicle parameters based on arbitration logic and priority orders, addressing the inefficiencies and safety concerns of current autonomous systems.

WO2025131260A1PCT designated stage expired Publication Date: 2025-06-26VOLVO AUTONOMOUS SOLUTIONS AB
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2023/086798
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-20
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

Current autonomous vehicle systems face inefficiencies and safety concerns when transitioning control between autonomous and manual operators, particularly in confined areas where complex tasks require coordinated control of multiple vehicle parameters.

Method used

A computer system with processing circuitry that enables cooperative control of vehicles by communicating with a set of clients, including manual and automated clients, to selectively apply instructions for controlling and limiting vehicle parameters based on arbitration logic and priority orders.

Benefits of technology

This solution improves the efficiency and safety of vehicle control by allowing the best-suited client to handle specific control domains, reducing the cognitive load on remote operators, and ensuring optimal handling of complex tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2023086798_26062025_PF_FP_ABST
    Figure EP2023086798_26062025_PF_FP_ABST
Patent Text Reader

Abstract

A computer system (800) comprising processing circuitry (802) configured to handle a vehicle (1) is provided. The processing circuitry (802) is communicatively coupled with a set of clients arranged to jointly control the vehicle (1). The processing circuitry (802) is configured to, receive from the set of clients (11, 12), one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle (1). The processing circuitry (802) is configured to, based on an arbitration logic, select which of the one or more instructions to use for controlling and / or limiting the one or more control domains.
Need to check novelty before this filing date? Find Prior Art

Description

COOPERATIVE CONTROL OF A VEHICLETECHNICAL FIELD

[0001] The disclosure relates generally to controlling a vehicle. In particular aspects, the disclosure relates to cooperative control of a vehicle. The disclosure can be applied to heavy- duty vehicles, such as trucks, buses, and construction equipment, among other vehicle types. Although the disclosure may be described with respect to a particular vehicle, the disclosure is not restricted to any particular vehicle.BACKGROUND

[0002] For autonomy vehicle applications within confined areas, autonomous capabilities of individual machines and / or vehicles have been limited to simple operations, e.g., following pre-planned paths or stopping for obstacles, with no free planning, or flexibility.

[0003] Due to difficulty, safety, and / or legal concerns some tasks need to be offloaded to be performed by a manual operator, therefore teleoperation has been used as a way to remotely control the vehicle in certain areas where these tasks occur. Thereby, any responsibility of the operations is shifted to a remote operator.

[0004] However, such a task shift may cause a remote operator to have to control aspects of the vehicle which the remote operator would handle less efficient than an autonomous system, and / or it may also cause the remote operator to spend an excessive amount of time and cognitive ability to perform entire tasks even though it may only be a single aspect of task safety that is of concern.

[0005] Hence, it is needed to improve efficiency of vehicle control.SUMMARY

[0006] According to a first aspect of the disclosure, a computer system comprising processing circuitry configured to handle a vehicle is provided. The processing circuitry is communicatively coupled with a set of clients arranged to jointly control the vehicle. The processing circuitry is configured to receive from the set of clients, one or more instructionsindicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle.

[0007] The processing circuitry is configured to, based on an arbitration logic, select which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0008] The first aspect of the disclosure may seek to alleviate problems relating to completely handover control to a single user, e.g., when needing to abort autonomous mode with respect to an area or task. When a single user needs to operate a vehicle, safety and efficiency is reduced for at least some parts of the vehicle control, as a single user can never be specialized in simultaneously controlling all parts and parameters of the vehicle in an optimal manner.

[0009] A technical benefit may include improved efficiency of controlling the vehicle. This is since using the arbitration logic, it can be selected which client handles which instructions for controlling and / or limiting the one or more control domains such that the client with best capabilities and / or best circumstances can control its part of the vehicle. In other words, the clients can cooperate such that they control the vehicle according to their best joint effort by selecting which of the instructions of the different clients to use. For example, a first client may be prioritized when it comes to setting a vehicle speed and acceleration and hence instructions of speed may be selected from the first client and other instructions, e.g., steering, may be selected from a second client.

[0010] Optionally in some examples, including in at least one preferred example, the set of clients comprises at least one manual client and at least one automated client.

[0011] A technical benefit may include improved efficiency of controlling the vehicle. This is since a first client, such as an automated client, may be optimized to control the vehicle except for that it may not be proficient in handling an equipment of the vehicle in a certain area or situation. In these scenarios, a second client, such as a remote manual client, is proficient in handling the equipment but not in other aspects, and thereby, the second client can handle the equipment while the first client handles other control domains of the one or more control domains.

[0012] Optionally in some examples, including in at least one preferred example, the one or more instructions comprises a first instruction from a first client out of the set of clients. In these examples, the one or more instructions comprises a second instruction from a secondclient out of the set of clients. In these examples, the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains. In these examples, the second instruction is indicative of limiting at least one parameter of the first control domain.

[0013] A technical benefit may include improved efficiency of controlling the vehicle.This is since the first and second client can efficiently jointly control the same control domain, by jointly controlling and limiting the same control domain.

[0014] Optionally in some examples, including in at least one preferred example, the processing circuitry is configured to detect and indicate to the set of clients, a need for the vehicle to be jointly controlled by the set of clients. In these examples, the one or more instructions are received in response to said indication.

[0015] A technical benefit may include improved efficiency of controlling the vehicle. This is since the joint control of the set of clients can be initiated only when needed.

[0016] Optionally in some examples, including in at least one preferred example, the processing circuitry is configured to indicate the need for the vehicle to be jointly controlled by the set of clients by transmitting an assistance request towards at least a subset of the set of clients.

[0017] A technical benefit may include improved efficiency of controlling the vehicle. This is since the joint control of the set of clients can be initiated only when needed.

[0018] Optionally in some examples, including in at least one preferred example, the processing circuitry is configured to receive a first request from a first client of the set of clients. The first request indicates to accept incoming instructions from the first client. In these examples the processing circuitry is configured to allow said request. In these examples the one or more received instructions comprises at least one instruction from the first client.

[0019] A technical benefit may include improved efficiency of controlling the vehicle. This is since the joint control of the set of clients can be initiated upon request, e.g., when a manual client notices that it need to take over from an automated client.

[0020] Optionally in some examples, including in at least one preferred example, the processing circuitry is configured to select which of the one or more instructions to use for controlling and / or limiting the one or more control domains based on a priority order associated with the set of clients.

[0021] A technical benefit may include improved efficiency of controlling the vehicle. This is since the instructions to control or limit the vehicle can be selected to be from the client which is deemed most capable.

[0022] Optionally in some examples, including in at least one preferred example, the arbitration logic defines at least one rule for selecting instructions out of the one or more instructions. In these examples, the at least one rule comprises, for a plurality of limiting instructions of the one or more instructions, and for a control domain out of the one or more control domains, select a limiting instruction comprising the lowest limit, or the highest limit.

[0023] A technical benefit may include improved efficiency of controlling the vehicle. This is since limiting instructions can be set as to have the highest indicated limit or the lowest indicated limit, depending on the situation. For example, when two clients indicated instructions to limit speed, the lowest may be selected to improve safety if deemed needed, or the highest may be selected to improve efficiency if deemed that such a speed limit is safe.

[0024] Optionally in some examples, including in at least one preferred example, the one or more instructions comprises one or more controlling instructions for controlling any one or more out of speed of the vehicle, acceleration of the vehicle, control of an equipment of the vehicle, control of handling obstacle detection for the vehicle, braking of the vehicle, and steering of the vehicle.

[0025] A technical benefit may include improved efficiency of controlling the vehicle. This is since different clients may control different parameters of the vehicle differently and thereby the instruction from the best suited client can be selected for each control domain of the one or more control domains.

[0026] Optionally in some examples, including in at least one preferred example, the one or more instructions comprises one or more limiting instructions for controlling any one or more out of a speed and / or acceleration limit instruction, a speed and / or acceleration percentage instruction,a limit in positions of an equipment of the vehicle, a limit in steering wheel angle of the vehicle.

[0027] A technical benefit may include improved efficiency of controlling the vehicle. This is since different clients may limit different parameters of the vehicle and thereby the limiting instruction from the best suited client can be selected for each control domain of the one or more control domains.

[0028] Optionally in some examples, including in at least one preferred example, the processing circuitry is configured to validate the selected one or more instructions prior to using them for controlling and / or limiting the one or more control domains. In these examples, the validation is based on a predefined vehicle model.

[0029] According to a second aspect of the disclosure, a vehicle comprising the computer system of the first aspect is provided.

[0030] The technical benefits of the second aspect correspond to the technical benefits of the first aspect.

[0031] Optionally in some examples, including in at least one preferred example, the vehicle is an autonomous vehicle or a partly autonomous vehicle.

[0032] According to a third aspect of the disclosure a computer-implemented method for handling a vehicle is provided. A set of clients are arranged to jointly control the vehicle. The method comprises, by processing circuitry of a computer system, receiving from the set of clients, one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle. The method comprises, by the processing circuitry, based on an arbitration logic, selecting which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0033] Optionally in some examples, including in at least one preferred example, the set of clients comprises at least one manual client and at least one automated client.

[0034] Optionally in some examples, including in at least one preferred example, the one or more instructions comprises a first instruction from a first client out of the set of clients. In these examples, the one or more instructions comprises a second instruction from a second client out of the set of clients. In these examples, the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more controldomains. In these examples, the second instruction is indicative of limiting at least one parameter of the first control domain.

[0035] Optionally in some examples, including in at least one preferred example, the method comprises detecting and indicating to the set of clients, a need for the vehicle to be jointly controlled by the set of clients. In these examples, the one or more instructions are received in response to said indication.

[0036] Optionally in some examples, including in at least one preferred example, the method comprises receiving a first request from a first client of the set of clients. The first request indicates to accept incoming instructions from the first client. In these examples, the method comprises allowing said request. In these examples, the one or more received instructions comprises at least one instruction from the first client.

[0037] The technical benefits of the third aspect correspond to the technical benefits of the first aspect.

[0038] The disclosed aspects, examples (including any preferred examples), and / or accompanying claims may be suitably combined with each other as would be apparent to anyone of ordinary skill in the art. Additional features and advantages are disclosed in the following description, claims, and drawings, and in part will be readily apparent therefrom to those skilled in the art or recognized by practicing the disclosure as described herein.

[0039] There are also disclosed herein computer systems, control units, code modules, computer-implemented methods, computer readable media, and computer program products associated with the above discussed technical benefits.BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Examples are described in more detail below with reference to the appended drawings.

[0041] FIG. 1 is an exemplary vehicle according to an example.

[0042] FIG. 2 is an exemplary flow chart of a method according to an example.

[0043] FIG. 3 illustrates an example scenario.

[0044] FIG. 4 illustrates an example scenario.

[0045] FIG. 5 illustrates an example scenario.

[0046] FIG. 6 is another view of FIG. 1, according to an example

[0047] FIG. 7 is an exemplary flow chart of a method according to an example.

[0048] FIG. 8 is a schematic diagram of an exemplary computer system for implementing examples disclosed herein, according to an example.DETAILED DESCRIPTION

[0049] The detailed description set forth below provides information and examples of the disclosed technology with sufficient detail to enable those skilled in the art to practice the disclosure.

[0050] Examples herein may relate to cooperative control for use-cases, where a vehicle nominally has a capability to do more than is allowed by an autonomous safety case, by shifting either longitudinal or lateral control to one or more remote operators.

[0051] Some examples herein may also relate to use-cases for handling failures in a vehicle such that at least some parts of the vehicle can continue to operate autonomously, and only part of operations are handled by a remote user.

[0052] FIG. 1 illustrates a vehicle 1 according to an example.

[0053] The vehicle 1 may be any suitable vehicle such as a car, bus, truck, marine vessel, or any heavy duty vehicle.

[0054] The vehicle 1 may be communicatively coupled to a set of clients 11, 12.

[0055] The set of clients 11, 12 may comprise at least one manual client 11 and at least one automated client 12.

[0056] The at least one manual client 11 may typically comprise a remote user transmitting one or more instructions to the vehicle 1.

[0057] The at least one automated client 12 may typically comprise an automated program, e.g., as part of an autonomous mode of the vehicle 1, which transmits or otherwise provides one or more instructions to the vehicle 1. The at least one automated client 12 may typically comprise one or several remote clients or one or several clients as part of the vehicle 1, e.g., as part of an Electronic Control Unit (ECU). In this context, one or several may mean any number of clients, e.g., one, two, three, four, five, six, seven, eight, nine, ten, etc.

[0058] The vehicle 1 and / or the set of clients 11, 12 may have respective communications interfaces, e.g., wireless transceivers, for transmitting and / or receiving instructions between the respective set of clients 11, 12 and the vehicle 1.

[0059] In FIG. 1, the vehicle 1 is illustrated as an example to be controlled by an ECU20.

[0060] The ECU 20 may comprise one or more out of the at least one automated client 12.

[0061] The ECU 20 may comprise a communications interface for wireless communication with one or more out of the set of clients 11, 12.

[0062] The ECU 20 may control any aspect or parameter of the vehicle 1.

[0063] In some examples, the vehicle 1 is an autonomous vehicle or a partly autonomous vehicle. This means that during normal execution, the vehicle 1 is controlled autonomously, e.g., by one of the at least one automated client 12. When it is deemed that some cooperative control is needed, at least some control will be performed by one or more instructions from another client in the set of clients 11, 12, typically involving at least one manual client 11.

[0064] In examples herein, the vehicle 1 may be controlled by a computer system 800 and / or a processing circuitry 802 therein. The computer system 800 and / or a processing circuitry 802 therein may for example be the ECU 20 and / or part of the ECU 20.

[0065] The computer system 800 and / or a processing circuitry 802 therein may typically be part of the vehicle 1, but it may also be remote to the vehicle 1, as long as the computer system 800 and / or a processing circuitry 802 therein is capable of communicating with any suitable parts of the vehicle 1, and capable of controlling parameters and / or actions of the vehicle 1.

[0066] FIG. 2 is an exemplary flow chart of a computer-implemented method for handling a vehicle 1 according to some examples.

[0067] In these examples, the set of clients 11, 12 are arranged to jointly control the vehicle 1.

[0068] The set of clients 11, 12 may comprise at least one manual client 11 and at least one automated client 12. The method may be performed by the computer system 800 and / or the processing circuitry 802. Typically, the set of clients 11, 12 comprise at least one user, remotely transmitting one or more instructions towards the processing circuitry 802 for controlling the vehicle 1.

[0069] The method comprises the following actions which may be performed in any suitable order. Optional actions are indicated in FIG. 2 by dashed boxes.

[0070] Action 201

[0071] In some examples, the method comprises detecting a need for the vehicle 1 to be jointly controlled by the set of clients 11, 12.

[0072] Detecting the need for the vehicle 1 to be jointly controlled by the set of clients 11, 12 may comprise detecting that an autonomous mode of the vehicle 1 cannot handle a set operation or task, and / or cannot operate in a set area. The reason why the vehicle 1 cannot handle a set operation or task, or cannot operate in a set area, may be that an autonomous mode of the vehicle 1 is not capable or not allowed to operate under these conditions, e.g., as it may be determined that the vehicle 1 cannot fully handle certain situations that may occur, or that it has not yet been proven or tested that an autonomous mode of the vehicle 1 can safely operate using a certain operation and / or in a certain area.

[0073] Typically detecting the need for the vehicle 1 to be jointly controlled by the set of clients 11, 12 may comprise detecting that the vehicle 1 is not allowed to operate without being jointly controlled by the set of clients 11, 12 and / or that the vehicle 1 lacks capabilities of operating without being jointly controlled by the set of clients 11, 12, e.g., based on a current assigned task of the vehicle 1 and / or based on a current area of the vehicle 1.

[0074] Action 202

[0075] In some examples, the method comprises indicating to the set of clients 11, 12, a need for the vehicle 1 to be jointly controlled by the set of clients 11, 12, e.g., as detected in actions 201.

[0076] In some examples, indicating the need for the vehicle 1 to be jointly controlled by the set of clients 11, 12 may comprise transmitting an assistance request towards at least a subset of the set of clients 11, 12.

[0077] The assistance request may be transmitted by the processing circuitry 802 wirelessly to the set of clients 11, 12, e.g., using a wireless transmitter.

[0078] The assistance request may indicate an operation and / or parameters which may need to be controlled by the set of clients 11, 12.

[0079] For example, the assistance request may indicate to the at least one manual client 11, that an autonomous mode is not capable of safely controlling a speed or steering of the vehicle 1, and thus, the assistance request may indicate to the at least one manual client 11 to send instructions for controlling the speed or steering.

[0080] Action 203

[0081] In some examples, the method comprises receiving a first request from a first client of the set of clients 11, 12.

[0082] The first client may typically be a manual client.

[0083] The first request may either be in response to the indication in action 202, or may be performed as an interception, e.g., if the first client detects that there is a need to take control over some aspect of the vehicle 1, e.g., to control its steering or speed of managing an equipment such as a bucket, or to limit an acceleration of the vehicle 1 due to updated knowledge regarding the environment of the vehicle 1.

[0084] The first request indicates to accept incoming instructions from the first client. In other words, the first request may be a preparatory message such that the vehicle 1 may be reconfigured from a fully autonomous mode, e.g., controlled by only one of the at least one automated client 12, to a mixed cooperative mode to jointly be controlled by the at least one automated client 12 and the at least one manual client 11.

[0085] Action 204

[0086] In some examples, the method comprises allowing the request e.g., as received in action 203.

[0087] Allowing the request may comprise reconfiguring the vehicle 1 from an autonomous mode to allow for joint control of the set of clients 11, 12.

[0088] This means that each client in the set of clients 11, 12, may subsequently send respective one or more instructions indicative of controlling and / or limiting parameters for controlling the vehicle.

[0089] Action 205

[0090] The method comprises, receiving from the set of clients 11, 12, one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle 1.

[0091] Each control domain out of the one or more control domains may group one or more parameters to the respective control domain.

[0092] The one or more control domains may for example relate to certain aspects of controlling the vehicle, e.g., with respect to a task, operation, and / or area of operation.

[0093] The one or more control domains may comprise any one or more out of a set of speed or motion parameters, e.g., as a first control domain, a set of equipment control parameters, e.g., as a second control domain, a set of brake control parameters, e.g., as a third control domain, a set of suspension control parameters, e.g., as a fourth control domain, and a set of steering control parameters, e.g., as a fifth control domain.

[0094] In some examples, the one or more instructions comprises a first instruction from a first client out of the set of clients. In some of these examples, the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains. For example, the first client may be an automated client, and the first instruction may be an instruction on accelerating the vehicle 1.

[0095] In some examples, the one or more instructions comprises instructions from different clients to control different one or more parameters of a target control domain, e.g., comprising speed related parameters of the vehicle 1 or comprising steering related parameters of the vehicle 1.

[0096] In some examples, the one or more instructions comprises instructions from different clients to control and / or limit same one or more parameters of the target control domain.

[0097] In some examples, the one or more instructions comprises instructions from different clients to control different control domains, e.g., divided between a first control domain comprising speed related parameters of the vehicle 1 and a second control domain comprising steering related parameters of the vehicle 1.

[0098] In some examples, the one or more instructions comprises a second instruction from a second client out of the set of clients 11, 12. In some of these examples, the second instruction is indicative of limiting at least one parameter of the first control domain.For example, the second client may be a manual client, and the second instruction may be an instruction on limiting the allowed speed limit of the vehicle 1.

[0099] In some examples, the one or more instructions are received in response to the indication to the set of clients 11, 12, e.g., as in action 202.

[0100] The set of clients 11, 12 may comprise any number of clients, manual and / or automated, and the one or more instructions may comprise any suitable number of instructions comprising controlling and / or limiting same and / or different parameters or control domains.

[0101] Action 206

[0102] The method comprises, selecting which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0103] In some examples, selecting which of the one or more instructions to use for controlling and / or limiting the one or more control domains is based on a priority order associated with the set of clients 11, 12.

[0104] The priority order may indicate which instructions to prioritize, e.g., with respect to a control domain and / or with respect to a set client.

[0105] The priority order may be input by a user or may be predefined or may be determined based on a traffic condition.

[0106] As an example, some control domains may always be prioritized to be controlled using instructions from the at least one automated client 12, e.g., steering related control domains comprising parameters for steering wheel angle and / or steering equipment of the vehicle 1. This may be prioritized to be controlled from the at least one automated client 12, as it may be hard to steer with precision remotely.

[0107] Some control domains may always be prioritized to be controlled using instructions from the at least one manual client 11 e.g., speed related control domains comprising parameters for any one or more of vehicle speed, vehicle acceleration, and / or maximum allowed speed. Vehicle speed may be a safety critical variable for some applications, so it may be important that at least one manual client 11 at least has an influence on the parameter.

[0108] Some or all control domains may always be prioritized to be limited using instructions from the at least one manual client 11.

[0109] In some examples, the arbitration logic defines at least one rule for selecting instructions out of the one or more instructions.

[0110] The at least one rule may comprise: for a plurality of limiting instructions of the one or more instructions, and for a control domain out of the one or more control domains, select a limiting instruction comprising the lowest limit, or the highest limit. In other words, when selecting limitation instructions, the highest or lowest may be selected, e.g., based on a configuration of the vehicle 1 and / or based on which parameter or control domain is to be limited.[OHl] Which one or more rules out of the defined at least one rule to be used for controlling the vehicle 1 may be preconfigured and / or based on based on localization of the vehicle 1, i.e., based on a specific site or a location within a site.

[0112] In some examples, the one or more instructions comprises one or more controlling instructions for controlling any one or more out of: speed of the vehicle 1, acceleration of the vehicle 1, control of an equipment of the vehicle 1, control of handling obstacle detection for the vehicle 1, braking of the vehicle 1, and steering of the vehicle 1.

[0113] In some examples, the one or more instructions comprises one or more limiting instructions for controlling any one or more out of: a speed and / or acceleration limit instruction, a speed and / or acceleration percentage instruction, a limit in positions of an equipment of the vehicle 1, a limit in steering wheel angle of the vehicle 1.

[0114] In other words, the set of clients 11, 12 may use any number of instructions to limit and / or control the vehicle 1, simultaneously.

[0115] Parameters or control domains not explicitly controlled by the set of clients 11, 12, e.g., as in actions 206, may be subject to autonomous control, e.g., possibly limited by the one or more instructions. The autonomous control may be performed by any suitable autonomous mode for the vehicle 1, such as by one of the at least one automated clients 12.

[0116] In some examples, the limiting instructions may comprise limitations for control domains different clients in the set of client 11, 12. The limitations may apply differently for different clients providing subsequent or concurrent controlling instructions.

[0117] For example, one of the at least one automated client 12 may instruct that the steering wheel angle of the vehicle 1 shall be limited to a set range. Following this limitation, the at least one automated client 12 may be limited to use control instruction for the steering wheel angle within the set range, or instructions indicating a steering wheel angle outside of the range may be ignored or not selected. However, the at least one manual client 11 may be allowed to use a steering wheel angle outside of the range, e.g., by a predetermined margin, when in a line of sight or using teleoperation mode for controlling the steering of the vehicle 1.

[0118] As another example, one of the at least one automated client 12 may instruct that the speed of the vehicle 1 is set to below a speed threshold or to zero, i.e., stopping the vehicle due to detecting an obstacle. Following this limitation , the at least one automated client 12 may be limited to use control instruction relating to setting the vehicle speed of the vehicle 1, to be below the speed threshold or at zero. However, the at least one manual client 11 may be allowed to use any suitable speed as the at least one manual client 11 may be able to inspect of the obstacle is a true or false obstacle and if it is possible to drive over.

[0119] Action 207

[0120] The method may further comprise validating the selected one or more instructions prior to using them for controlling and / or limiting the one or more control domains. The validation may be based on a predefined vehicle model, typically a predefined vehicle safety model.

[0121] The predefined vehicle safety model may be any suitable model which defines which parameters or values are allowed for the one or more control domains, e.g., maximum speed or acceleration. The parameters or values are allowed for the one or more control domains may be different for different areas or locations travelled by the vehicle 1.

[0122] For example, the predefined vehicle safety model may comprise predefined heuristics for combinations of parameters that are allowed or not allowed. For example, a interval for how much the vehicle 1 is allowed to turn may be inversely proportional to a speed or acceleration of the vehicle 1. Furthermore, at speeds above a threshold, equipment attached to the vehicle, e.g., a bucket, may not be allowed to be steered. Furthermore, the predefined vehicle safety model may comprise determining if the one or more instructions would impose a hazard for the vehicle 1 to roll over, jack-knife, or impose any other hazard.

[0123] The predefined vehicle safety model may further be a trained machine learning model, which model has previously been trained on situations and / or vehicle dynamics that has led to dangerous situations and / or have been defined by manual supervision that they could have led to dangerous situations. The training may be performed by gathering real data from vehicles, and / or by simulating an operation of the vehicle 1. The machine learning model may have been trained for one or more areas which the vehicle 1 is operating in.

[0124] The predefined vehicle safety model may further define one or more restricted areas where the vehicle 1 are not allowed to travel to. Validating the one or more instructionsmay further comprise validating that the one or more instructions does not lead the vehicle into the one or more restricted areas.

[0125] When the vehicle 1 is travelling in narrow paths or near slopes or otherwise dangerous areas, the predefined vehicle safety model may further restrict a turning radius of the vehicle 1, e.g., by limiting the steering wheel angle.

[0126] When the vehicle 1 is travelling in areas with manual operators, the speed and / or acceleration of the vehicle 1 may be limited by the predefined vehicle safety model.Operations using equipment of the vehicle 1 may further be limited to only be possible to use at specified work areas.

[0127] In other words, validating the selected one or more instructions may comprise controlling, e.g., by an automated client, that the one or more instructions does not involve an operation which could endanger the vehicle 1 or its surroundings.

[0128] FIG. 3 illustrates a scenario of some examples herein.

[0129] In the example scenario, the vehicle 1 may be autonomously controlled by a first client which is an automated client as part of the at least one automated client 12. In other words, the vehicle 1 is configured to operate autonomously.

[0130] The vehicle 1, e.g., by the processing circuitry 802, detects 311 a situation it cannot handle within current safety bounds, e.g., it detects an object in a lane of the vehicle 1.

[0131] The vehicle 1, e.g., by the processing circuitry 802, requests 312, remote assistance, e.g., as in action 202.

[0132] The first client, i.e., automated client may further plan 322 a trajectory that could alleviate the problem.

[0133] A remote operator as part of the at least one manual client 11 observes 301 a driving situation of the vehicle 1, and detects 302 a traffic situation to which the remote operator determines to interfere, e.g., as in action 203.

[0134] The remote operator connects 313 as a second client to control the vehicle 1, e.g., as part of action 204.

[0135] The vehicle 1, e.g., by the processing circuitry 802, determines 314 a trajectory and speed profile of the vehicle 1, as planned 322 by the first client, i.e., the automated client, e.g., as instructions transmitted by the first client e.g., as in action 205.

[0136] The vehicle 1, e.g., by the processing circuitry 802, operates 315 the vehicle 1 by the second client, i.e., the remote operator, controlling the speed of the vehicle 1, e.g., eitherdirectly, or as a percentage of the speed determined 304 by the first client, e.g., as controlled by instructions transmitted by the first client e.g., as in action 205.

[0137] In other words, in this example, the first client may control the steering and trajectory, and may limit the vehicle speed based on a speed profile.

[0138] The second client may control the speed profile based on said limitation.

[0139] This allows for a safe passage when there is an unsafe situation such as an object in a lane of a road travelled by the vehicle 1.

[0140] The second client may further disconnect 316 from controlling the vehicle 1, such that the vehicle 1 is again autonomously controlled, e.g., by the first client.

[0141] FIG. 4 illustrates an example scenario.

[0142] A first client 411 and a second client 412 out of the set of clients 11, 12 connect 401 to the processing circuitry 802 to jointly control of the vehicle 1.

[0143] The processing circuitry 802 determines 402 capabilities of each of the first client 411 and the second client 412, e.g., based on predefined information, and / or by determining if the respective client is a manual or automated operator and thereby identifying capabilities. Additionally or alternatively, the processing circuitry 802 determines capabilities of each of the first client 411 and the second client 412, e.g., based on querying the respective client of their capabilities. The capabilities may relate to which control domains the respective client can and cannot handle according to a set quality condition.

[0144] The capabilities may relate to a need to hand over to another client during certain scenarios, e.g., when detecting an obstacle, for certain control domains.

[0145] The capabilities may comprise that the at least one manual client 11, e.g., the first client 411, may have a capability to control any parameter, i.e., as the at least one manual client 11 may always need to be able to control the vehicle 1.

[0146] The capabilities may comprise that the at least one automated client 12, e.g., the second client 412, may have a capability to control speed or acceleration of the vehicle 1, but may not be able or allowed to, e.g., as it would violate a safety, legal, or efficiency condition.

[0147] Parameters for controlling the vehicle 1 may be categorized 403, into different control domains, such as a lateral control domain and a longitudinal control domain.

[0148] The lateral control domain may comprise parameters for determining steering, e.g., steering wheel angle, and / or a position of vehicle equipment such as a bucket.

[0149] The longitudinal control domain may comprise parameters for determining steering vehicle motion, at least longitudinal motions, such as vehicle speed, acceleration, braking, etc.

[0150] Further control domains may apply, e.g., safety control domains comprising parameters for controlling safety distances to other vehicles, and / or sensor control for scanning for pedestrians, etc. Another control domain may be a utility control domain comprising parameters for controlling utility equipment of the vehicle 1, e.g., a bucket, charging devices, and / or any other suitable equipment operation.

[0151] The processing circuitry 802, e.g., by using the arbitration logic as in action 206, may select 404a, for each control domain, which respective client 411, 412 shall control the respective control domain.

[0152] The processing circuitry 802, e.g., by using the arbitration logic as in action 206, may select 404b, for each control domain, which respective client 411, 412 shall apply limitations to the control domain.

[0153] As an example, respective different control domains, i.e., control of different parameters, may be assigned to the first client 411 and the second client 412, e.g., the first client 411 may be assigned a longitudinal control domain e.g., for controlling speed, and the second client 412 may be assigned a lateral control domain e.g., for controlling steering of the vehicle 1 and / or control of steering vehicle equipment such as a bucket of the vehicle 1.

[0154] The processing circuitry 802, e.g., by using the arbitration logic as in action 206, may, for each control domain, determine 405 an output to use, i.e., which instructions are to be used to control the vehicle 1, e.g., by validation as in action 207.

[0155] The processing circuitry 802, e.g., by using the arbitration logic as in action 206, may, for each control domain, control 406 the vehicle 1 using the output, e.g., the validated selected one or more instructions of action 207.

[0156] FIG. 5 illustrates an example of the arbitration logic, e.g., as used in action 206.

[0157] The at least one manual client 11 may provide first one or more instructions 501, to a first arbitration logic 511, a second arbitration logic 512, and / or a third arbitration logic 513.

[0158] The at least one automated client 12 may provide second one or more instructions 502, to the first arbitration logic 511, the second arbitration logic 512, and / or the third arbitration logic 513.

[0159] The first arbitration logic 511, second arbitration logic 512, and / or third arbitration logic 513 may be virtual or hardware components, e.g., of the processing circuitry, and configured to perform the selection of instructions, e.g., as part of the arbitration logic as in action 206.

[0160] The first arbitration logic 511 may relate to selecting one or more instructions for controlling a longitudinal control domain, e.g., speed or longitudinal motion of the vehicle 1.

[0161] The second arbitration logic 512 may relate to selecting one or more instructions for controlling a lateral control domain, e.g., steering of the vehicle 1 and / or its equipment.

[0162] The third arbitration logic 513 may relate to selecting one or more instructions for any other suitable control domain, e.g., safety, energy usage, etc.

[0163] Limitations per control domain and per respective client may be provided 503 to the respective arbitration logic, e.g., indicating how the parameters of the respective control domains shall be limited in general or for each client, and / or capabilities of the respective set of clients 11, 12.

[0164] A priority order may be provided 504 to the third arbitration logic 513, e.g., indicative of which client in the set of clients 11, 12 to prioritize when selecting instruction.

[0165] A priority order may be provided 505 to the second arbitration logic 512, e.g., indicative of which client in the set of clients 11, 12 to prioritize when selecting instruction.

[0166] A priority order may be provided 506 to the first arbitration logic 511, e.g., indicative of which client in the set of clients 11, 12 to prioritize when selecting instruction.

[0167] Arbitration using the first, second and possibly third arbitration logic, e.g., as in action 206, may comprise mixing and matching limits and control commands as needed or as deemed most optimal for a use case.

[0168] For example, a lowest limit overall may apply to a control domain such that, a lowest instruction for speed may be used. Alternatively, a client may provide an input to limit the speed, and let another client to operate within said limitation.

[0169] For example, a speed input may be part of an instruction of the at least one manual client 12. The speed input may be a percentage of an allowable speed or speed profile set by the at least one automated client 12. The speed profile may have been set by the at least oneautomated client 12 according to an instruction provided from the set at least one automated client 12.

[0170] FIG. 6 is another view of FIG. 1, according to an example

[0171] A computer system 800 comprising processing circuitry 802 configured to handle a vehicle 1 is provided. The processing circuitry 802 is communicatively coupled with a set of clients arranged to jointly control the vehicle 1. The processing circuitry 802 is configured to, receive from the set of clients 11, 12, one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle 1. The processing circuitry 802 is configured to, based on an arbitration logic, select which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0172] FIG. 7 is an exemplary flow chart of a method for handling a vehicle 1 according to an example. A set of clients are arranged to jointly control the vehicle 1. The method according to the below actions may be combined with the above actions 201-206 in any suitable manner.

[0173] Action 701

[0174] The method comprises, by processing circuitry 802 of a computer system 800, receiving, one or more instructions from the set of clients 11, 12.

[0175] The one or more instructions are indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle 1.

[0176] Action 702

[0177] The method comprises, by the processing circuitry 802, based on an arbitration logic, selecting which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0178] FIG. 8 is a schematic diagram of a computer system 800 for implementing examples disclosed herein. The computer system 800 is adapted to execute instructions from a computer-readable medium to perform these and / or any of the functions or processing described herein. The computer system 800 may be connected (e.g., networked) to other machines in a LAN (Local Area Network), LIN (Local Interconnect Network), automotive network communication protocol (e.g., FlexRay), an intranet, an extranet, or the Internet. While only a single device is illustrated, the computer system 800 may include any collectionof devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. Accordingly, any reference in the disclosure and / or claims to a computer system, computing system, computer device, computing device, control system, control unit, electronic control unit (ECU), processor device, processing circuitry, etc., includes reference to one or more such devices to individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. For example, control system may include a single control unit or a set of control units connected or otherwise communicatively coupled to each other, such that any performed function may be distributed between the control units as desired. Further, such devices may communicate with each other or other devices by various system architectures, such as directly or via a Controller Area Network (CAN) bus, etc.

[0179] The computer system 800 may comprise at least one computing device or electronic device capable of including firmware, hardware, and / or executing software instructions to implement the functionality described herein. The computer system 800 may include processing circuitry 802 (e.g., processing circuitry including one or more processor devices or control units), a memory 804, and a system bus 806. The computer system 800 may include at least one computing device having the processing circuitry 802. The system bus 806 provides an interface for system components including, but not limited to, the memory 804 and the processing circuitry 802. The processing circuitry 802 may include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory 804. The processing circuitry 802 may, for example, include a general-purpose processor, an application specific processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processing circuitry 802 may further include computer executable code that controls operation of the programmable device.

[0180] The system bus 806 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and / ora local bus using any of a variety of bus architectures. The memory 804 may be one or more devices for storing data and / or computer code for completing or facilitating methods described herein. The memory 804 may include database components, object code components, script components, or other types of information structure for supporting the various activities herein. Any distributed or local memory device may be utilized with the systems and methods of this description. The memory 804 may be communicably connected to the processing circuitry 802 (e.g., via a circuit or any other wired, wireless, or network connection) and may include computer code for executing one or more processes described herein. The memory 804 may include non-volatile memory 808 (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory 810 (e.g., randomaccess memory (RAM)), or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a computer or other machine with processing circuitry 802. A basic input / output system (BIOS) 812 may be stored in the non-volatile memory 808 and can include the basic routines that help to transfer information between elements within the computer system 800.

[0181] The computer system 800 may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device 814, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like. The storage device 814 and other drives associated with computer-readable media and computer-usable media may provide nonvolatile storage of data, data structures, computer-executable instructions, and the like.

[0182] Computer-code which is hard or soft coded may be provided in the form of one or more modules. The module(s) can be implemented as software and / or hard-coded in circuitry to implement the functionality described herein in whole or in part. The modules may be stored in the storage device 814 and / or in the volatile memory 810, which may include an operating system 816 and / or one or more program modules 818. All or a portion of the examples disclosed herein may be implemented as a computer program 820 stored on a transitory or non-transitory computer-usable or computer-readable storage medium (e.g., single medium or multiple media), such as the storage device 814, which includes complexprogramming instructions (e.g., complex computer-readable program code) to cause the processing circuitry 802 to carry out actions described herein. Thus, the computer-readable program code of the computer program 820 can comprise software instructions for implementing the functionality of the examples described herein when executed by the processing circuitry 802. In some examples, the storage device 814 may be a computer program product (e.g., readable storage medium) storing the computer program 820 thereon, where at least a portion of a computer program 820 may be loadable (e.g., into a processor) for implementing the functionality of the examples described herein when executed by the processing circuitry 802. The processing circuitry 802 may serve as a controller or control system for the computer system 800 that is to implement the functionality described herein.

[0183] The computer system 800 may include an input device interface 822 configured to receive input and selections to be communicated to the computer system 800 when executing instructions, such as from a keyboard, mouse, touch-sensitive surface, etc. Such input devices may be connected to the processing circuitry 802 through the input device interface 822 coupled to the system bus 806 but can be connected through other interfaces, such as a parallel port, an Institute of Electrical and Electronic Engineers (IEEE) 1394 serial port, a Universal Serial Bus (USB) port, an IR interface, and the like. The computer system 800 may include an output device interface 824 configured to forward output, such as to a display, a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 800 may include a communications interface 826 suitable for communicating with a network as appropriate or desired.

[0184] The operational actions described in any of the exemplary aspects herein are described to provide examples and discussion. The actions may be performed by hardware components, may be embodied in machine-executable instructions to cause a processor to perform the actions, or may be performed by a combination of hardware and software. Although a specific order of method actions may be shown or described, the order of the actions may differ. In addition, two or more actions may be performed concurrently or with partial concurrence.

[0185] Below follows a list of Examples which may be combined with any of the above examples in any suitable manner.

[0186] Example 1. A computer system 800 comprising processing circuitry 802 configured to handle a vehicle 1, the processing circuitry 802 being communicatively coupledwith a set of clients arranged to jointly control the vehicle 1, the processing circuitry 802 is configured to: receive from the set of clients 11, 12, one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle 1, and based on an arbitration logic, select which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0187] Example 2. The computer system 800 of Example 1, wherein the set of clients comprises at least one manual client 11 and at least one automated client 12.

[0188] Example 3. The computer system 800 of Example 1 or 2, wherein the one or more instructions comprises a first instruction from a first client out of the set of clients, and wherein the one or more instructions comprises a second instruction from a second client out of the set of clients, wherein the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains, and wherein the second instruction is indicative of limiting at least one parameter of the first control domain.

[0189] Example 4. The computer system 800 of any of Examples 1-3, wherein the processing circuitry 802 is configured to:- detect and indicate to the set of clients 11, 12, a need for the vehicle 1 to be jointly controlled by the set of clients 11, 12, and wherein the one or more instructions are received in response to said indication.

[0190] Example 5. The computer system 800 of Example 4, wherein the processing circuitry 802 is configured to indicate the need for the vehicle 1 to be jointly controlled by the set of clients 11, 12 by transmitting an assistance request towards at least a subset of the set of clients 11, 12.

[0191] Example 6. The computer system 800 of any one of Examples 1-5, wherein the processing circuitry 802 is configured to:- receive a first request from a first client of the set of clients 11, 12, the first request indicating to accept incoming instructions from the first client,- allow said request, and wherein the one or more received instructions comprises at least one instruction from the first client.

[0192] Example 7. The computer system 800 of any one of Examples 1-6, wherein the processing circuitry 802 is configured to select which of the one or more instructions to use for controlling and / or limiting the one or more control domains based on a priority order associated with the set of clients 11, 12.

[0193] Example 8. The computer system 800 of any one of Examples 1-7, wherein the arbitration logic defines at least one rule for selecting instructions out of the one or more instructions, the at least one rule comprises: for a plurality of limiting instructions of the one or more instructions, and for a control domain out of the one or more control domains, select a limiting instruction comprising the lowest limit, or the highest limit.

[0194] Example 9. The computer system 800 of any one of Examples 1-8, wherein the one or more instructions comprises one or more controlling instructions for controlling any one or more out of: speed of the vehicle 1, acceleration of the vehicle 1, control of an equipment of the vehicle 1, control of handling obstacle detection for the vehicle 1, braking of the vehicle 1, and steering of the vehicle 1.

[0195] Example 10. The computer system 800 of any one of Examples 1-9, wherein the one or more instructions comprises one or more limiting instructions for controlling any one or more out of: a speed and / or acceleration limit instruction, a speed and / or acceleration percentage instruction, a limit in positions of an equipment of the vehicle 1, a limit in steering wheel angle of the vehicle 1.

[0196] Example 11. The computer system 800 of any one of Examples 1-10, wherein the processing circuitry 802 is configured to validate the selected one or more instructions prior to using them for controlling and / or limiting the one or more control domains, wherein the validation is based on a predefined vehicle model.

[0197] Example 12. A vehicle 1 comprising the computer system 800 of any of Examples 1-11.

[0198] Example 13. The vehicle of Example 12, wherein the vehicle 1 is an autonomous vehicle or a partly autonomous vehicle.

[0199] Example 14. A computer-implemented method for handling a vehicle 1, and wherein a set of clients are arranged to jointly control the vehicle 1, the method comprising: by processing circuitry 802 of a computer system 800, receiving 205, 701 from the set of clients 11, 12, one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle 1, and by the processing circuitry 802, based on an arbitration logic, selecting 206, 702 which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

[0200] Example 15. The method of Example 14, wherein the set of clients comprises at least one manual client 11 and at least one automated client 12.

[0201] Example 16. The method of Example 14 or 15, wherein the one or more instructions comprises a first instruction from a first client out of the set of clients, and wherein the one or more instructions comprises a second instruction from a second client out of the set of clients, wherein the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains, and wherein the second instruction is indicative of limiting at least one parameter of the first control domain.

[0202] Example 17. The method of any of Examples 14-16, further comprising:- detecting 201 and indicating 202 to the set of clients 11, 12, a need for the vehicle 1 to be jointly controlled by the set of clients 11, 12, and wherein the one or more instructions are received 205 in response to said indication.

[0203] Example 18. The method of any one of Examples 14-17, further comprising:- receiving 203 a first request from a first client of the set of clients 11, 12, the first request indicating to accept incoming instructions from the first client,- allowing 204 said request, and wherein the one or more received instructions comprises at least one instruction from the first client.

[0204] Example 19. A computer program product comprising program code for performing, when executed by the processing circuitry 802, the method of any of Examples 14-18.

[0205] Example 20. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processing circuitry 802, cause the processing circuitry 802 to perform the method of any of Examples 14-18.

[0206] The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items. It will be further understood that the terms "comprises", "comprising", "includes", and / or "including" when used herein specify the presence of stated features, integers, actions, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, and / or groups thereof.

[0207] It will be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the scope of the present disclosure.

[0208] Relative terms such as "below" or "above" or "upper" or "lower" or "horizontal" or "vertical" may be used herein to describe a relationship of one element to another element as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present.

[0209] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0210] It is to be understood that the present disclosure is not limited to the aspects described above and illustrated in the drawings; rather, the skilled person will recognize that many changes and modifications may be made within the scope of the present disclosure and appended claims. In the drawings and specification, there have been disclosed aspects for purposes of illustration only and not for purposes of limitation, the scope of the disclosure being set forth in the following claims.

Claims

ClaimsWhat is claimed is:

1. A computer system (800) comprising processing circuitry (802) configured to handle a vehicle (1), the processing circuitry (802) being communicatively coupled with a set of clients arranged to jointly control the vehicle (1), the processing circuitry (802) is configured to: receive from the set of clients (11, 12), one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle (1), and based on an arbitration logic, select which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

2. The computer system (800) of claim 1, wherein the set of clients comprises at least one manual client (11) and at least one automated client (12).

3. The computer system (800) of claim 1 or 2, wherein the one or more instructions comprises a first instruction from a first client out of the set of clients (11,12), and wherein the one or more instructions comprises a second instruction from a second client out of the set of clients (11,12), wherein the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains, and wherein the second instruction is indicative of limiting at least one parameter of the first control domain.

4. The computer system (800) of any of claims 1-3, wherein the processing circuitry (802) is configured to:- detect and indicate to the set of clients (11, 12), a need for the vehicle (1) to be jointly controlled by the set of clients (11, 12), and wherein the one or more instructions are received in response to said indication.

5. The computer system (800) of claim 4, wherein the processing circuitry (802) is configured to indicate the need for the vehicle (1) to be jointly controlled by the set of clients (11, 12) by transmitting an assistance request towards at least a subset of the set of clients (11, 12).

6. The computer system (800) of any one of claims 1-5, wherein the processing circuitry (802) is configured to:- receive a first request from a first client of the set of clients (11, 12), the first request indicating to accept incoming instructions from the first client,- allow said request, and wherein the one or more received instructions comprises at least one instruction from the first client.

7. The computer system (800) of any one of claims 1-6, wherein the processing circuitry (802) is configured to select which of the one or more instructions to use for controlling and / or limiting the one or more control domains based on a priority order associated with the set of clients (11, 12).

8. The computer system (800) of any one of claims 1-7, wherein the arbitration logic defines at least one rule for selecting instructions out of the one or more instructions, the at least one rule comprises: for a plurality of limiting instructions of the one or more instructions, and for a control domain out of the one or more control domains, select a limiting instruction comprising the lowest limit, or the highest limit.

9. The computer system (800) of any one of claims 1-8, wherein the one or more instructions comprises one or more controlling instructions for controlling any one or more out of: speed of the vehicle (1), acceleration of the vehicle (1), control of an equipment of the vehicle (1), control of handling obstacle detection for the vehicle (1),braking of the vehicle (1), and steering of the vehicle (1).

10. The computer system (800) of any one of claims 1-9, wherein the one or more instructions comprises one or more limiting instructions for controlling any one or more out of: a speed and / or acceleration limit instruction, a speed and / or acceleration percentage instruction, a limit in positions of an equipment of the vehicle (1), a limit in steering wheel angle of the vehicle (1).

11. The computer system (800) of any one of claims 1-10, wherein the processing circuitry (802) is configured to validate the selected one or more instructions prior to using them for controlling and / or limiting the one or more control domains, wherein the validation is based on a predefined vehicle model.

12. A vehicle (1) comprising the computer system (800) of any of claims 1-11.

13. The vehicle of claim 12, wherein the vehicle (1) is an autonomous vehicle or a partly autonomous vehicle.

14. A computer-implemented method for handling a vehicle (1), and wherein a set of clients are arranged to jointly control the vehicle (1), the method comprising: by processing circuitry (802) of a computer system (800), receiving (205, 701) from the set of clients (11, 12), one or more instructions indicative of controlling and / or limiting one or more control domains respectively comprising one or more parameters for controlling the vehicle (1), and by the processing circuitry (802), based on an arbitration logic, selecting (206, 702) which of the one or more instructions to use for controlling and / or limiting the one or more control domains.

15. The method of claim 14, wherein the set of clients comprises at least one manual client (11) and at least one automated client (12).

16. The method of claim 14 or 15, wherein the one or more instructions comprises a first instruction from a first client out of the set of clients (11,12), and wherein the one or more instructions comprises a second instruction from a second client out of the set of clients (11,12), wherein the first instruction is indicative of controlling at least one parameter of a first control domain out of the one or more control domains, and wherein the second instruction is indicative of limiting at least one parameter of the first control domain.

17. The method of any of claims 14-16, further comprising:- detecting (201) and indicating (202) to the set of clients (11, 12), a need for the vehicle (1) to be jointly controlled by the set of clients (11, 12), and wherein the one or more instructions are received (205) in response to said indication.

18. The method of any one of claims 14-17, further comprising:- receiving (203) a first request from a first client of the set of clients (11, 12), the first request indicating to accept incoming instructions from the first client,- allowing (204) said request, and wherein the one or more received instructions comprises at least one instruction from the first client.

19. A computer program product comprising program code for performing, when executed by the processing circuitry (802), the method of any of claims 14-18.

20. A non-transitory computer-readable storage medium comprising instructions, which when executed by the processing circuitry (802), cause the processing circuitry (802) to perform the method of any of claims 14-18.

Citation Information

Patent Citations

  • Input from a plurality of teleoperators for decision making regarding a predetermined driving situation

    US20190196465A1

  • Intervention in operation of a vehicle having autonomous driving capabilities

    US20190258246A1

  • Mapping of intelligent transport systems to remote support agents

    US20230249715A1