
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 : https://www.youtube.com/watch?v=h8XQrfBhjpU&ab_channel=BecomingaROSDeveloper
github for codes and slides : https://github.com/v-thiennp12/wall-following-ROS-Cpp
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 :
*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 :
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 : 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