The project employs Prof. Dana Nau's task planning algorithm Pyhop2 to perform a task of buying groceries using Turtlebot in Gazebo environment. The primary objective of the project is to provide a complete solution, starting from getting the grocery list, arranging the order of retrieving those products optimally, collecting the products and finally buying them without any contingencies. AI planning is not only used for planning all the tasks optmally but also takes failure of any task into account as well.
According to the task, the actions are generated in a todolist to perform the task. For path planning we use A* algorithm and to optimize the list of task we are using GBFS algorithm. To make it more real time, we are using Receding Horizon approach to replan path everytime after few waypoints.
Figure - Path traced by robot using A* Algorithm
- ROS
- Gazebo
- Turtlebot
- Pyhop2
Open a new terminal and clone the repository.
git clone https://github.com/rodrigodelazcano/AI_Planning_Grocery
cd AI_Planning_Grocery
Navigate to grocery_ai_planning_ws and build using CATKIN MAKE.
cd ~/AI_Planning_Grocery/grocery_ai_planning_ws
catkin_make
- Launch the ROS world.
cd ~/AI_Planning_Grocery/grocery_ai_planning_ws/
source devel/setup.bash
roslaunch grocery turtlebot.launch
- In the new tab, run the ROS node.
source devel/setup.bash
rosrun ai_planning planner.py
Link for the Results: Video Link Report will be uploaded soon.
Figure - Grocery Robot picking up Groceries using HTN Planner