2022-10-15 14:30:20 +10:30
2020-05-29 21:58:11 +09:30

PiCar

This software allows for the control of an RC Car using a linux system. Currently it's been tested to work on a Traxxas Slash and raspberry pi 3b+.

See the individual modules for more detailed READMEs, including build instructions.

Current Functinoality

  • 2D Servo (Steering + Throttle) control.
  • 2D SLAM streaming
  • 2D LiDAR streaming
  • LiDAR object tracking
    • Currently the grouping works great, tracking needs some work.
  • Control via smartphone applications
    • Android is fully supported, iOS currently only supports servo control.

Modules

PyCar

This is the main (and original) project to control the raspberry pi. It supports all functions listed in Current Functionality.

Tracking through the LiDAR is somewhat supported, however has been found to be quite poor at the moment, due to the current assignment algorithm.

Currently this module is only designed to work standalone, as it is seen to be quite trivial to create the core functionality in a custom application.

SwiftyCar

The plan for this module is to eventually replace the python one, as Swift is known to be faster, whilst being nicer to program than C. Currently it's only meant to support 2D servo control, as a separate library is being created for LiDAR functionality.

CarControlleriOS

This is the iOS application to control the car. Due to the use of gRPC, it can work with

app

This contains the code for the Android application. You should use gradle for this, and Java must be installed to use it.

protobuf

This contains the gRPC and protobuf definitions for controlling the car, so arbitrary clients (that must support gRPC) can be used with the car. The recommended way to generate the code at the moment is to use Gradle, which will do Python, Swift and Java codegen.

Description
No description provided
Readme 95 MiB
Languages
PureBasic 99.1%
Python 0.6%
Java 0.2%