Linearize H-Bridge Output Voltage (Big rover robot platform – Part 2)

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…

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…