Video Demo
Slides
I. Introduction
In this project the goal is to combine vision, path planning, local navigation, and filtering in order to make Thymio robot navigate trough a map towards a goal.
As the constraints are established we were free to chose our own implementation. To begin with, a camera is used in order to provide the vision information. The vision module works along with the global path and filter modules extracting estimating and computing the necessary map information, including the robot pose, robot pose, map, static obstacles, and the goal position.
Indeed, a Kalman filter performs the estimations of the robot pose. Afterwards, the A* algorithm computes the optimal path. Following this, a global controller gives instructions to the motors for them to follow the optimal path. Finally, a local navigation module is implemented in order to provide a vision-free information to Thymio for the most spontaneous events such as a dynamic obstacle.
II. Implementation
Method Overview
Given the manually set start and final goal position, global planning computes the optimal global path and the associated control command. After that, vision will provide the ball and obstacles position. Thymio will move to the 2 destinations (ball first, then goal) following the global path. Meanwhile, the Kalman filter estimates X-Y position combining a linear model of robot and sensor data. Finally, local navigation performs unexpected obstacles avoidance.
III. References
[1] M. Ben-Ari and F. Mondada, Elements of robotics. Springer Nature, 2017.
[2] R. C. Gonzalez and R. E. Woods, Digital Image Processing (4th Edition). Pearson, 2017.
[3] R. Siegwart, I. R. Nourbakhsh, and D. Scaramuzza, Introduction to autonomous mobile robots. MIT press, 2011.