EKF was designed to enable the Kalman filter to apply in non-linear motion systems such as robots. EKF generates more accurate estimates of the state than using just actual measurements alone. In this post, we will briefly walk through the Extended Kalman Filter, and we will get a feel of how sensor fusion works. In order to discuss EKF, we will consider a robotic car (self-driving vehicle in this case). We can model this car as illustrated in the figure below in a global coordinate frame with coordinates: Xglobal, Yglobal, and Zglobal (face upwards). The X_car and Y_car coordinates belong…


Despite the recent breakthroughs in AI and extraordinary efforts of many auto-making companies, fully autonomous cars are still out of reach except for some trial programs. Engineers and AI scientist have been developing prototypes to make self-driving more efficient and to outperform humans. Driving is one of the most complicated activities when it comes to teaching an AI agent. In order to teach the car to self-drive, a simulator can be a reliable option, which is a synthetic environment that can imitate the real world. Before employing an AI algorithm to a real car, the algorithms can be tested…


Recently after the remarkable breakthrough of deep learning, deep reinforcement learning has already shown its great performances by spurring in areas like robotics, healthcare and finance. In a typical Reinforcement learning setup, an AI agent learns to interact with an environment. The agent observes the current state of an environment, and based on this state, it uses a policy to take an action. This generates a reward which indicates if the taken action has a positive or negative outcome. …


In this post, we will learn to build a real-time object detector using YOLOv3 network step by step. If you already know the details about the architecture, and you are more curious about the code, then you can directly start implementing, or else you can go through this paper to give a read.


In this post, we will see how to make a tiny home robot to behave like a self-driving car using its camera and distance sensor to detect obstacles and navigate.

I recently bought Vector, a tiny home robot that can be programmed using its dedicated SDK. Out of curiosity, I wanted to test its sensors, and so I programmed it a bit. It is a basic code, where Vector detects obstacles using its distance sensor and then calls the object detector to identify what it detected. To be noted, this part is very important for self-driving cars, where it needs…


In this article, we will learn how to build a GAN from scratch using Convolution layers. For demonstration and quick work out, we will be using the Fashion MNIST dataset. And after you learn it, similarly you can do for faces. Before going into details I want you to think, Can we use Deep learning to create something from nothing? To answer this question we are going to implement a GAN and see the results with our own eyes.

GAN is a unification of two Neural networks: Generator and Discriminator. The generator, generates new data instances, while the other, the…


In this post, we will enable a robot named Vector to detect and recognize a large number of objects. In the end, you will see how he mentions the objects that he detected.

Who is Vector?

Vector is a cute robot, who can be your companion, and is powered by AI. He is curious, independent and also he can make you laugh with his actions. After all, you can customize it with using AI, and we will see how to make this robot detect and recognize various objects in our day to day life. …


In this post, we will briefly see how Deep Reinforcement learning and computer vision can make an AI agent intelligent. Researchers can give AI the ability to think, make decisions, anticipate and take actions like us. The question is, what can we do to bring fundamental human knowledge to Artificial intelligent agents or robots?

The goal of an AI scientist is to make an intelligent system that is not dependent upon humans to learn a new task. Given a challenge, the AI agent (robot) should overcome by learning techniques that endow a machine with the ability to autonomously acquire skills…


In this post, I am going to explain how to create a convolution neural network from scratch and to train them using one-hot encoding. First, you need to install TensorFlow, Keras, OpenCV3 and then we begin.

We will be building a three-layered convolutional neural network, and then we train and test it. So, to begin we need to proceed step by step in a hierarchical fashion.

  1. Prepare the training and testing data.
  2. Build the CNN layers using the Tensorflow library.
  3. Select the Optimizer.
  4. Train the network and save the checkpoints.
  5. Finally, we test the model.

Prepare the training and testing data

First, we need to prepare…


In this post, we will train an agent (robotic arm) to grasp a ball. The agent consists of a double-jointed arm that can move to target locations. The goal of the agent is to maintain its position at the target location for as many time steps as possible. We will use the actor-critic approach to solve this problem.

Surajit Saikia

PhD student in the domain of AI with interest in Deep Learning, Deep Reinforcement Learning and Computer Vision. Universidad de León, University of Groningen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store