On ESC Protocols Part II

In the first part of this post series we went over the most common ESC protocols that have been in use up until today. These protocols for the most part still dominate the market. In the second part we are looking at more recent protocols that attempt to tackle issues such as latency, refresh rate and

On ESC Protocols Part I

This is the first post of a two post series that aims to provide a concise but comprehensive overview of current protocols for interfacing Electronic Speed Controllers (ESCs), with a focus on protocols for hobbyist UAVs and especially multirotors. As ESCs for brushless controllers are in wide use in UAVs, many of the ESC protocols

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