During the first days of the COVID-19 lockdown I decided to work on some project related to the pandemic that could become something useful. There were lots of great projects using the pandemic data so I wanted to focus on something unique.
As the country starts going through various stages of reopening, face masks have become an important element of our daily lives and are here to stay. Wearing face masks (and wearing them correctly) will be required in order to socialize or conduct business. …
This is the summary of the implementation of a path planning algorithm for a self-driving car in a simulated highway.
Transforming all the data points from Cartesian coordinates to Frenet coordinates shows to be really helpful especially in a highway settings. Although the transformation introduces approximation errors the Frenet coordinates make calculations much easier. It uses the variables
dto describe a vehicle’s position on the road.
We’re now approaching the end of term 2 of the Udacity Self-Driving Engineer Nanodegree. This term has been all about hardcore robotics. It’s been a blast to learn how to build the core robotic functions of an autonomous vehicle system: sensor fusion, localization, and control.
This last module was built and presented by the team from the Uber Advanced Technologies Group. They presented the Model Predictive Control as one of the core control algorithms that autonomous vehicles use.
The MPC considers the task of following a trajectory as an optimization problem in which the solution is the path the car should take. The idea is to simulate different actuator inputs (steering, acceleration and braking) and predict a resulting trajectory by selecting the one with the minimum cost. The car follows that trajectory and gets new input to calculate a new set of trajectories to optimize. The model utilizes the called “receding horizon controller” which performs a trajectory recalculation for every new state, since the defined trajectory is just an approximation. …
Udacity’s simulator app provides cross-track error
CTE, speed, and steering angle data via local websocket. With the continuous stream of data the PID controller responds with steering and throttle commands driving the car reliably around the simulator track.
A proportional–integral–derivative controller is a control loop feedback mechanism widely used in industrial control systems and a variety of other applications requiring continuously modulated control. A PID controller continuously calculates an error value as the difference between a desired setpoint (SP) and a measured process variable (PV) and applies a correction based on proportional, integral, and derivative terms (denoted P, I, and D respectively) which give the controller its name. …
Since the very first webcam we’ve seen plenty of anecdotes of connected devices going awry. The snowballing of consumer and industrial IoT amplified the number of possible devices maliciously targeted. Hackers have taken control of devices, spied on people, disrupted businesses and governments, swarmed thousands of devices into botnets. And the list goes on and on.
Every new technology drives bad people to spend time and energy to find ways to take advantage of others. IoT tech is a big target: smart assistants, connected homes, healthcare devices, traffic systems, manufacturing sensors, etc.
IoT security is a hot topic, and the big players know it. Recently the chipmaker ARM announced the Platform Security Architecture (PSA), a proposal for a standard across the industry aimed at developers, hardware and chip providers. Standard schmstandard, but Microsoft, Google, Cisco, Sprint, and others are endorsing it, so who knows? …
Udacity Self-Driving Engineer Nanodegree — term 1, assignment 5.
This is the report created for the fifth and final assignment of the first term of Udacity Self-Driving Car Engineer Nanodegree. The challenge was to create an algorithm that detects other vehicles on the road, using video acquired using a front-face camera.
This is the Github repository.
In order to detect vehicles — or any other objects — we need to know what differentiates them from the rest of the image captured by the camera. …
This is the report created for the fourth assignment of the first term of Udacity Self-Driving Car Engineer Nanodegree. The challenge was to create a improved lane finding algorithm, using computer vision techniques. The core of the work is a software pipeline that identifies the lane boundaries in a video from a front-facing camera on a car. The camera calibration images, test road images, and project videos were provided.
When a camera captures 3D objects in the real world it transforms them into 2-dimensional images. This transformation isn’t exact and modifies the objects shape and sizes. …
The goal of this project was to utilize deep neural networks and convolutional neural networks in order to clone driving behavior. Udacity provided a simulator application where we can steer a car around a track for data collection. The collected data is comprised of image data captured from a car’s set of cameras as well as steering angles. This is used to train a neural network and then use the model to drive the car autonomously around the track — also using the simulator.
The final content of the project is available in my personal repository in Github.
model.py: source code that reads the dataset, creates the CNN model and trains it. …
“Live as if you were to die tomorrow. Learn as if you were to live forever.”
― Mahatma Gandhi
Deep learning is already present in search, comms, advertising, commerce, finance, medicine, media, and many other fields. Its reach will only increase in the years to come. When you realize that the availability of large data sets augmented with the surge of computing power is just beginning it makes you want to learn more about it.
As an advisor, mentor and investor I relate to anyone who’s willing to share their knowledge with others. At scale, on the Internet we see people willing to share about every subject. There’s more than a lifetime of content available, in all formats — terabytes of text, years of audio and video. …