Resilient connectivity for autonomous vehicles

EP4736330A1Pending Publication Date: 2026-05-06BRITISH TELECOM PLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
BRITISH TELECOM PLC
Filing Date
2024-06-07
Publication Date
2026-05-06

AI Technical Summary

Technical Problem

Autonomous vehicles face challenges in maintaining robust and reliable communication networks due to their mobile nature, which can lead to disruptions in command and control data transmission, potentially causing damage or loss, especially since they are treated as single IP endpoints without the capability to dynamically change network paths or prioritize critical data communications.

Method used

A communications module for autonomous vehicles that includes transceivers, a router, and a traffic analyzer to prioritize and route command and control data over external networks, ensuring resilient connectivity by classifying data streams and dynamically selecting communication channels based on quality of service and priority, while a remote system determines network policies to guarantee quality of service levels for critical data transmission.

Benefits of technology

This solution enhances the reliability and safety of autonomous vehicle operations by prioritizing critical data communications, allowing them to operate in a wider range of environments and maintaining connectivity even in adverse network conditions, thereby reducing the risk of data loss or system failure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024065804_02012025_PF_FP_ABST
    Figure EP2024065804_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A communications module for a vehicle is provided, the vehicle comprising: one or more transceivers configured to provide one or more communication channels for communicating with an external network; a communication interface for communicatively coupling the communications module to one or more onboard systems of the vehicle; a router configured to route network traffic between the one or more onboard systems and the external network via the one or more transceivers; a traffic analyser configured to: split the network traffic into a plurality of streams based on a type of data being conveyed by the network traffic; and classify each of the plurality of streams with a respective classification that indicates the respective type of data being conveyed by the network traffic belonging to that stream. The router is configured to route the network traffic associated with each stream based, at least in part, on the respective classification for each stream. A remote system for use with the said vehicle communications module is also provided, the remote system comprising an input for receiving an intended journey plan for the vehicle; one or more inputs for receiving network status information for one or more networks through which the intended journey passes; a policy determination unit configured to determine a policy that specifies one or more network parameters to which the vehicle communications module must conform to ensure that a stream, transmitted by the vehicle communications module and having a predetermined classification, meets a predetermined quality of service level; one or more transceivers configured to provide one or more communication channels for communicating the policy to the communications module.
Need to check novelty before this filing date? Find Prior Art

Description

RESILIENT CONNECTIVITY FOR AUTONOMOUS VEHICLESTECHNICAL FIELD

[0001] The present invention relates to a communications module for a vehicle and a remote system for use with the communications module. In particular, the present invention relates to a communications module for a autonomous vehicle and a remote system for use with the communications module.BACKGROUND

[0002] In view of ever-increasing use of autonomous vehicles, the importance of reliable connection to and from autonomous vehicles is also increasing. In particular, ensuring resilient connections for communicating command and control data (C2C) is important as inability to communicate C2C data may result in not only damage or loss of the vehicles, but also can potentially cause secondary damages or losses.

[0003] However, due to the mobile nature of autonomous vehicles, autonomous vehicles typically require connections to mobile or cellular networks whose coverage and bandwidth may be susceptible to factors that cannot be controlled by pilots or owners of autonomous vehicles. This presents difficulties in maintaining robust network paths with sufficient bandwidth for autonomous vehicles.

[0004] Accordingly, a system for providing resilient communication with autonomous vehicle is desired.SUMMARY OF INVENTION

[0005] The invention is defined in the independent claims. Optional features are set out in the dependent claims.

[0006] Embodiments of the present invention provide a communications module for a vehicle and a remote system for use with the communications module.

[0007] According to a first aspect, a communications module for a vehicle is provided. The communication module comprises: one or more transceivers configured to provide one or more communication channels (e.g. 4G, 5G, Satellite, voice channel, data channel) for communicating with an external network; a communication interface for communicatively coupling the communications module to one or more onboard systems of the vehicle; a router configured to route network traffic between the one or more onboard systems and the external network via the one or more transceivers; a traffic analyser configured to: split the network traffic into a plurality of streams based on a type of data being conveyed by the network traffic; and classify each of the plurality of streams with a respective classification that indicates the respective type of data being conveyed by the network traffic belonging to that stream. The router is configured to route the network traffic associated with each stream based, at least in part, on the respective classification for each stream.

[0008] Optionally, the respective classification of each stream may indicate a relative priority of that stream compared to the other streams.

[0009] Optionally, the router may be configured to route the network traffic associated with each stream based, at least in part, on the relative priority of each stream.

[0010] Optionally, the vehicle may be an autonomous vehicle, such as an autonomous aerial vehicle.

[0011] Optionally, the types of data may comprise one or more of: command and control data; telemetry data; loT data; and video data.

[0012] Optionally, the router may be configured to route the network traffic associated with one or more of the streams for which the respective classification indicates the respective type of data being conveyed by the network traffic belonging to those streams is command and control data with a greater degree of preference thanthe traffic associated with other streams for which the respective classifications indicate the respective type of data being conveyed by the network traffic belonging to those streams is not command and control data.

[0013] Optionally, the communications module may further comprise a network monitor to determine a respective quality of service provided by each communication channel.

[0014] Optionally, the router may be configured to route the traffic associated with each stream based, at least in part, on the respective quality of service provided by each communication channel.

[0015] Optionally, the network monitor may be configured to determine the respective quality of service provided by each communication channel, at least in part, by monitoring the one or more communications channels.

[0016] Optionally, the network monitor may be configured to determine the respective quality of service provided by each communication channel based, at least in part, on a predicted quality of service for the one or more communications channels.

[0017] Optionally, the router may be configured to drop some or all of the network traffic associated with at least one of the streams based on the respective classification of that stream and the respective quality of service determined to be provided by each of the communication channels.

[0018] Optionally, the communications module further may comprise a traffic filter configured to reduce an amount of network traffic within one or more of the network streams in accordance with one or more filtering rules, the one or more filtering rules instructing the traffic filter to drop substantially redundant network traffic from a stream based on the respective classification of that stream.

[0019] Optionally, the communications module may comprise a plurality of transceivers configured to provide a plurality of communication channels, each of the communications channels being provided by a respective transceiver.

[0020] Optionally, the router may be configured to select which of the communication channels the network traffic associated with each stream is to be transmitted based, at least in part on the respective classification for each stream.

[0021] Optionally, the router may be configured to select a communication channel for at least one of the streams based, at least in part, on a respective QoS requirement for that stream and the respective quality of service determined for each of the communication channels.

[0022] Optionally, the router may be configured to redundantly communicate the network traffic associated with at least one of the streams via a plurality of the communication channels.

[0023] Optionally, the communications module may further comprise a quality of service negotiation module configured to communicate with a network management system for the external network to guarantee a quality of service for communicating with the external network via at least one of the communication channels.

[0024] Optionally, the communications module may further comprise a policy store for storing a policy that configures the router to route the network traffic.

[0025] According to a second aspect, a remote system for use with a vehicle communications module is provided. The system comprises: an input for receiving an intended journey plan for the vehicle; one or more inputs for receiving network status information for one or more networks through which the intended journey passes; a policy determination unit configured to determine a policy that specifies one or more network parameters to which the vehicle communications module must conform to ensure that a stream, transmitted by the vehicle communications module and having a predetermined classification, meets a predetermined quality of service level; one ormore transceivers configured to provide one or more communication channels for communicating the policy to the communications module.

[0026] Optionally, the network parameters may comprise one or more of one or more network channels to use for corresponding stream classifications; a permitted cost associated with sending data over a corresponding network channel; a permitted latency associated with a corresponding network channel; one or more permitted data types that can be transmitted over a given network channel; one or more permitted network providers; a permitted network channel connection time; and a permitted capability for a given network channel.

[0027] Embodiments may provide significant benefit to the Command and Control (C2) systems of a UAV or Robotic systems, for example. Enabling the router to route the network traffic associated with each stream based, at least in part, on the respective classification for each stream enables sacrificing of data payload to maintain C2C communications can increase the areas of operation that these systems can operate, and allow drone operations to the extremities of a network. By providing such a failsafe backhaul connection, a significant increase in the safety of the system can also be achieved.BRIEF DESCRIPTION OF THE DRAWINGS

[0028] The disclosure will be further described, by way of example only, with reference to the accompanying drawings, in whichFigure 1 illustrates an exemplary remote system, according to an embodiment;Figure 2 illustrates a communications module for a vehicle, according to an embodiment;Figure 3 illustrates an exemplary journey path between an origin and a destination, and the surronding network envirionment.DETAILED DESCRIPTION OF THE INVENTION

[0029] Embodiments and related technology helpful for understanding and implementing the embodiments will now be described with reference to the Figures. The same or similar reference numerals are used to refer to the same or similar components across different Figures.

[0030] Embodiments deploy a software implemented agent on an autonomous vehicle, such as a drone, that identifies and / or categorises the telemetry and control data as well as the network channels data in order to determine most efficient network paths to use and ensure that critical Command and Control (C2C) data is always being sent. In order to do this the agent separates data streams, such as telemetry, loT, video traffic and so on, and prioritises the critical C2C data to be sent over the network and / or which channel it is to be sent on. For example, in a given network, the last channel to fail may be the voice channel, so that channel may be used to send C2C data. In particular, as an example, the minimum channel needed for aerial drones to send C2C data may be specified as the 40K command channel. Alternatively, the agent can slice the network differently, so packets get through above and beyond everything else. If this is the case other services on the network are sacrificed as the drone C2C data is prioritised.

[0031] In various embodiments, a communications module for a vehicle is provided. The vehicle communications module comprises: one or more transceivers configured to provide one or more communication channels for communicating with an external network; a communication interface for communicatively coupling the communications module to one or more onboard systems of the vehicle; a router configured to route network traffic between the one or more onboard systems and the external network via the one or more transceivers; and a traffic analyser. The traffic analyser is configured to: split the network traffic into a plurality of streams based on a type of data being conveyed by the network traffic; and classify each of the plurality of streams with a respective classification that indicates the respective type of databeing conveyed by the network traffic belonging to that stream. The router is configured to route the network traffic associated with each stream based, at least in part, on the respective classification for each stream.

[0032] In various embodiments, a remote system for use with the vehicle communications module is also provided. The remote system comprises: an input for receiving an intended journey plan for the vehicle; one or more inputs for receiving network status information for one or more networks through which the intended journey passes; a policy determination unit configured to determine a policy that specifies one or network parameters to which the vehicle communications module must conform to ensure that a stream, transmitted by the vehicle communications module and having a predetermined classification, meets a predetermined quality of service level; one or more transceivers configured to provide one or more communication channels for communicating the policy to the vehicle communications module.

[0033] Accordingly, a number of embodiments of the present invention provides a way of prioritising important data communications (e.g. C2C data) by data types, and dynamically changing the network channels based on the prioritisation. Therefore, a number of embodiments of the present invention provide solutions to the vulnerabilities arising from the fact that conventional autonomous vehicles are treated as single IP endpoints, meaning that all their data (C2C, telemetry, mission operations e.g. video) is being communicated via one network channel. This is because currently drones and other autonomous vehicles do not have the capability to dynamically change the network paths / channels that they send data across.

[0034] The term “ground control station” as used herein describes hardware and software used to control a vehicle, such as an autonomous vehicle or drone. A ground control station may be fixed, mobile, on-vehicle and / or cloud-based. The function of a ground control station is to provide a control point for the vehicle. Such control point may have a human interface or be entirely computerised. A ground control station may gather telemetry and mission progression data and provide a point for offloading data payloads such as video or photo streams. Therefore, network latency is a critical factor on the functionality of a ground control station.

[0035] The remote system will be described in relation to the exemplary central server 100 shown in Figure 1, and the vehicle communications module will be described in relation to the autonomous vehicle agent 200 shown in Figure 2.

[0036] Although the examples of the remote system and the communication are described in relation to a single vehicle (e.g. an autonomous vehicle, such as an unmanned aerial vehicle), it will be understood that in a number of embodiments, one or more of the remote system and one or more of the communication may be used for operation of a plurality of vehicles.

[0037] Figure 1 shows an exemplary remote system 100 according to an embodiment. In the example of Figure 1, the remote system 100 is implemented in the form of a central server 100. However, it will be understood that, in other embodiments, the remote system 100 may be implemented in any other suitable form(s) that is / are different from the monitor 100 shown in Figure 1, such as a single component, a part of a single component, a combination of a plurality of components, and a combination of a plurality of parts of a plurality of components. In particular, although Figure 1 depicts a single central server 100, in other embodiments, one or more components and / or parts of the remote system 100 may be distributed across a number of locations (e.g. multiple servers).

[0038] The remote system 100 may be a cloud-based server and / or a part of a ground control station. The remote system 100 may handle and / or store information relating to the autonomous vehicle and the environment that the vehicle will be travelling in. The remote system 100 may be used for the automatic pre-planning instantiation and provisioning of required network services when an autonomous vehicle is sent on a mission.

[0039] The remote system 100 comprises one or more inputs for receiving network status information 174 for one or more networks (e.g. from different network providers) through which an intended journey of a vehicle (e.g. an autonomous vehicle, such as an unmanned aerial vehicle) passes. In the example shown in Figure 1, the central server 100 comprises a monitor 170 that is configured to function assuch an input. However, in other embodiments, the input(s) may be in any number and be implemented as any other suitable form(s) that is / are different from the monitor 170 shown in the example of Figure 1. The input may also be configured to receive compute information 172, such as from one or more edge devices, in the same one or more networks through which the intended journey of the vehicle passes.

[0040] The information 172, 174 received by the input may be used to monitor the quality of service (QoS) of the network channels. Such monitoring may be performed by tracking, for example, the Received Signal Strength Indicator (RS SI), Signal -to- Noise Ratio (SNR), Round-Trip Delay (RTD), latency, and bandwidth of the network.

[0041] In order to be able to determine the one or more networks through which the intended journey of the vehicle passes, the remote system 100 comprises an input 130 for receiving the intended journey plan for the vehicle. In the example shown in Figure 1, the central server 100 comprises a mission manager 130 that is configured to function as such an input. The central server 100 may also comprise a network controller 110 that is configured to determine available communication channels on the vehicle’s journey path, and publish meta-data to the vehicle. The central server 100 may also comprise a policy manager 120, which will be described further below.

[0042] The input for receiving the intended journey plan for the vehicle (e.g. the mission manager 130) may, for example, receive the initial mission request from a client (e.g. a ground control station (GCS) or a user) and check the validity of the mission request. The data included in the request may be transferred to the network controller 110 and policy manager 120 to combine their data on the edge servers and network services to determine the best use on the vehicle’s journey path. The initial mission request may include details on one or more tasks to be performed by the vehicle (e.g. go to a destination, pick up a package at the destination, and return to an origin). The request may also include details in relation to the current status of the vehicle (e.g. current battery level, speed, bearing and / or location), the status of the mission (e.g. nominal and / or anomalous mission data), objectives, and optimum operating conditions for the vehicle. The mission manager 130 may also reserve connectivity or bandwidth during the duration of the flight.

[0043] In order to enable communication between the remote system 100 and a communications module 200 for the vehicle which will be described in relation to Figure 2, the remote system 100 comprises one or more transceivers configured to provide one or more communication channels to the communications module for the vehicle. The one or more transceivers may be used to communicate a policy to the communications module 200. Detailed description of the policy is provided below. In the example shown in Figure 1, the central server 100 comprises message management module 150 that is configured to function as such a transceiver.

[0044] The message management module 150 may be configured to receive data from the vehicle across different network paths and protocols. Optionally, depending on requirements in the policy, some of the data may be duplicated across network paths in order to improve the resilience of the communication. In such cases, the data may arrive out of order due to different speeds and latencies of the different network channels. Therefore, the message management module 150 may be configured to handle the multiple data streams, identify the order of messages, determine any duplication, and transform the data to be sent on to other modules.

[0045] The remote system 100 may comprise one or more reporting / alerting modules 180 for reporting and / or alerting to and / or from the vehicle. The one or more reporting / alerting modules 180 may be used to transmit a report and / or alert to the vehicle. For example, such report and / or alert may be transmitted if one or more other vehicles within a certain distance (e.g. a radial distance) from the vehicle that have lost communication from one or more remote systems (e.g. central server) that is responsible for controlling and / or monitoring the one or more other vehicles. Such report and / or alert may also be transmitted to the vehicle in order to provide data including the time and / or location at which the vehicle is required or expected to connect to one or more network channels or change one or more channels. In order to enable connections to multiple network channels which may be provided by different providers, the vehicle may be equipped with multiple SIMs in a Multi-SIM MultiActive (MSMA) operational mode that allows communication across the different networks from different providers.

[0046] Similarly, the one or more reporting / alerting modules 180 may be used to receive a report and / or alert from the vehicle. For example, such report and / or alert may be received if the vehicle is experiencing RSSI decline, loss of connection to a controller or mission planner. Such report and / or alert may also be received to transfer information, such as conspicuity data and / or signal data (e.g. signal strength and / or latency) of networks in flight. Such information may be stored in a storage 160 for future missions and planning. The storage 160 for storing such information may form a part of the remote system 100 as shown in Figure 1, or be an external storage (e.g. a cloud storage) having an established connection with the remote system 100.

[0047] The reporting / alerting modules 180 may comprise a notification client 182 for notifying the vehicle and ground stations of information, such as the network status, which communication channels to use for different types of data, and if the vehicle should change its course or return to the origin based on connection status.Optionally, the policy may specify that the vehicle may be permitted to determine course of action based on the received notification data, or require decisions from remote system 100 on courses of action.

[0048] The central server 100 shown in Figure 1 comprises a policy manager 120 configured to function as a policy determination unit for determining a policy that specifies one or more network parameters to which the vehicle communications module must conform to ensure that a stream, transmitted by the vehicle communications module and having a predetermined classification, meets a predetermined quality of service level.

[0049] The policy manager 120 may use information (e.g. network meta-data) saved by the monitor 170 and the mission request in the mission manager 130 in order to generate a policy. Such a policy may, for example, include one or more of: service level agreements, details of the vehicle’s journey path, minimum / maximum resource requirements, network service requirements and network configuration. The policy may be used by the network controller 110 for determining where and when each communication channel is available and / or shall be used during the mission. The policy may be loaded onto the vehicle’s policy store 260. Such policy store 260 mayform a part of or have an established connection with a communications module 200 for the vehicle which will be described in relation to Figure 2.

[0050] The policy set by the policy manager 120 may, for example, include items relating to one or more of: mission details, failure modes, and network channels.

[0051] Mission detail may be set by the mission manager 130 and specify one or more of: task to be performed by the vehicle, destination, status of mission, objectives, and optimum running conditions.

[0052] Failure modes may relate to actions to be taken in certain critical scenarios. For example, in the event of loss of connectivity, the policy may specify that attempt should be made to recover connection by flying back to the location at which the vehicle was a predetermined period (e.g. 5 minutes) prior to the loss of connectivity. Alternatively, the policy may specify that, in the event of loss of connectivity, the vehicle should attempt to travel to a safe location, or abort the mission. Such a safe location may be a predetermined location that was already known prior to the mission, or be identified by the vehicle during the mission.

[0053] The policy may also include items in relation to network channels. For example, the policy may specify the threshold of when and / or what types of actionable alerts should be sent. Such alerts may be sent from the vehicle to the central server, or the central server to the vehicle. The policy may also specify one or more types of data of which data transfer should be paused or data transfer rate should be reduced, and conditions (e.g. RSSI decline of a certain level and / or a duration of the continued RSSI decline) for such a pause or reduction. The policy may also state a priority list of services / channels that are accessible to the vehicle. In addition, one or more types and volumes of data to be sent via identified channels may also be specified in the policy. Furthermore, the policy may include details of one or more networks that has high likelihood of being able to maintain one or more critical channels.

[0054] As shown in the example policy shown below, the policy may be written in one or more programming languages, such as C, C++, C#, Objective-C, Java™,Javascript, Pascal, Object Pascal, Python™, Ruby, VB.NET, WML, and XHTML / HTML with or without CSS, or combinations thereof.

[0055] Example policy:"mission": { "waypoints": { "A" : { "location": {"lat": 52.058562, "Ing": 1.277686} , "channels": ["3G", "2G voice"] } , "B": { "location": {"lat": 51.959662, "Ing": 1.351837} , "channels": ["5G", "4G", "3G", "2G voice"] } } , "repeat": false } , "networkchannels": { "5G": { "provider": "EE", "pricePerGB" : "£2", " connect! onTime " : "60min", "ip": "10.255.33. xx", "key" : "asd99-s j s j -tt2 ImtlwO " , "latency": {"min": "max": ""} ,"capability": ["Data", "IMS Voice", "Fallback Voice"] , "dataType": ["C2C", "High Priority", "Medium Priority", "Low Priority"] } , "4G": { "provider": "BT", "pricePerGB": "£1", " connect! onTime " : "90min", "ip": "10.255.33. xx", "key" : "asd99-sj ds j -tt2 ImtlwO " , "latency": {"min": "max": ""} ,"capability": ["Data", "IMS Voice", "Fallback Voice"] , "dataType": ["C2C", "High Priority", "Medium Priority"]} ,"3G": {"provider": "02","pricePerGB" : "£0.5"," connect! onTime " : "30min","ip": "10.255.33. xx","key" : "asd99-s j ds j -tt2 ImtlwO " ,"latency": {"min": "max": ""} ,"capability": ["Data", "IMS Voice", "Fallback Voice"] ,"dataType": ["C2C", "High Priority"]} ,"2G voice": {"provider": "BT","pricePerGB": "£0.1"," connect! onTime " : "120min","ip": "10.255.33. xx","key" : "asd99-sj ds j -tt2 ImtlwO " ,"latency": {"min": "max": ""} ,"capability": ["Data", "IMS Voice", "Fallback Voice", "Dual Radio Voice"] , dataType": ["C2C"]} ,"failure": {"connectivityLoss" : {"action": "nearest safe location"} ,"componentFai lures" : {action": "abort"} ,"connectionFailure" : {"action": "return to green zone"}}}

[0056] The remote system 100, as shown in the example of Figure 1, may include failsafe services 140. The failsafe services comprises one or more mission-critical services that need to be available to the vehicle regardless of presence of any latencyissues. For example, the failsafe services 140 may comprise critical mission control functions such as the functions that enable the vehicle to land or identify obstacles.

[0057] The remote system 100, as shown in the example of Figure 1, may include a storage 160. The storage 160 may store data handled or to be handled by one or more components of the remote system 100, such as the monitor 170, policy manager 120, and / or mission manager 130. The storage 160 may form a part of the remote system 100 as shown in Figure 1, or be an external storage (e.g. a cloud storage) having an established connection with the remote system 100.

[0058] Figure 2 shows an exemplary communications module 200 according to an embodiment. In the example of Figure 2, the communications module 200 is implemented as an autonomous vehicle agent . However, it will be understood that, in other embodiments, the communications module 200 may be implemented in any other suitable form(s) that is / are different from the autonomous vehicle agent 200 shown in Figure 2, such as a single component of the vehicle, a part of a single component of the vehicle, a combination of a plurality of components of the vehicle, and a combination of a plurality of parts of a plurality of components of the vehicle.

[0059] The communications module 200 may run on a separate edge gateway attached to the vehicle, acting as an extension to the existing vehicle systems. The communications module 200 may comprise a communication interface for communicatively coupling the communications module 200 to one or more onboard systems of the vehicle.

[0060] As shown in Figure 2, the communications module 200 may comprise a monitor 210. The monitor 210 may comprise a vehicle data monitor 212 and network monitor 214. The vehicle data monitor 212 may monitor one or more of: vehicle conspicuity data, telemetry data, and command and control (C2C) data. The network monitor 214 may comprise a network traffic monitor module 215, channels monitor module 217, and connectivity monitor module 219. Alternatively, two or more of the network traffic monitor module 215, channels monitor module 217, and connectivity monitor module 219 may be integrated to form a single module. The network traffic monitor module 215 monitors network data rates. The channels monitor module 217monitors network channels and the QoS on these channels. The network connectivity monitor module 219 monitors the RS SI, SNR, RTD, latency and bandwidth of the network.

[0061] The communications module 200 comprises a traffic analyser configured to split the network traffic into a plurality of streams based on a type of data being conveyed by the network traffic, and classify each of the plurality of streams with a respective classification that indicates the respective type of data being conveyed by the network traffic belonging to that stream. In the example shown in Figure 2, the autonomous vehicle agent 200 comprises a network management module 230 having a payload splitter 232, payload categoriser 234, channel categoriser 236 and notification service 238. The payload splitter 232 may monitor and separate IP streams coming from an autopilot or mission manager (ROS). The payload splitter 232 may also detect the frequency of messages from components by reading verbose messages (e.g. Mavlink) and determining redundant and non-redundant data. The module may then apply rules to break out high and low priority traffic. The data labelled with the corresponding priority levels may then be passed to the payload categoriser 232. The payload categoriser 232 may assign categories to the data based on the priority of the data. As a result, critical data, such as C2C data may be identified. The channel categoriser 236 may utilise network meta-data from the network controller 110 in the remote system 100 with vehicle SIM meta-data in conjunction with data from the channels monitor module 217. Such data is combined to assign categories to network channels. For example, high priority may be assigned to signalling and voice channels. The notification service 238 may receive notifications from the remote system 100, including information relating to the network status, channels to be used for different types of data, and / or actions (e.g. change of course) to be executed in the event of critical event.

[0062] The communications module 200 also comprises one or more transceivers configured to provide one or more communication channels for communicating with an external network. In the example shown in Figure 2, the autonomous vehicle agent 200 comprises a transmitter 240 and a receiver 250. The receiver 250 may be configured to receive commands from the remote system 100. The receiver 250 may also be configured to receive commands from a mission planner. The transmitter 240may be configured to send reports to the remote system 100. Such a report may, for example, include data relating to one or more of the conspicuity, signal (e.g. signal strength and / or latency) of networks in flight, RS SI decline, vehicle battery status, speed, bearing, and / or location. The transmitter 240 may be configured to route data by sending the data over multiple communication signal paths (e.g. 4G, 5G).

[0063] The communications module 200 may comprise a policy store 260 for holding the policy described above. The communications module 200 may also comprise a mission module 220 for storing the journey plan assigned to the vehicle.

[0064] As mentioned above, multiple SIMs may be provided in the vehicle. The multiple SIMs may be provided in a Multi-SIM Multi-Active (MSMA) operational mode that allows communication across the different networks from different providers. This may include, for example, a first SIM port (SIM Port 1) that supports 4G / 3G / 2G and a second SIM port (SIM port 2) that supports 2G / 3G. There may be bearer limitations, such as SIM Port 1 may support voice and data while SIM Port 2 is voice-only or SIM Port 1 supports IMS and CS voice while SIM Port 2 supports CS voice only (for example).

[0065] By way of example, in any embodiment dongles may be used to provide network communications. A separate dongle may be used for each network channel. Such dongles may allow connection to an edge gate-way, and when connect it they may be treated as traditional Ethernet connections.

[0066] Three exemplary flight scenarios, namely, a normal flight, a RS SI decline event, and a loss of connection event, of a vehicle having the communications module 200 (described in relation to Figure 2) that is configured to be in communication with the remote system 100 (described in relation to Figure 1) will be described in relation to Figure 3. It will be understood that the scenarios described below are provided as examples only, and some of the steps described below may not be necessary. For example, one or more of the steps described below may not need to be repeated if the vehicle already carried out the said steps for one of its previous flights and there has not been significant change in the flight environment since the previous flights.Furthermore, although the vehicle 300A, 300B is a flying vehicle in the scenarios described below, it will be understood that the vehicles of different types (e.g. motor vehicles, watercraft, and railed vehicles) may also be used in other embodiments.

[0067] Normal flightIn advance to a flight a user may create a journey plan for the vehicle 300 A, 300B.The journey plan may include one or more of: an origin 100, destination 350, altitudes, speed, and expected times. In the example shown in Figure 1, the origin is the physical location of the remote system 100 (i.e. the ground central server 100). However, it will be understood that the vehicle’s journey may have a different origin that is close to or distanced away from the remote system 100. The expected times may include one or more of an expected time for arrival at the destination 350, expected times for arrival at one or more checkpoints, expected durations of entire or one or more segments of the journey. Optionally, one or more of the expected times may be given in ranges.

[0068] The journey plan, once created, may be loaded onto the mission manager 130 of the remote system 100 (e.g. a ground central server 100 as shown in Figure 1). Based on the journey plan received, the remote system 100 may ring-fence the network resources for the duration of the flight. The mission manager 130 of the remote system 100 may also determine the vehicle’s journey path based on the journey plan received, and identify communication channels that are available to use for the duration of the journey. In the example shown in Figure 1, the journey path between the origin 100 and the destination 350 may pass the network coverage areas 320A, 320AB, 320B, 320BC, 320C in order for the vehicle 300A, 300B to be able to utilise the network coverages provided by the base stations 310A, 310B, and 310C during the course of its journey. The remote system 100 may also reject the journey plan if it is determined that insufficient or no network resources are currently available or would be available during the duration of the journey in one or more sections of the vehicle’s journey path. If the remote system 100 determines that there is and / or will be sufficient network resources available during the journey, the remote system 100 may determine where and when each communication channel can be used. For example, in the example shown in Figure 1, the remote system 100 may determine that communication channels provided via the base stations 310A, 310B,and 3 IOC should be used when the vehicle 300 A, 300B passes the network coverage areas 320A, 320B, and 320C, respectively. Where a plurality of network channels are available (e.g. where a base station of the corresponding area can provide a plurality of network channels, and / or network channels from a plurality of base stations are accessible) preferred channels to be used may also be determined by the remote system 100. The determined schedule relating to the network channels is included in the policy which is loaded onto the policy store 260 of the communications module 200 prior to the journey.

[0069] The policy is loaded onto the communications module 200 of the vehicle 300A, 300B, and a user may start the journey through the remote system 100. During the journey, the vehicle data monitor 212 may monitor the conpicuity, telemetry, and C2C data from the vehicle. Similarly, the network channels, data traffic and connectivity may be monitored by the network monitor 214 during the journey. The monitored in-flight data, including telemetry, latency, and network channel availability, may be sent to the message management module 150 of the remote system 100.

[0070] During the journey to the destination 350, the network management module 230 of the communications module 200, based on the policy, may determine prioritisation of data to be transmitted to the message management module 150 of the remote system 100. The network management module 230 may also, based on the policy, determine the network channels via which each type of data should be transmitted to the message management module 150.

[0071] At the destination 350, the vehicle may perform any tasks specified in the journey plan. Upon completion of the journey, the vehicle may close the policy or store the policy for the next journey of similar nature. The journey plan may include one or more additional tasks and / or destinations. For example, upon completion of the journey, the vehicle may travel to a recharging station for recharging. Furthermore, any network resources that may have been ring-fenced for the journey may be released upon completion of the journey.

[0072] RSSI declineDespite performing the initial check on the availability of the network resources in the journey path prior to the journey, the vehicle 300B may still experience RS SI decline during the journey due to unexpected changes in the network or journey environment. In view of this, the network monitor 214 of the communications module 200 may notify the remote system 100 of the RSSI decline. Such RSSI decline condition may be defined by a critical bandwidth level and / or other network parameter(s) specified in the policy, and may be detected by monitoring the network bandwidth using the network monitor 214.

[0073] The policy may also include rules for prioritising data by data types. For example, C2C data, which is critical for the operation of the vehicle, may be assigned with the highest priority. Therefore, in the event of RSSI decline, transmission of other types of data (e.g. telemetry and video feed) may be degraded or paused in order to ensure that the high priority data (e.g. C2C data) is transmitted. In such cases, the remote system 100 may optionally be notified by the communications module 200 of the downgrading or pause of the low priority data transmission. As a result of such selective treatment of data streams (i.e. by prioritisation by data types) one or more data streams for critical data (e.g. C2C data) has a higher probability to be maintained. This in turn improves the probability for the vehicle to complete the tasks specified in the journey plan and arrive at the intended destination 350.

[0074] At the destination 350, the vehicle may perform any tasks specified in the journey plan. Upon completion of the journey, the vehicle may close the policy or store the policy for a next journey of similar nature. The journey plan may include one or more additional tasks and / or destinations. For example, upon completion of the journey, the vehicle may travel to a recharging station for recharging. Furthermore, any network resources that may have been ring-fenced for the journey may be released upon completion of the journey. During the journey or after the completion of the journey, the communications module 200 may also send data relating to any RSSI decline events it experienced during the journey to the remote system 100. Such data may be used to update the known status of network resources (e.g. status of base stations and signal strengths).

[0075] Loss of connectionDespite performing the initial check on the availability of the network resources in the journey path prior to the journey and attempting the selective data stream described above, the vehicle 300B may still experience loss of connection from the controller of the vehicle during the journey due to unexpected changes in the network or journey environment. In such cases, a notification may be sent to the failsafe service of the remote system 100. The failsafe service 140 may then authorise one or more fall-back controller operations specified in the policy. Such fall-back operations may, for example, be: moving the vehicle to the point of last contact, a known safe area, a nearest safe area detected by the vehicle, and / or the origin. Alternatively, the policy may specify the vehicle to continue the journey as planned, without attempting to restore the lost connection. Optionally, the remote system 100 may notify one or more other vehicles within a certain distance (e.g. a radial distance) from the vehicle that have lost connection. Depending on the policy, the vehicle may continue its planned journey if the connection is restored by performing one or more of the fall-back operations, or abort the planned journey.

[0076] Any embodiments may be implemented within an autonomous vehicle, which refers to any vehicle that is driverless and can operate and perform functions without any human intervention possible through a number of technologies such as cameras, GPS, sensors and localised analytics. Examples include aerial drones, driverless cars, and robots. Drones may include fixed-wing, rotary-wing and multi-rotor designs having a flight controller comprising flight software, sensors, gyros, and accelerometers, GPS, control interfaces and communications interfaces. The flight controller is capable of flying the drone autonomously, navigating to coordinates and monitoring on-board systems. However, the overall command and control of the drone may be provided by the Ground Control Station / Operator.

Claims

CLAIMS1. A communications module for a vehicle comprising: one or more transceivers configured to provide one or more communication channels for communicating with an external network; a communication interface for communicatively coupling the communications module to one or more onboard systems of the vehicle; a router configured to route network traffic between the one or more onboard systems and the external network via the one or more transceivers; and a traffic analyser configured to: split the network traffic into a plurality of streams based on a type of data being conveyed by the network traffic; and classify each of the plurality of streams with a respective classification that indicates the respective type of data being conveyed by the network traffic belonging to that stream, wherein the router is configured to route the network traffic associated with each stream based, at least in part, on the respective classification for each stream.

2. The communications module of claim 1, wherein: the respective classification of each stream indicates a relative priority of that stream compared to the other streams; and the router is configured to route the network traffic associated with each stream based, at least in part, on the relative priority of each stream.

3. The communications module of claim 1 or 2, wherein: the vehicle is an autonomous vehicle, such as an autonomous aerial vehicle; the types of data comprise one or more of: command and control data;telemetry data; loT data; and video data; and the router is configured to route the network traffic associated with one or more of the streams for which the respective classification indicates the respective type of data being conveyed by the network traffic belonging to those streams is command and control data with a greater degree of preference than the traffic associated with other streams for which the respective classifications indicate the respective type of data being conveyed by the network traffic belonging to those streams is not command and control data.

4. The communications module of any one of the preceding claims, further comprising a network monitor to determine a respective quality of service provided by each communication channel, wherein the router is configured to route the traffic associated with each stream based, at least in part, on the respective quality of service provided by each communication channel.

5. The communications module of claim 4, wherein the network monitor is configured to determine the respective quality of service provided by each communication channel, at least in part, by monitoring the one or more communications channels.

6. The communications module of claim 4 or claim 5, wherein the network monitor is configured to determine the respective quality of service provided by each communication channel based, at least in part, on a predicted quality of service for the one or more communications channels.

7. The communications module of any one of claims 4 to 6, wherein the router is configured to drop some or all of the network traffic associated with at least one of the streams based on the respective classification of that stream and the respective quality of service determined to be provided by each of the communication channels.

8. The communications module of any one of claims 4 to 7, wherein the communications module further comprises a traffic filter configured to reduce an amount of network traffic within one or more of the network streams in accordance with one or more filtering rules, the one or more filtering rules instructing the traffic filter to drop substantially redundant network traffic from a stream based on the respective classification of that stream.

9. The communications module of any one of the preceding claims comprising a plurality of transceivers configured to provide a plurality of communication channels, each of the communications channels being provided by a respective transceiver, wherein the router is configured to select which of the communication channels the network traffic associated with each stream is to be transmitted based, at least in part on the respective classification for each stream.

10. The communications module of claim 9 when dependent on any one of claims 4 to 8, wherein the router is configured to select a communication channel for at least one of the streams based, at least in part, on a respective QoS requirement for that stream and the respective quality of service determined for each of the communication channels.

11. The communications module of claim 9 or claim 10, wherein the router is configured to redundantly communicate the network traffic associated with at least one of the streams via a plurality of the communication channels.

12. The communications module according to any one of the preceding claims further comprising a quality of service negotiation module configured to communicate with a network management system for the external network to guarantee a quality of service for communicating with the external network via at least one of the communication channels.

13. The communications module according to any preceding claim further comprising a policy store for storing a policy that configures the router to route the network traffic.

14. A remote system for use with a vehicle communications module, the system comprising: an input for receiving an intended journey plan for the vehicle; one or more inputs for receiving network status information for one or more networks through which the intended journey passes; a policy determination unit configured to determine a policy that specifies one or more network parameters to which the vehicle communications module must conform to ensure that a stream, transmitted by the vehicle communications module and having a predetermined classification, meets a predetermined quality of service level; one or more transceivers configured to provide one or more communication channels for communicating the policy to the communications module according to any of claims 1 to 13.

15. The system of claim 14 wherein the network parameters comprise one or more of: one or more network channels to use for corresponding stream classifications; a permitted cost associated with sending data over a corresponding network channel; a permitted latency associated with a corresponding network channel; one or more permitted data types that can be transmitted over a given network channel; one or more permitted network providers; a permitted network channel connection time; and a permitted capability for a given network channel.