Category how things work

Cross Compiling for Raspberry Pi – Part II

My attempt to cross compile a more complicated Raspberry Pi application, that uses the native OpenCV and the PiCamera libraries on the target system.

Advertisements

Cross Compiling For Raspberry Pi – Part I

Developing code natively on the Raspberry Pi is not ideal for larger projects so I decided to explore cross compilation to attain better productivity. This post describes how I set up cross compilation using Ubuntu via Parallels 10 on OS X.

Using OpenCV for Simple Object Detection

As part of the Blue Block Challenge I’m using the OpenCV library to detect and track objects based on their color only. In the process I created an Mac application to help develop the algorithms.

NavBot: Measuring and Correcting Systematic Errors with the UMBmark Test

Finally got a handle on dealing with NavBot’s key systematic errors. My ad hoc approach was proving very frustrating. The UMBmark method is simple to perform and gives great results.

Zumo: Systematic Errors Dead Ahead

During the development of the NavBot I was forced to deal with and understand the systematic errors (and non-systematic errors) of the Zumo chassis. Maybe I’m expecting too much from a tracked-based dead-reckoning bot.

NavBot: Pilot

An overview of how the NavBot Pilot component works. This is still a work-in-progress but taking on solid form. I plan to explain the internal workings once I have it mostly functioning.

NavBot: Navigator

An overview of the workings of NavBot’s Navigator component.

PID Controllers 101

My first introduction to PID controllers was inĀ an article about a robotics dead-reckoning competition which the author won using a Lego Mindstorms creation called Peeves. This was back in 2001. It’s an interesting read. I had only recently purchased my own Mindstorms set and so was very impressed with the “toy” robot beating all the […]

Wheel Encoders For WallBot

Adding wheel encoders to WallBot ended up being more work than I thought. I ended up writing all the code from scratch but it meant I learnt a lot about encoders and timer interrupts on the microcontroller.