«

»

Nov 28

Falcon FAV100 – Fully Autonomous EV3 Car

IMG_0893

The Falcon FAV100 is a fully autonomous vehicle built using LEGO Mindstorms EV3. It uses four different proximity sensors, including a Mindsensors SumoEyes, to detect and avoid obstacles as it drives. GPS integration is coming soon, which will complete the Autonomous driving capability. Lastly, awesome racecar styling ties together this sweet EV3 machine!

 

 

Racecar Styling

IMG_0895IMG_0907The Falcon FAV100 has some pretty slick styling to match its cool mechanical and software features. It is styled like a DTM racecar, with a spoiler, cool decals and red-on-black color scheme. The Mindsensors SumoEyes in front resembles menacing red headlights.

 

Drivetrain and Steering

IMG_0908IMG_0909RC program

The Falcon FAV100 utilizes a very compact rear-wheel drive drivetrain; possibly my most compact ever (pic 2). Two hard-coupled EV3 large motors provide the power to propel the Falcon. Their power is routed through a 1:3 ratio, which redirects power 90 degrees into the differential, then out to the wheels. The steering is a rack-and-pinion system, animated by an EV3 Medium motor (pic 1). Through the programming, the steering motor returns-to-center when controlled via remote, and you can adjust how sharp the turns are by changing “int steeringFactor” (pic 3).

 

Sensors

IMG_0904IMG_0897IMG_0898

There are four sensors used in the operation of the Falcon’s autonomous driving mode. Each are proximity sensors that are used to detect obstacles. In the front is a Mindsensors SumoEyes (pic 1), which provides a 3-zone obstacle detector, spotting objects front left, front right or directly ahead. There is an EV3 IR sensor on each side of the car, meant to locate obstacles on its side (pic 2). Lastly, an EV3 Ultrasonic sensor located in the rear of the car detects obstacles behind the car (pic 3). The next section explains how the program coordinates these sensors and motors into a functioning autonomous vehicle.

 

Autonomous Program

Piece of Program

The program for the FAV100 is written in RobotC (a piece of it is pictured to the left). This is a basic rundown of how it works: First, it checks the SumoEyes to see if there are any obstacles in front of the car. If there is an obstacle front-left or front-right, the robot turns away from the obstacle. If the obstacle is directly ahead, the Falcon will stop, reverse, turn and continue on in a slightly different direction. If the SumoEyes does not detect an obstacle, the program will then check any of its other sensors. It checks if there is an obstacle as seen by the left or right IR sensors; if so, then it makes the necessary turn away, if not, it checks to see if there is an object behind the car; if so, the car accelerates. If there is no obstacle anywhere, the car just drives straight. This way, the car avoids any obstacles that may collide with it.

 

Conclusion

IMG_0903

I had this little car sitting around for months, and realized that I could actually publish it; and now you guys can see it! I am surprised at how nicely the styling and program came out. This is one of my first RobotC programs. In the near future, I plan on integrating a GPS into the Falcon so it can navigate on its own. (This will then become the FAV150). Thank you for reading, let me know what you think, and I will see you next time!