Difference between revisions of "2021FallTeam6"
|Line 61:||Line 61:|
to develop a in ROS vehicle to vehicle communication .
Our project consists of two cars: lead car and the follower car. If the lead car should crash, it shall a message to the follower carwhich causes it to stopthat the follower car into the same obstacle. For sensing the crash, we use an IMU in the lead car. If a specific threshold is met , the car a message . If the follower car receives this specific message, it should cause an immediate stop
== Gantt Chart ==
== Gantt Chart ==
Revision as of 11:38, 10 December 2021
Team 5.5 consists of the former two-person teams 5 and 6. We've built everything separately except for the final project where we collaborated to make v2v communication work.
Liam Fowler - Mechanical Engineering
Johannes Diehm - UCSD Extension
Donkey Car Laps
Our goal was to develop a system of nodes in ROS to enable vehicle to vehicle communication between 2 cars. We took inspiration for our project from the "Black Ice" phenomenon, whereby cars in icy conditions slide out and crash due to difficult-to-see ice on the road. By allowing cars to communicate with one another, a car involved in a crash could tell other cars that there is an issue on the road ahead, allowing the cars to slow down or stop to avoid the road hazard.
Our project consists of two cars: the lead car and the follower car. If the lead car should crash, it shall publish a message to the follower car, which causes it to stop, thus preventing that the follower car from crashing into the same obstacle. For sensing the crash, we use the accelerometer sensor on an Openlog Artemis IMU in the lead car. If a specific deceleration threshold is met (i.e. 10 milli g), the car publishes a message to a connected following car. If the follower car receives this specific message, it should cause an immediate stop.
In our case, we set the lead car to be the "Master" roscore, to which we connected the follower car.
You can find the GitHub repository to our code here: https://github.com/LiamEFowler/ECE-MAE-148-Group5.5-Black-Ice
In summary, we added a talker node on the lead car, a listener node on the follower car and the according launch files. In the talker node, we implemented a module to read the output of the IMU, filter it for the axis of acceleration that was interesting for us (frontal deceleration) and publish a message if the threshold was met. In the listener node we implemented a module that, if a specific message was received, called a function in the lane_guidance_node. In the Lane_guidance_node, we had to implement the function that could be called from the listener node and which stopped the car.
Final Presentation Slides: