Robots require the ability to navigate in environment while doing their tasks. As we want them to be autonomous, they need to know their own and goal locations to navigate automatically.
In autonomous navigation, we have 2 main areas:

    • Indoor environments
    • Outdoor environments

In indoor environments, we assume robot knows its own location. our tasks are following a line or tracking a moving object. Our algorithm for doing these tasks is:

    • Capture a camera frame with processing board. (We use ODroid-U3)
    • Detect the line or the moving object in the frame.
    • Extract goal coordinates with respect to line or moving object coordinates.
    • Command the MAV to follow the goal coordinates.

In outdoor environments, we assume robot knows its goal location. our task is following a path to reach a certain goal. Our algorithm for doing this task is:

    • Receive GPS data with control board.
    • Localize the robot.
    • Extract target coordinates with respect to robot and goal coordinates.
    • Command the MAV to move to target coordinates.

We developed some codes based on this algorithm and tested them on different international competitions. Here are the results:

Object tracking:

Line following: