In this repository are all scripts for bachelor's thesis at Faculty of electrical engineering and computing, University of Zagreb.
Abstract is at the end of this short documentation.
GUI was made with the help of pygame library. The program won't work without GUI so first step is to install pygame library.
pip install pygame
Every map above is ROS package. First you need to make your own workspace. Tutorial for that is here.
- artificial_intelligence - all AI scripts
- panda_sim - launch and world files, models used in world and nodes for communication with Franka
- franka_description - 3D models for robot arm and files for Gazebo and RViz (.urdf)
- new_panda_moveit_config - MoveIt! planer
If you wish to play game without Franka following commands are needed:
rosrun artificial_intelligence main_no_franka.py
You can choose: game depth, mode(Human vs. Human, Human vs. AI, AI vs. AI), heuristic function
-
roscore
-
roslaunch panda_sim game_world.launch
-
rosrun artificial_intelligence main.py
A robotic rival based on artificial intelligence is developed for a popular board game The Mills using the minimax algorithm with alpha-beta pruning. For a more amicable approach to the game, a simple graphical user interface is made. After the move of the game is determined with the minimax algorithm, the movement of the figures with the robot Franka in the simulated world in Gazebo follows. To move the figures using the robot Franka, simple "pick-and-place" actions are implemented, where the path of the hand is automatically calculated with the help of MoveIt!. Communication between control algorithm and robot in Gazebo is carried out by ROS.