JASS (Joint Advanced Student School) tackles a different project every year with the goal of innovation and teamwork among students of different majors and universities. This year and for the first time JASS will take place in Cairo in collaboration with the German Internation University.
Autonomous driving for open roads such as highways has reached a certain level of perfection. Most of the autonomous driving assistants have reached level 2 on the autonomous driving scale; Mercedes even has achieved level 5 however the maximum speed is 60km/h - not exactly a high speed for an autobahn. While open-road driving is a well-studied and more-or-less-solved problem, city roads especially roundabouts, are still challenging.
In a roundabout, cars constantly cross paths, in many different directions. This problem has been addressed by many traffic management systems by using traffic lights or stop signs. However, imagine a scenario where a car has to stop at a red light in the middle of the night with no other cars nearby. One solution would be to equip the roundabout with sensors to deal with this problem. At the very least, the car should be able to communicate its presence to the sensor of the roundabout, which can verify that no other cars are nearby, and then the roundabout can turn the light green for the stopped car. Another proposal is to allow cars to “call ahead” and reserve space-time in the roundabout.
In this project, we investigate another concept, namely the geofencing of roundabouts. This concept assumes that cars are controlled by human drivers outside the geofence. However, as soon as a car enters the geofence, its autonomous system takes over to control the car through the intersection.
The city map consists of a single roundabout with three entries/exits from/to the points of interest Pyramids, GIU, and Hotel. While this particular map only consists of a single roundabout, our system was designed with extensibility so longer roads and multiple roundabouts could be placed without issues.
- Localization: Every sign on the map was tagged with AprilTags that can be detected by the cars.
- Roundabout permissions: Each entry to the roundabout is marked as an entry to a geofence where we hand control to the roundabout.
- Bump detection: When a car detects a bump, it will send a message to the city subsystem with the last AprilTag it detected.
- Websocket communication city<>car, city<>roundabout, city<>view
The roundabout subsystem is responsible for the decision-making in the roundabout. Meaning the roundabout is notified by the CityManager about all cars entering the geofence. They get registered and scheduled for entering the roundabout in a fair and efficient way while avoiding starvation.
- Scheduling Algorithm for cars in the geofence using Occupancy matrix
- Implementation of the Strategy pattern to dynamically choose between different scheduling algorithms during runtime
- Websocket communication roundabout<>city
Car Subsystem is a subsystem representing a real vehicle participating in the city traffic. For development purposes, duckiebots were used. These bots have two sensors: an optical camera and wheel odometry.With that data as input, these bots are capable of both local (lane following) and global (city navigation) localization. Additionally, they support a bidirectional web socket communication with the city.
- Apriltag detection
- Websocket communication bot<>city
- Lane detection
- (Lane following)
The view subsystem represents the main visualisation platform of the Smart Traffic Management System. It collects data from the CityManager as well as the RoundaboutManager subsystems in real-time via the WebSocket protocol and presents the (meta-)data of all currently available Duckies on a cross-platform website to the user.
- Real-time collection of data from CityManager/RoundaboutManager
- Proper parsing and aggregation of the data
- Visualize the (meta-)data of all Duckies on a city map
- Websocket communication view<>city
- Cross-platform ReactJS website
- Find our project on Github.
- DuckieTown documentation.