Brushed DC motors are cheap and robust, but inherently hard to control accurately compared to modern BLDCs, especially at low speeds. This is fine for applications like household appliances or electric power tools, where positioning and precise speed control aren’t needed. For a skid steer robot, however, it is a prerequisite even for just driving…
Big rover robot platform – Part 1
Those little Arduino robot-car kits are neat and all, but sometimes something that provides a bit more space for electronics, something that has a little more OMPH just sounds like much more fun! So let’s build a box! With wheels and motors and all, obviously. Let’s call it a rover. Here is the wishlist for…
DIY Self-Driving Car – Collecting Data – What do we need?
To train a driving model, we need driving data. Let’s break down what exactly we’re interested in. A fundamental requirement: We don’t want to do any manual labeling. We will need at least a couple hours of driving, which means 100.000s of frames recorded. We can’t possibly label those by hand within the scope of…
DIY Self-Driving Car – Hardware build log
We want our camera-based system to run on an nVidia Jetson Nano, display a GUI on a monitor and talk to the car via a CAN-USB-interface. It should know its GPS position and be able to turn the steering wheel using a stepper motor. Guess what my car is missing? All of that. Let’s add…
Let’s teach an actual car to steer itself. From scratch.
Yeah, yeah, I know. Who needs another article about training some DNN on a bite-sized Kaggle dataset, and then never do anything with it, right?
That’s not what this is about. We’ll put this is a real car.
Here are the steps.
Python profiling with cProfile and SnakeViz
Install SnakeViz Visualizer Run profiler: Run SnakeViz Visualizer Result:
Docker commit
Astra J LS-CAN Reverse Engineering
Decoding messages on the Low-speed (33.3 kBit/s) CAN Bus Message ID Bit(s) Format Meaning Decode Examples 0x102ca040 31 Cruise Control ready/disabled TODO TODO accelerator pedal TODO 0x102cc040 TODO accelerator pedal TODO 0x1020c040 TODO Indicator, Low beam, High beam TODO TODO low beam TODO TODO high beam TODO 2 1 bit brake pedal 0 = not…
DIY Self-Driving Car – Connecting to vehicle CAN
Our goal is to connect to the vehicle CAN through the OBD II Connector via USB. Or more precisely, to one of the CAN buses, because there are at least 2 of them. So far the Low-speed CAN bus had all the messages we’re interested in, so that’s what we’ll use. Here we can read…
Set up docker, nVidia drivers and TensorFlow on Ubuntu
Modified from https://medium.com/analytics-vidhya/setting-up-a-deep-learning-system-with-ubuntu-nvidia-gpu-docker-and-tensorflow-c1be8844e49c Configuration Steps Install Ubuntu 2. Install Nvidia Driver From: https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux sudo ubuntu-drivers autoinstall 3. Install Docker Ref: https://docs.docker.com/engine/install/ubuntu/ Update the apt package index: $ sudo apt-get update$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common Add Docker’s official GPG key: $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key…