Be the Coolest Gift Giver! The Best Time at the Best Price

Up to 50% Off

#How to Code automatic Line Following Programs

How to code automatic line-following programs

In the era of AI, mastering automatic line-following is essential for most robots. Understanding the principles behind line following is key.
This #how to will provide insights into the calibration process necessary for effective line-following programs, enabling you to enhance your robot's navigation capabilities. By following these steps, you will learn how to adjust your robot's sensors and algorithms for optimal performance on predetermined paths.

Standards to Calibrate a Line-follow Robot

Calibrating a line-following robot involves adjusting its sensors and control mechanisms to ensure it accurately detects and follows a designated path. Here are some key standards and steps to consider when calibrating a line-following robot:
1. Sensor Placement 
Positioning: Ensure that the sensors (typically infrared or color sensors) are placed at an optimal height above the ground and oriented correctly for detecting the line.
Distance: Maintain a consistent distance from the ground to prevent variations in line detection based on surface irregularities.
2. Line Detection ThresholdThreshold Calibration:
Adjust the detection threshold for the sensors. This involves determining the light reflectivity values for the line color versus the background color.
Testing: Conduct tests on different surfaces to find a reliable threshold that distinguishes the line from the background under various lighting conditions.
3. Sensor Sensitivity
Sensitivity Adjustment: Modify the sensitivity of the sensors to optimize performance in different environments (e.g., bright sunlight vs. dim light).
Testing Conditions: Ensure tests are conducted under similar conditions to what the robot will encounter during its operational environment.
4. PID Control Tuning
PID Parameters: If using a PID (Proportional-Integral-Derivative) controller for line following, calibrate the PID parameters (Kp, Ki, Kd) to achieve smooth and responsive control.
Testing Response: Run the robot along the line and observe its response, adjusting the parameters as needed to minimize overshoot and improve stability.
5. Speed Calibration
Optimal Speed: Determine the optimal speed for the robot while following the line. Too fast may lead to missed lines; too slow may result in inefficiencies.
Dynamic Testing: Test the robot’s ability to maintain the line at different speeds to ensure it can adapt without losing control.
6. Obstacle Detection
Integration: If the robot is equipped with obstacle detection sensors, calibrate them to work in conjunction with line-following capabilities.
Testing Interactions: Assess how the robot reacts when encountering obstacles while trying to follow the line, ensuring it can switch tasks seamlessly.
7. Test Runs and Adjustments
Multiple Test Runs: Perform several test runs on the designated line course, taking note of any deviations or failures in line detection.
Iterative Refinement: Make incremental adjustments to sensor thresholds, PID values, or speeds based on performance feedback.
8. Environmental Considerations
Lighting Variability: Be aware of changes in lighting conditions and how they affect sensor readings. Calibrate for both indoor and outdoor environments as needed.
Surface Variation: Test the robot on various surface materials to ensure consistent performance across different textures and colors.

In this blog, we will focus on line-follow and tell you how to meet the standards of calibration. 

mBot Neo & Line-following track mapLine-following programs keep a robot on the central axis of the line when it moves forwardQuad RGB Sensor

# Principle of line following #

--The lines don’t have to be black.--The background doesn’t have to be white. --The Quad RGB Sensor on mBot Neo can identify the RGB values of colors. So it can identify most colors. --Long press the button to change the color of the fill light. In low light, you can turn on the fill light to improve the line-following performance.Line-following programDownload base_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheelbase_power: Approximate forward speed kp: Adjustment value for left and right wheels during line following left_power: Actual speed of the left wheel right_power: Actual speed of the right wheel

Block explanation:

Multiplying

Multiplying "kp" by the deviation value can reduce the value returned by the Quad RGB Sensor, achieving the goal of fine-tuning the speed.

During line following, when mBot Neo deviates to the left, the deviation value is negative, and when it deviates to the right, the deviation value is positive. Therefore, when the robot deviates to the right, the left wheel needs to slow down to lead the center of the robot back to the center of the line. To achieve this,

During line following, when mBot2 deviates to the left, the deviation value is negative, and when it deviates to the right, the deviation value is positive.
Therefore, when the robot deviates to the right, the left wheel needs to slow down to lead the center of the robot back to the center of the line.
To achieve this, "left_power" needs to increase by subtracting the deviation value (which is negative) from "base_power", making the left wheel speed up and the center of the robot return to the center of the line.
As the deviation value approaches zero, the robot speed approaches "base_power".

Since the left and right wheels are symmetrically installed, their rotating directions are opposite and their speed values have opposite signs.

Since the left and right wheels are symmetrically installed, their rotating directions are opposite and their speed values have opposite signs.

Assigning the speed values to the corresponding motors implements line following.

Assigning the speed values to the corresponding motors implements line following.

mBot Neo line following
Go have fun now! Share your achievements on social media~

# Bring Me Home ^_^ #

3.jpg__PID:933f2b29-ff12-4a22-ab73-faaef283c72d

Makeblock mBot2: STEM Education Coding Robot Kit for AI Learning

$149.99
$149.99