My workplace organised a AWS DeepRacer competition and a few colleagues and I where keen to give it a go. We received a 30min walkthrough about the basics and which track we where going to race and then left us to our own devices.
With AWS DeepRacer you train a virtual car to go around a lap by writing a reward function. You either reward or punish certain actions and over time it should learn how to go around the track while acquiring the most reward points. Which hopefully corresponds with a fast lap around the track. We didn't spend a whole lot of time researching on what a great reward function might look like and in the end we used a function that added a few example functions together. It used three metrics.
As you can see in the video the car was not driving in a smooth fashion at all. So we ended up adjusting metric 3 and punish steering heavily and train it for another hour. Even though the logs looked very promising, the real world experience was far from great. While the large turn was very smooth, the sharp turn got completely ignored and the car would drive straight into the wall. A great example why I wouldn't want to write mission critical software where lives are at stake. Overall we had a great time and learned a bit more about machine learning. In the end we came fourth place.
What would I try next time? Apparently the default training parameters weren't particular efficient. Learning more about the training parameters and how to configure them for better results. And probably remove the steering parameter from the reward function. IF trained well, the model should figure out itself to not steer a lot.
My mother acquired a rusty antique Salter iron number 3 and asked me if I could restore it. I had seen videos of rust removal using electrolysis and I was keen to try it myself. After a little bit off researching I decided on using the most common method using washing soda and a low dc current. Unfortunately I didn't have a decent size of metal for a sacrificial electrode and had to use some small steel bolts that I had on hand. This was not very effective because of the small surface area these tended to oxidise very quickly and reducing the current flow. For the power source I used a bench top power supply set to 6VDC.
I managed to get some rust off using the electrolysis and a clean up with some steel wool left a pretty decent result. To get it even more polished I used a brass wire brush in a cordless drill for the large surfaces and small wire brushes in a rotary tool to get into the nook and crannies. Overall I am pleased with the result. If I try electrolysis another time I will use larger electrodes to speed up the process.
Like a lot of people I have been looking for stuff to do while staying at home. One of the things I wanted to get better at was soldering surface mount components. I found several practice kits on AliExpress and the LED fidget spinner is one of them. And to do something different I decided to make a timelapse of me putting it together. The instructions consist of a website with picture and some information in what might be mandarin. The picture are clear enough to figure out how to assemble the kit. The only thing I didn’t notice beforehand was that there where three different colours of LEDs provided. You will see in my video that when I first test the fidget spinner I only have two colours and after final assembly I have three.
I hope to do more of these type of kits in the future because I enjoy putting things together. I would rate this Kit an 8/10.
For years I had a homebrew ambilight setup for my 24' full hd monitor based on Adafruits version of ambilight called adalight. These days you can buy a simple kit of aliexpress so you don't really have to do any soldering and programming of an Arduino. Not that I have any problem doing that but why bother?
Here is a photo on how I installed it on a 32" monitor. I ended up using a total of 104 led pixels. 16 on the bottom, 24 either side and 40 on the top.
I connected the corners by soldering on header pins and connecting them with 3-pin JR connectors. I recommend cleaning the surface with methylated spirits before sticking down the LEDs. The orientation of the LEDs can be changed in software but by default it would follow an anti-clockwise direction if you where sitting in front of the monitor.
Once everything was hooked up I ended up using Lightpack to drive the LEDs. I used the custom config to make the software match my LED layout.
While doing some research I found a great article around calibrating the LEDs. I recommend reading it: Calibrating Ambilight Color in Prismatik and it is what I used to adjust some of my settings. The camera doesn't capture the colours the way I see them. In person it looks a lot more accurate.
Breadboards are great for prototyping but I don't like to use them for a finished project. Perf board has its uses but it still involves a fair bit of soldering and planning. To make things easier I like to use a little breakout board that I designed. It provides a ground and voltage rail and by using leads with JR plugs it very easy to connect sensors.
Below you can download the Fritzing file below in case you want to have your own boards made.
George Timmermans, Research Toolmaker, Software Engineer and Tinkerer