autonomous driving & robotics


Control a two-wheels differential drive robot with a virtual car-like robot

  • while doing a ROS implementation for a wall follower robot, I invented a method to control this two-wheel differential drive robot indirectly by a car-like modleing with steering and throttle rather than linear and angular command that used in two-wheels differential drive

  • the idea is that using a car-like modeling with steering and throttle, it's much more flexible to optimize and tune the controller

  • when determined steering and throttle (speed) for the car-like robot, we can use kinematic modeling to calculate linear and angular speed needed to send to the two-wheels differential drive robot

  • while applying the control on the car-like robot, we can implement many kind of advances in autonomous driving, for my ROS project I tried with PID, with Stanley, to control cross-track-error and heading-error of my robot

  • youtube livestream :

  • github for codes and slides :

The very basic MPC - Model Predictive Control

The very basic python implementation of MPC for car-like robot motion planning.

Github :

The essential of MPC is to make prediction of the car in the future of n-steps based on its states and control values. Then a solver will try to figure out a set of n-control-values to minimize the cost function. The cost function can be freely defined, it could be distance-error to the target, distance to the object, ... The robutsness of MPC comes from how you define the cost function, how well you model the car, ...

Advanced lane-finding for ADAS application

*My medium :

*Github repos :

*Youtube :

We will make a line finding algorithm which could be used for ADAS (Advanced Driving Assistance System) applications.

Line detection in this tutorial will cover :

  • Line detection of ego vehicle’s current lane

  • Line detection of ego vehicle’s next lane (next-left side and next-right lane)

  • Confidence level of each detected line

  • Line-type of each detected line

  • Lane-changing signal

  • Curve-fitting by 3-rd polynomial

Build a Traffic Sign Recognition with Keras/Tensorflow

Intrigued by the question 'What is deep learning ?'. Let's get a gentle deep dive to discover deep-learning by simplified notions with this tutorial . The goals of this project are the following:

-[x] Load the data set

-[x] Explore, summarize and visualize the data set

-[x] Design, train and test with different model architectures (LeNet, GoogLeNet, ResNet34)

-[x] Use the model to make predictions on new images

-[x] Analyze the softmax probabilities of the new images

*Github repos for the codes :

*Medium article :

Pan-Tilt camera

Use OpenCV for Face Detection then pilote a Pi Camera with 2 servos in order to keep the tracked-face always in the center of camera-frame.

This is a very fun project in collaboration with Clément Coste to get start with Raspberry and 3D-printing.

#face_tracking #Raspberry #pan_tilt_camera

*My medium article :

*Github repos for the codes :

*Youtube video :

Line detection with Canny Filter and Hough Transform

*Github repos :

*Youtube :

In this tutorial, we apply technics based on Canny Filter and Hough Transform to detect lines.

Our processing consist of :

- [x] Colour selection

- [x] Gaussian filter with small kernel size to detect even blurred lines in far left/right side

- [x] Canny edge detection

- [x] Zone of interest filtering

- [x] Probabilistic Hough Transform