Posts

Showing posts from 2018

Life with Deep Racer - Part 1

My Deep Racer has finally arrived back in Australia There's a few things I have learned already, and I will share them as I go along. Charging the batteries Power The charger for the compute battery pack simply needs a 3-pin appliance cable to connect it to non-US power outlets.  Yes, you can use a plug adapter, but I find they get loose over time. The LiPo charger needs a 9V 0.5A plug pack.  The centre pin is positive.  There is a considerable power drain on the CPU battery even when the module is off.  My advice is disconnect both batteries when not in use, because that big pack takes a long time to charge. Tail light colours Note that these colours might vary depending on the version of software you're running.  When I first unpacked it, there were no lights at all. Red - Something is wrong.  The usual cause is failure to connect to WiFi.  The official documentation lists some troubleshooting tips Blue - Connecting to the ...

Deep Racer - A first look

Image
Today, Amazon Web Services (AWS) announced the AWS "Deep Racer" at it's annual re:Invent conference in Las Vegas.  I was fortunate enough to get hold of one of the first batch of production units, and since most of you will not yet have seen one I thought I would give you a run down, as well as my first impressions. What is it? Deep Racer is a 1/18th scale AWD buggy with a cute body shape finished in back and silver-grey.  The body shape is quite interesting, but we'll come back to that later.  The chassis appears similar in design and components to many other low-cost remote control buggies You're no doubt interested in what's inside.  There is a single-board controller carrying an Intel Atom processor, 4GB RAM, 32GB Storage 802.11ac WiFi, a 1080p camera and battery packs.  It can also be used as a remote control vehicle through an app. (updated November 29) The controller board looks a lot like an Up Board, but I can't confirm this witho...

Auric - The Software Side

Auric is a combination of hardware and software. Last time we looked at the hardware required, and in this installment we will consider the software components. Like my previous self-driving car, there are two controllers in Auric.  The main processor and the motion control processor. Let's start with Motion Control because it is much simpler.   Motion Control is based on a NodeMCU (v1.0) and an associated L293D H-Bridge driver.  The software loop monitors the incoming serial port for a character stream from the main controller. This character stream is in the form of 'channel:value' .  These channel IDs are a single ASCII character (case-insensitive), and the value data is dependent on the channel.  For example R:512 is interpreted as Right Motor with a value of 512. It is the responsibility of the channel code to act and generate a response to the main processor. The main processor, a FriendlyARM NanoPC-T4 is primarily tasked with navigatio...

My new favourite tool

Image
Life is much easier when you can see what's going on Sometimes I think these machines are getting a little too autonomous for my liking... Right now, Auric is being a downright pain the in the rear.  It just seems to be uncooperative. It all started when I observed that the directional control was erratic.  Given that the steering process is a stream of adjustments based on image processing, it is normal that there will usually be a mismatch in the speeds of the motors on each side.  But when the camera is shown a static image of a receding path I would expect it to steer more or less straight, or to make only small adjustments.  This however, was not the case. More digging hinted that not all of the commands sent from the main controller to the motor controller were being processed.  This boiled down to one of three possibilities: The main controller was not sending the commands; The motor controller was not receiving all the commands being se...

Introducing Auric

Image
Looks like something an evil genius should have, right? In my last update, I mentioned that the "Auric"* chassis was being used as part of my self-driving experiment.  Now it's time to unveil it properly. Auric is a T-900 tank chassis made by SZ-Doit .  It's not cheap, but you get a lot for your money: The chassis itself, in a choice of anodising colours Twenty (20) idler wheels Four driven wheels Plastic track Bearings Motors (9V with Hall-Effect sensors, or 12V without) 16550 Battery Holder (no batteries) Screws, Nuts. Washers Allen keys The only problem is that there are no instructions supplied.  SZ-Doit have a Wiki on GitHub, but for the most part you are referring to photographs of the finished product in order to assemble the machine. Also available is a motor shield which is used with a NodeMCU module.  Since this was featured in the company's build I added one of those as well. Auric is on YouTube now.  Click here to view ...

DIY Self-Driving - Part 9 - New Imaging

Image
Please Note:    Unlike most of my projects which are fully complete before they are published, this project is as much a build diary as anything else.  Whilst I am attempting to clearly document the processes, this is not a step-by-step guide, and later articles may well contradict earlier instructions. If you decide you want to duplicate my build, please read through all the relevant articles before you start. We have a lot of work to do in pretty short space of time now, with new competitive opportunities in the very near future. To be honest, the line detection has simply not been good enough, and this is leading to some of the poor performance I have been experiencing with the car.  Whilst it really does work, it is not accurate enough.  There are a couple of issues here which need to be dealt with: The core processor is just not powerful enough; and The optics aren't good enough Processing As I noted in my "Next Iteration" article I am looki...

DIY Self-Driving - The next iteration

Image
Please Note:   Unlike most of my projects which are fully complete before they are published, this project is as much a build diary as anything else.  Whilst I am attempting to clearly document the processes, this is not a step-by-step guide, and later articles may well contradict earlier instructions. If you decide you want to duplicate my build, please read through all the relevant articles before you start. Things have been a little quiet on the self-driving front for the last month, but the project is still moving ahead. Mechanical Issues I guess it had to happen.  Prolonged running of this old car has taken it's toll on the drivetrain and the gearbox has stripped.  As you can imagine, this makes it rather hard to move anywhere.  It's not the end of the world, because these units are pretty common.  I am going to try and get a pair of them and convert the car to 2 wheel drive into the bargain.  All the cutouts are already there, so in...

Meerkat is famous!

Image
I want to give a big shout out to the folks over at DIYODE Magazine because in their latest issue (#11), they have run a feature on Meerkat, my obstacle-avoiding robot. The little guy has dressed up really well for the story, and my self-driving car even makes a brief appearance.   Read for yourself here, and please think about supporting this local publisher and by purchasing the issue or better yet, subscribing. Read it for yourself here

DIY Self-Driving - A night out!

Image
Please Note:   Unlike most of my projects which are fully complete before they are published, this project is as much a build diary as anything else.  Whilst I am attempting to clearly document the processes, this is not a step-by-step guide, and later articles may well contradict earlier instructions. If you decide you want to duplicate my build, please read through all the relevant articles before you start. Well, we made it... The car is a very long way from being finished, but it's official debut at Sydney's Darling Harbour coincided with Amazon Web Services AWS Summit for 2018 so I had to take advantage of that as well. This is a collection of photos from the big night out before we go back to the hard work again.