Amazon Web Services (AWS) announced AWS Deepracer @ AWS re:Invent 2018. I had the opportunity to participate in the AWS Deepracer race and the workshop. In this article, I have documented how I constructed the race track for training and testing the autonomous car. You may find it useful if you already have the AWS Deepracer or planning to get one, and looking for a real track to train your Deepracer.
One of the cool announcements at AWS re:Invent 2018 was “AWS Deepracer” — an autonomous 1/18th scale car driven by Machine learning model (Reinforcement Learning). More information on AWS Deepracer @ https://aws.amazon.com/deepracer/
AWS Deepracer consists of two components:
- The car itself which is a 1/18th scale RC car fitted with a camera, Intel Atom processor and a bunch of other accessories. The car is available for pre-order @Amazon (I was lucky to get one of these cars from AWS at re:invent 2018 :-)
- Fully-configured cloud environment that developers can use to train their own Reinforcement Learning models. The environment also includes a 3D simulation of a collection of tracks where the models can be trained/tested.
While one can get started with simulated environment for testing the models, I think it will be more fun to actually train and test models on a physical race track.
So, I built one at home (as shown in the picture ). The approx. cost of this build was $250 and took me one weekend to complete it end-to-end. In this article, I will share my experience building the track — starting from materials used in the construction, space requirements, construction details, etc. that you may find useful if you are planning to build one for yourself/your teams.
I followed the track design used by AWS at re:Invent 2018. The AWS provided design can be found here. I adjusted the dimensions to fit the track within the space I could find in my house.
Dimensions and space requirements:
26'x18' feet rectangular space is an ideal dimension for setting up the full sized track. But my challenge was that I couldn’t find such a big open floor space in my house. So, I had to scale it down. By moving some of the furnitures temporarily, I was able to carve out a 20'x10' space to construct the track — I wish I had more width. The 10' wide space makes the turning radius shorter. But, if you can find the real-estate, go for the 26'x18' space and adjust your track dimensions accordingly.
Materials and tools: I used the following materials to construct the track. I have provided the link to some of these materials just as a reference and should NOT be taken as my endorsement of these specific products, brands, sellers and their quality.
- 24"x24" Interlocking Foam floor tiles (the kind used in home gym floors and can be bought from your local home center) — I used 44 of these tiles to construct the 20'x10' track.
- Gaffer’s tape 2" — White — used 34 yards (had to buy 2x 30yard roll) to make the white lines that define the track
- Gaffer’s tape 2" — Yellow — used approx 10 yards to mark the center of the track with dashed yellow line.
- Large T-Square (for scribing parallel and perpendicular lines) — the kind used by drywall professionals
- Pencils (white color) attached to the ends of a string functioned as a compass for scribing turning radius (arcs)
- Tape measure, ruler, Xacto knife and scissors
Construction of the track:
The construction of the track is nothing more than just placing the interlocking foam tiles on the floor to form a rectangular space, drawing the track design on it and placing the white and yellow tapes following the lines.
Use the string attached to pencils as a compass to scribe the arcs that define the inner and outer turning radius. Use the T-Square to ensure that the straight lines are parallel. I made the track 30" wide that includes the white lines.
Once the track is complete, draw the center line around the track and place the yellow tapes (4" long pieces) to mark the center dashed line of the track.
For obvious reasons, I couldn’t have this track setup permanently in the house.I had to make this portable i.e. should have the ability to set it up on demand and take it down at the end of a training session.
Picture1: I used a sharp XACTO knife to trace around the jig-saw puzzle type joints at each interlocking tile and cut the tape at each joint.
Picture2: Numbered each tile at the back, along with orientation information.
Picture3: tiles stacked-up, ready to go. With the tiles marked, I should be able to put the track together very quickly (similar to a jig-saw puzzle).
If I have to do this again, I would consider the following:-
- 10' wide space makes the turnings really tight. 18' wide space would have been ideal, but I couldn’t find the required real-estate. Driveway/Garage would have been great options if it were not for the Chicago winter.
- 3" (instead of the 2") wide tape would have made the lines more visible.
- Painting the track (instead of taping) would have been faster, made the track more durable and the curves accurate. But, I am not comfortable painting the lines free-hand. Until I could make a template for painting the track, I will “stick” with the tapes.
I will post an update on the Reinforcement Learning models, training the car and testing as soon as I have had a chance to play around with AWS Deepracer console.