Research

MinimizeClose

PhD topic: Group Communication?for Collaborative Driving

Vehicles are becoming increasingly autonomous. Electronic control of vehicles has gone from anti-blocking to advanced steering systems and adaptive cruise control. We expect this trend to gradually continue towards fully autonomous vehicles, not unlike those showcased at the DARPA Grand Challenge. To allow these vehicles to decide on driving behaviour, they need to coordinate their decisions with each other. Group communication will play an important role in achieving reliable and efficient collaboration.

Traditional group communication systems (GCS) were designed for distributed databases. They provide communication primitives to maintain consistent state across a set of identical replicas. A GCS for collaborative driving has quite different requirements. It needs to deal with real-time constraints, continuously changing information, dynamic topologies, detecting presence and much more. We are researching the possibility of developing a group communication system on top of vehicular networks that can deal with the following challenges.

Unreliable communication: Vehicles only have wireless communication channels available to them, which are inherently unreliable. The environment in which cars travel further hampers the scope of radio waves. Radio communication systems experience interference from other traffic, buildings, hills, trees, etc and are inherently limited in range. Different types of systems like ad-hoc or infrastructure networks are available to cars. These systems offer different functional and non-functional properties. Combining these systems to provide a homogeneous system to maximize reliability is one of the challenges of inter-vehicle group communication.

Real-time: Vehicles need to reach driving decisions in real-time. That is, with hard deadlines. The combination of unreliable communication and real-time constraints makes eventual guarantees impossible. Applications will need to systematically adapt to the achievable communication result. Rigorous feedback mechanisms are required to enable cars and drivers to decide whether sufficient information is available to guarantee safety.

Membership: Traditional group communication systems (GCS) have a membership service that keeps track of nodes that join or leave the network. Membership effectively provides an expectation of which nodes are to respond to a multicast. In a GCS for collaborative driving this is no different, except the communication groups are typically defined by the presence in an area. Since vehicles will be present in a target area regardless of their success at communicating their presence, a membership services will also need to make use of sensing and driving rules. Vehicles need to be able to reliably distinguish between communication failure and the absence of a potential vehicle to decide on whether communication truly succeeded.

Dynamic Information: One peculiar property of collaborative driving applications is that the information they exchange changes continuously. Every second of delay between the time at which information is gathered and the time at which it is used significantly decays the quality of the information. There are also other dynamics, such as the scope and the relevance. The accuracy of information on distant vehicles is generally not as important as that on nearby vehicles. On the other, there is a lot more of it. All of this affects how well the system can perform and how well it needs to perform.

Cyber-physical interactions: Perhaps the biggest challenge of a communication system for collaborative driving is the strong dependencies between communication, sensing and the driving dynamics. Group membership determined by geographic location is one example of this. Whereas communication affects the achievable driving behaviour and availability of sensing information, the resulting positioning also affects the communication. Algorithms need to be carefully designed to prevent escalation of failures.

These challenges are not as insurmountable as they may seem. The platform and the applications have certain properties we can utilize..

Autonomous decisions: Cars ultimately decide on their own behaviour. The main requirement of a collaborative driving system is that it can confirm the safety of intentions. It does not necessarily need to do so in a way that is consistent across all vehicles. Each car is responsible for its own behaviour and information gathering. Distributed database-related features such as atomicity and consistency, although useful, are not strictly requried.

Constrained behaviour: Vehicles and thus the information about them, behave according to strict constraints. A vehicle cannot go from one location to another without following the path between them, nor can it change roads without some interconnection existing. Vehicles can also travel in the same group for long periods of time. For the most part, vehicles are quite predictable. This allows us to compute how information changes over time.

GPS Time: We can reasonably expect all future vehicles to be equipped with GPS. The time obtained from GPS can be accurate within a few nanoseconds. This can be a highly useful asset in solving distributed ordering problems. For example, by specifying a delivery time for messages relative to GPS time, messages are not only naturally ordered across all vehicles, they can be delivered to the applications at almost the same time.

Collaborative driving is a new type of distributed system, where many traditional rules and constraints break down and new ones appear. Work in this area will have strong implications for the future of transportation and robotics in general.

The work is sponsored by a Science Foundation Ireland Research Frontiers grant and carried out in the Distributed Systems Group of the School of Computer Science and Statistics at Trinity College Dublin under supervision of prof. Vinny Cahill.

Sticky
MarcoSlot.Net now runs entirely in the Cloud! Using S3 as a storage back-end and Google App Engine & CloudFront as delivery front-ends it is fast, cheap, scalable, monitored 24/7 and I have no idea how it works anymore.