Difference between revisions of "2022WinterTeam4"
Line 77: | Line 77: | ||
== ROS2 Implementation == | == ROS2 Implementation == | ||
We modified the lane guidance node from the lane detection package in order to receive data points from the LiDAR and use them to adjust the throttle and keep a certain distance between our car and any object it detects in front of it. We used an algorithm that adjusts the throttle accordingly and added a first order filter to reduce the noise and keep the throttle more stable, otherwise it would keep fluctuating and not keep the throttle at a certain level. | Overview: We modified the lane guidance node from the lane detection package in order to receive data points from the LiDAR and use them to adjust the throttle and keep a certain distance between our car and any object it detects in front of it. We used an algorithm that adjusts the throttle accordingly and added a first order filter to reduce the noise and keep the throttle more stable, otherwise it would keep fluctuating and not keep the throttle at a certain level. | ||
[[File:constants_and_imports.jpg]] | |||
[[File:new_instance_variables.jpg]] | |||
[[File:subscribe_code.jpg]] | |||
[[File:cruise_control_code.jpg]] | |||
== Throttle Schedule Algorithm == | == Throttle Schedule Algorithm == |
Revision as of 17:17, 22 March 2022
Team 4: Adaptive Cruise Control
Hussein Batteikh (ECE)
Jon Carlo Bergado Bibat (CE)
Haojin Chen (MAE)
David Qiao (MAE)
Physical Robot
Construction Design
The plate used has the specifications of m3 holes being 1.5 centimeters apart. There are 4 curved edges around the sides of the plate which connect to the 4 legs that were 3D printed to give more room for the wiring and raising the camera, jetson, and lidar to get the best view and data collection processes. There are extended holes on the edges of the base plate to allow better wiring adjustments and attaching the Jetson Nano at the rear side of the plate in order to place the LiDar and Camera mounts at the front. The camera mount was designed as one curved leg connected to two adjustable arms in which they would move the camera up and down to calibrate for the best viewing angle. The lidar mount is attached at the front of the plate with two m3 screws diagonally to support the weight of the lidar.
Electrical Schematic
Completed Car
Donkey 3 Autonomous Laps
Media:8mb.video-vQW-nDmf1NJR.mp4
ROS2 3 Autonomous Laps
Media:8mb.video-Bfc-Y3EXQ5rl.mp4
Final Project
Gantt Chart
Objective
The goal is to program the robocar using ROS2 with the ability to detect the speed of a moving or stationary object in front of it through the LiDAR and have it adjust its speed accordingly to avoid collision while driving autonomously, as well as filtering out the front vision so that the object in the front does not confuse the training.
Approach
Vehicle will drive autonomously through lane tracing.
The vehicle’s central processing unit will detect the center of a lane through an image provided by a RGB camera.
The image will be processed through OpenCV where the center of the lane will be calculated.
Once the center of the lane is calculated, steering will be adjusted based on the error away from the vehicle’s center.
Vehicle will adjust throttle speed based on the distance from of an object in front of it.
LiDAR will distance data of any object in front of the vehicle’s frontal view range.
As a frontal object gets closer, throttle value will be adjusted to go slower or a complete stop.
A first order filter was applied to the LiDAR readings to reduce noisy data for better stability.
ROS2 Implementation
Overview: We modified the lane guidance node from the lane detection package in order to receive data points from the LiDAR and use them to adjust the throttle and keep a certain distance between our car and any object it detects in front of it. We used an algorithm that adjusts the throttle accordingly and added a first order filter to reduce the noise and keep the throttle more stable, otherwise it would keep fluctuating and not keep the throttle at a certain level.
File:Constants and imports.jpg
File:New instance variables.jpg
Throttle Schedule Algorithm
Demonstration Video
Media:8mb.video-SGR-lBDGoTHd.mp4
Acknowledgement
Professor Jack Silberman, TA Dominic and Ivan, ECE Makerspace