DeepRC Robot Car is a new kind of Smart Car #MachineLearning #ArtificialIntelligence #SmartPhone #3Dprinting #Robot #DeepLearning #TensorFlow @pyetras @hackaday
The ‘DeepRC Robot Car’ project on hackaday.io by Piotr Sokólski aims to create a miniature self-driving car that can be trained at home. Probably the coolest part about this project is that it incorporates a smartphone for a number of the pieces of hardware. For instance, a mirror was used to shift the phone camera view to the front of the vehicle so the car can see the road (see below). The chassis was 3D printed and a number of other small electronics were used to build the car (like the NRF52 SOC).
For controlling the actuators and reading telemetry data a small number of electronic components are installed on the chassis. The main circuit board is based on an excellent NRF52 SOC. It provides a Bluetooth LE radio to communicate with the phone. The servo is controlled by the chip directly, however the motor requires an additional Electronic Speed Controller (ESC).
The software powering the robot was split between an app on the phone and a computer. @pyetras trained the robot to avoid collisions using deep reinforcement learning. Specifically, the TensorFlow agents implementation of the Soft Actor-Critic algorithm was used.
For a Deep Reinforcement Learning algorithm I chose Soft Actor-Critic (SAC)(specifically the tf-agents implementation). I picked this algorithm since it promises to be sample-efficient (therefore decreasing data collection time, an important feature when running on a real robot and not a simulation) and there were already some successful applications on simulated cars and real robots.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.