autonomous driving & robotics

https://github.com/v-thiennp12

The modified Donkey car

on-going project

Staring with Donkey car model at https://www.donkeycar.com/.

The Donkey came up with Raspberry and one camera.

--I added one Nano jetson on the top and wiring to power Jetson at the same time with Raspberry.

*goal : to have 2-3 cameras and write a complete autonomous driving platform using both Raspberry and Jetson nano :

--create BUS to communicate between Jetson and Raspberry

--have AI model running on Jetson

--sharing some computations with Raspberry and Jetson

--redundancy for safety

(Jetson nano can host 2 cameras, Raspberry can host 1 camera)

...it's huge to a hobby project, so wait and see the result

ROSject_presentation_Thien_NGUYEN_updated.pptx

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


Simulation and autonomous driving with Autoware

Simulation with LG SVL https://github.com/lgsvl/simulator

Autonoumous driving with Autoware https://autoware.org/

Drone with Ardupilot

Starting with a basic mechanical frame from DJI.

--add 4 ESC to control each motor

--add flight controller working with Ardupilot

--add TX/RX for remote control capability

--add GPS and compass module to have more auto navigation function by Ardupilot

It's really fun to set up a flight controller with Ardupilot and learn to calibrate accelerometer, compass, GPS.

*Good to learn about safety with arming mechanism and behavior when control signal lost, by Ardupilot.

Little Pippy robot without feedback

It's really fun trying to create walking gait for this quadruple robot.

The most intersting thing is there is no feedback of the leg control - each by two servos.

With raspberry and servos, it's good to start learning linux, python, basic computer vision algorithm and servo control.

The very basic MPC - Model Predictive Control

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

Github : https://github.com/v-thiennp12/MPC-learn-car-controller

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 :

https://nguyenrobot.medium.com/lane-detection-for-adas-application-with-sliding-windows-technics-350d273367cc

*Github repos :

https://github.com/nguyenrobot/lane_detection_advanced_sliding_windows

*Youtube :

https://www.youtube.com/watch?v=_O-LsAwi8LI

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 :

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 : https://github.com/nguyenrobot/Traffic-Sign-Recognition-with-Keras-Tensorflow


*Medium article : https://nguyenrobot.medium.com/build-a-traffic-sign-recognition-with-keras-tensorflow-7c01f093f3df

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 : https://nguyenrobot.medium.com/how-to-build-a-face-tracking-with-raspberry-and-opencv-d449cd1ac282

*Github repos for the codes : https://github.com/nguyenrobot/palt-tilt-cam

*Youtube video : https://www.youtube.com/watch?v=M1nfRfJ6VS4


Line detection with Canny Filter and Hough Transform

*Github repos :

https://github.com/nguyenrobot/line_detection_by_canny_gausian_hough_streamedvideo

*Youtube :

https://www.youtube.com/watch?v=o4SDztEzwpo

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