Balancing bot using Neuroevolution

In a series of previous posts I’ve discussed setting up and training a controller for a balancing bot using reinforcement learning. In this post I’m going to discuss another technique called neuroevolution for the same task. Neuroevolution optimizes parameters of an artificial neural network using an evolutionary algorithm. Parameters may refer to weights of the network,

Training Pipeline for Autonomous Driving

The neural network model is the most crucial part of an autonomous vehicle. Fitting a proper model is therefore an important task. Part of this task is processing of the images taken by the vehicle in manual driving and used for training. Burro includes an easily customizable image pre-processing pipeline for training neural networks from driving

A new identity!

The original scope of this blog comprised experiments on drones and UAV, but since then focus expanded significantly.  Nowadays I try to publish experiments in a much wider range of robotics. I thought that this called for a change of identity of the blog. An identity that highlights the new, broader scope, but which still

Fully Autonomous Robocar

The last updates in the Burro autonomous robocar platform focus on two areas: Collaborative driving and fully autonomous driving (steering and throttle). Collaborative driving allows control of a single vehicle using multiple controllers and a self-driving model, all at the same time. Using this feature, one may have a neural network control the steering and

Autonomous driving at the micro scale

Building and training a self-driving robocar takes several iterations of hardware and software improvements. Especially training a competitive model is a time consuming process that involves going back-and-forth to the track several times to either check or improve model predictive performance by recording additional samples. Computer simulation is an alternative, however setting up a simulation

Emulating an Ackermann Steering Vehicle

Two steering schemes are mostly popular when it comes to ground vehicles: Differential, or skid steering, and Ackermann steering. Differential steering vehicles, despite their fancy name, look just like the typical two-wheel robot chassis found pretty much everywhere: Differential steering vehicles, as the name suggests, use differential thrust to turn. Most are made of two wheels

Building a DIY sub-500 gram quadcopter

In a previous post I’ve discussed the advantages of a lightweight aircraft: longer flight times, quieter operation, less stress to the components, more responsive control. In addition, having an aircraft below 500 grams (less than around 1.10 pounds) has the advantage that in many countries it does not require registration to fly, except for where

Updates to Burro self-driving platform

I’ve been busy implementing some cool updates to Burro, the self-driving RC car/robot platform I’m building. Here’s a summary: The Adafruit Motor HAT is now supported in addition to NAVIO2. Both boards are fully supported , and in fact you can use the same SD card in different cars/robots, without the need to reinstall anything, as