Project 2: Navigation
For this project, you may program an
iRobot Create3 robot using ROS2 nodes to do anything you like, subject to the
following constraints:
- The robot’s task must lend itself naturally to using one or more of the key
ideas from this unit:
- Q-Learning
- HTN Planning
- SLAM
- It follows from this that the robot’s task must involve navigating from one
location to another, making use of non-local state to inform the navigational
decision.
- The reasons for the robot to travel between locations are up to you. Here are
some types of reasons:
- Human input:
- Pushing one of the interface buttons on the robot.
- Commands sent via
curses keystrokes.
- Environmental input:
- Encountering an object that is not on the map.
- The robot’s actions during the navigation phase should not be arbitrary - they should be in the context of
completing one or more useful tasks.