Autonomous Car ROS

- 1 min

University assignment that consisted of developping software for autonomous driving of a prius vehicle in a simulated test track using ROS. The prius has two main sensors: a front-facing camera behind the windscreen and a 360 degree top mounted lidar. The vehicle receives camera images and lidar pointclouds as ROS topics.

A virtual controllable Prius vehicle must use its sensors to detect obstacles and pedestrians, and use these detections to drive automatically between a path outlined by cones, without hitting any obstacle. The vehicle must stop at the sight of pedestrians.

The simulator (car and environment) being provided by the university, three additional ROS packages have been implemented as a solution.

  • An opencv_person_detector package, containing the node to detect 2D bounding boxes of all persons in a camera image using OpenCV.
  • A pcl_obstacle_detector package, containing the node to detect 3D bounding boxes of all barrels in the lidar pointcloud using PCL.
  • A control_barrel_world package, containing the node to control the vehicle, by subscribing to 3D barrel detections and 2D person detections and publishing control messages.

The following figure displays the topics and nodes present in the solution.

The source code for this assignment must remain undisclosed. Below is a blurry recording of the working simulation after the solution has been implemented. The gif makes the display lag a bit.

comments powered by Disqus