Design and Implementation of Autonomous Vehicle System Part 1What is an Autonomous Vehicle System?Based on Wikipedia, an autonomous vehicle is a vehicle thatis capable of sensing its environment and navigating without human input. Using sensors like radar, lidar, GPS, odometry and computer vision, autonomousaerial and non-aerial vehicles can detect and analyze the environment for navigationand data collection.Currently I am enrolled in a project where the target is, at final, implementsome basic autonomous features to a robot vehicle. So, I decided to share this journey,allowing access to the projects content. This is an ongoing project and so, Iwill update this blog and the repositoryfrom time to time while the project is in progress.My goal is the design and development of software system or, in other words,the algorithms used to implement applications involved in both discrete actionsand continuous motions. So, I will not go into details about the hardware used (itis very simple) but I will point some resources where you can get more details.So, let me describe what you will find here in the next weeks.Summary of ProjectContentTo facilitate the design, implementation and tests, thesoftware language will be primarily Python but I will try to provide a C/C++version when possible (and if I have time) for better performance. In addition,in some cases I will also provide the Matlab source code that is a goodplatform for simulation.That said, as I mentioned above, the basic autonomous that Iwill be working on are listed as follow: Trackingo Path planning (Dijkstras algorithm).Implementation in Python for easy test and C/C++ for better performance.o Controlso Estimation (Extended Kalman Filter EKF) Calibrationo Calibrate sensorso Calibrate the robot Controlo Design and implement a controllero Apply to poseso Follow AprilTag markerso Implement EKF to manage AprilTago Process measurements values from IMU Putting all togetherMoving the robot autonomouslyChoosing the hardwareBasically, I am using: Raspberry Pi 2 (but Pi 3 has better performance) Sense HAT (but you can use any other IMU) Pi camera 2 DC motors Stepper motor HAT BatteriesTo help on the hardware list, here you have 2 suggestions. The first, you will find herefrom Adafruit. The second, you will find herefrom Sparkfun where you will need to replace Arduino by Raspberry Pi 2 or 3.In both suggestions you will need to add a Pi camera, an IMU and stepper motorHAT.Here is a picture of my hardware kit.Figure 1- The hardware listIn Adafruit website you will find figures and videos showinghow to assembly the hardware.Here is a picture of my assembled robot.Figure 2-Final assembled kitOne suggestion about the hardware is try to use a differentpower source for the motors and for raspberry pi. The motors use to dry a goodcurrent value and if you use the same power source for both raspberry pi andthe motors, this might make raspberry to became unstable, causing malfunction,which means that your computer becomes not reliable. Or use a robust batterythat can support the entire system.Getting the softwareIn this project I am using Raspbian Jessie version 4.4 thatyou can download from here.The software for vehicle control is ROS Indigo that you can download from here.Software InstallationInstalling the