While the lack of independent mobility, specifically that the motors failed to provide sufficient torque to move the vehicle, clearly hindered this project, strong progress was made towards the objectives laid out at the beginning of the project.


If the motors had been able to supply sufficient torque for startup and braking, the goal of automation would have been successful. Tests such as the MoveToX test revealed that, when given a push in order to start moving, the Raspberry Pi was able to read feedback from the encoders and make feedback decisions, shutting off the motors at an appropriate time.


The Raspberry pi and motors are powered by the 2S1P Lithium Polymer Battery, and the Virtual Network Computing (VNC) allowed users to access to the Raspberry Pi via a remote desktop, so that tests could be executed without a physical connection to the Raspberry Pi


A few examples of potential project include:

  • Improved Control of vehicle turning.
  • Image processing using the on-board camera.
  • Advanced navigation using a series of (r, θ) or other inputs.
  • Data fusion using encoder, IMU, and Motion Capture camera feedback.
  • Design of a custom Electronic Speed Controller to allow improved feedback control.

Many more projects can certainly be developed using this platform.


Construction of additional vehicles is made easy by the effective documentation of components undertaken throughout the semester.  A GitHub repository, available at https://github.com/hgonzale/PiCar, includes all files necessary for the construction of additional vehicles, as well as provides documentation necessary for anyone wishing to make modifications. While the model considered final for the purposes of this project this semester, changes will surely be made during future projects.

  • Size: The final model had dimensions of 15 cm by 18.
  • Mass: The final model had a mass of only 0.70 kg.
  • Speed: Because the motors lacked sufficient torque, they were unable to reach any speed on their own.
  • Steering: The steering radius could not be measured, again due to lack of motor torque
  • Data Acquisition: The encoders measured velocity and distance, provided that angular velocity remained lower than approximately 1000 RPM. Additionally, the IMU read X, Y, and Z acceleration, X, Y, and Z gyroscopic motion, X,Y, and Z magnetic field intensity, and temperature.
  • Control: The Raspberry Pi was able to perform all data acquisition and computing.
  • Communication: Communication via WIFI protocols was successful; Motion Capture was able to accurately read position of the vehicle. This aspect of the project will be investigated thoroughly in a report by Jeffrey Gu and Kristen Koyanagi.