/Robots_task_scheduling

A robot system that can efficiently schedule robot tasks according to environmental information, including room occupation.

Primary LanguageC++

Robot task scheduling

A robot system that can efficiently schedule robot tasks according to environmental information, including room occupation. This project is part of my master thesis -- Simulation of robot task scheduling method

Requirements

Ubuntu 16.04

ROS

ROS simulation packages

MySQL Workbench

MySQL Connector/C++

Installation

  1. Log in to MySQL server
mysql -r root -p
  1. Use SQL schema to create tables
source /home/[user_name]/catkin_ws/src/robot_navigation/sql/run.sql
  1. Download this project to home/catkin_ws
git clone https://github.com/xuanjiao/robots_task_scheduling.git

Usages

  1. Start Gazebo simulator
roslaunch turtlebot3_gazebo multi_turtlebot3.launch
  1. Start navigation stack
roslaunch turtlebot3_gazebo multi.launch
  1. Start ROS nodes: robots, centralized pool, charging station, sensor simulator, etc.
roslaunch robot_navigation move_demo.launch

Main features

  • The door sensors can measure and store door status in the local table.
  • The robot can request the sensor data (table) as long as it enters the sensor range.
  • The robot then sends the acquired room occupation table to the centralized server.
  • The centralized server makes decisions based on the information from the robot and the environment. The decisions include selecting a navigation task, asking the robot to gather information from a specific sensor, asking the robot to recharge at a charging station, etc.

Demo

Link to Youtube video