SPV1 – Preparing the Stock Chassis

I really like the idea of two or more of these cars chasing each other around a track, so that’s now the first objective. And I think this also suggests a name for these vehicles – Serial Pursuit Vehicles, or SPV1 and SPV2. I’ll need to decide on the colour at some stage, too ;-).

I have not raced RC cars since I was 15, so I’m no expert on modern RC cars. In those days everything was simpler; we used to charge our NiMH cells from a car battery through a single, fat 1 Ohm resistor. And speed controllers got so hot they would do much more than fry an egg if you got near them (that’s linear regulators for you). But I am quite impressed with the Quanum Vandal kit from what I can see so far. It certainly looks sturdy enough for my planned use, which will be on smooth-ish concrete and has a decent amount of adjustment for the steering and suspension.

For the build, there are unused holes in the chassis tray that can be used to mount a platform for more components. It also looks as though the driveshaft could be used for an optical odometer when the time comes.

The battery area can also be used for other components as we will mount the batteries themselves elsewhere.

On that note, we will be adding a certain amount of weight, so it seems sensible to adjust the mounting points on the suspension to the stiffest position, front and back.

One potential issue is the orientation of the ESC, which has the signal wiring coming out immediately adjacent to the drive shaft. This might create a wear-risk over time, so all I have done is reverse the ESC. The motor wires now come out by the drive shaft, but they exit vertically and so there is no chance of them interfering.

Lastly I am removing the small, bash plate at the front. This takes up space that will be required for other components and is not needed anyway as the car will not be crashing ;-). It also gives two more screw holes at the front that might prove useful for mounting more stuff.

Apart from that, we are done with the basic chassis adjustments. In the next post we will add extra capacity for components with some flat plates.

Line Following Model Car

This is something I have wanted to do for some while for fun. Note that it has nothing to do with my work at Manna, so don’t make any assumptions about the technologies being used! I also don’t get much spare time, so updates are likely to be irregular.

Objectives
This is experimenting for fun, so may go in a number of different directions. However, I do want to see how close I can get to a car that accurately stays over a line, steered using Ackerman steering rather than a differential drive. This sounds simple but most examples I see seem to be too ‘approximate’, too slow or not very smooth.

Software / Hardware Approach
I’ll predominantly be using Python and open source libraries such as OpenCV and ROS. Probably ROS2, in fact. Where we need speed, we’ll use C++.

The usual suspects will be present, such a Raspberry Pi and Jetson. I’m also interested in the OpenMV unit, stereo and depth vision, RFID, mesh networking and others as things progress. For example, maybe having two cars maintaining distancing on the same circuit.

Chassis Selection
There are a vast number of notable car projects based on different chassis. and with different levels of aspiration from simple line following through to full autonomy. Many examples of the great Donkey Car project are based on the Exceed 1/16 scale truck. At the other end of the spectrum is the MIT RaceCar project and derivations of that such as Racecar/j. This also has some great support material available from others, such as Jim at JetsonHacks.

I want something a little larger than 1/16th, so have picked a 1/110 scale car from Hobbyking. The Quanum Vandal 1/10 buggy is particularly affordable and comes as a kit or assembled with ESC and motor. I picked the latter for simplicity. With a 2S battery pack, it should hopefully not be too fast for my purposes.

From the images on the website, it looks as though it should be simple to build on a couple of platforms for components – there are some unused holes in the baseplate. I’ll probably also want to set up odometry of some sort, and there look to be some options for that, too, maybe from the driveshaft, wheels or electronically.



In the next post, I’ll go over prepping the kit before making the first modifications.

Pixhawk 2 with Jetson TX2 Build

What’s this About

I’m rebuilding The Groundhog to a more professional level, with the level of accuracy required for the AI and computer vision work planned.  It’s also getting an upgrade to the avionics to make it more resilient.  This post details the rebuild and also has links to the 3D printed parts used.

Continue reading “Pixhawk 2 with Jetson TX2 Build”

Autonomous UAV Coding Summer School – sneak peak

22 students from France will be spending the next two weeks building and coding autonomous drones as part of the UWE Bristol Summer School.  Along with Miles Isted s’Jacob, I am delighted to be leading on this activity and have produced a short sneak peek video of the challenge to share.

So six team drones racing autonomously on a single track? What’s not to like?

Code is based on that used for MAAXX Europe, so Python Dronekit, with ArduCopter on Pixhawk.  However, the final code will be posted on my github at the end of the Summer School.

Robot Operating System for Flight Monitoring and Control – Getting Started.

If you have heard of Robot Operating System and want to use it to monitor and control UAV flight, this post will get you started…

More specifically, this post details how to set up a Pixhawk flight controller running PX4 firmware, with a Raspberry Pi3 companion computer running Robot Operating System.  This combination will give flexible control over the flight control unit and the ability to integrate a very wide range of features such as depth-sensing cameras and machine learning networks.

Continue reading “Robot Operating System for Flight Monitoring and Control – Getting Started.”

First Flight: Intel RealSense D435 Depth Camera on Jetson TX2

 

This is part of a series of posts outlining the evolution of my GroundHog hexacopter into a multi-role UAV.  It is based on a Pixhawk flight controller with a Jetson TX2 companion computer.  It has now been fitted with an Intel RealSense D435 depthcam.

Continue reading “First Flight: Intel RealSense D435 Depth Camera on Jetson TX2”

Groundhog UAV curved line following

groundhogcurve
Part of a series of videos and blogs tracking the development of The Groundhog, which was entered into the MAAXX Europe 2017 competition earlier this year.
Having successfully tested the re-written code to follow straight lines using velocity vectors for control and NED space mapping for line detection, we test it around a 50m track comprising 50mm wide red webbing – and we speed it up a bit as well.

The test turned out to be quite successful, with following speeds of 1.5m/s achieved under autonomous control provided by an on-board Raspberry Pi 3.  This is significantly faster than the winning UAV in MAAXX Europe this year, which is quite pleasing!

The YouTube video shows both on-board and off-board camera footage, the former demonstrating the roaming regions of interest used by OpenCV to maintain a lock under varying lighting conditions.

Continue reading “Groundhog UAV curved line following”