# MaixPy Line Tracking Robot (/Car)

Update history
Date Version Author Update content
2024-05-09 1.0.0 lxowalle Initial documentation

## Introduction

This article describes how to implement a line tracking robot using MaixPy.

## How to implement line tracking robot using MaixPy

1. Preparation of MaixCAM and trolley
2. Implementing the line tracking function
3. Implement the trolley control function

TODO

### Implementing the line tracking function

You can quickly find straight lines using the get_regression of the image module, see [Line tracking](. /line_tracking.html).

Code：

from maix import camera, display, image

cam = camera.Camera(320, 240)
disp = display.Display()

# thresholds = [[0, 80, 40, 80, 10, 80]]      # red
thresholds = [[0, 80, -120, -10, 0, 30]]    # green
# thresholds = [[0, 80, 30, 100, -120, -60]]  # blue

while 1:

lines = img.get_regression(thresholds, area_threshold = 100)
for a in lines:
img.draw_line(a.x1(), a.y1(), a.x2(), a.y2(), image.COLOR_GREEN, 2)
theta = a.theta()
rho = a.rho()
if theta > 90:
theta = 270 - theta
else:
theta = 90 - theta
img.draw_string(0, 0, "theta: " + str(theta) + ", rho: " + str(rho), image.COLOR_BLUE)

disp.show(img)



The above code implements the function of finding a straight line, note:

• Use a.theta() to get the angle of the line.
• Use a.rho() to get the distance between the line and the origin (the origin is in the upper left corner).

After find the straight line with reference to the above code, you can use a.theta() and a.rho() to control the direction of the cart.

TODO