Skip to content

Deivaprakash56/Butler-Simulation-ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BUTLER ROBOT SIMULATION

image

Description :

  • This repository contains the code for a butler simulation robot in ROS2. The project aims to simulate the butler robot to receive and deliver orders from the table autonomously. The simulation is built using various tools such as Gazebo and RViz.

Problem Statement:

  • To design and simulate a butler robot that navigates through the restaurant to receive orders and to deliver the food autonomously.

Solution approached:

  • To select a suitable simulation platform,
  • To create the environment which ressembles to a restaurant/hotel for this problem statement,
  • Selection of robot for replacing the human Butler,
  • Loading the selected butler robot into the created custom environment,
  • To map the entire custom environment using the butler robot,
  • To navigate the robot in our environment ,
  • Finally to implement the logic
  • The logic for the butler robot
  • To deliver the food from kitchen to the specific ordered table in the preference in which the orders are received.

Selection of simulator:

Gazebo:

image

  • Gazebo is an open-source 3D robotics simulator.
  • With Gazebo, we can create a virtual “world”, and load simulated versions of our robots into it.

Rviz:(ROS visualisation)

image

  • Rviz is a 3D visualisation software tool for robots.
  • The purpose of Rviz is to enable you to visualise the state of a robot.

Environment Creation(World):

image

  • For creating an environment, I just imagined a restaurant setup in my mind and roughly sketched on a piece of paper.

Our customised environment (world file) :

image

  • Created a basic Layout structure in Gazebo simulator with the reference of my basic sketch.

Selection of a robot for Butler purpose:

  • As per my assigned task,I have selected Turtlebot 3 Robot.
  • Since it has the largest community service for better troubleshooting purposes.

image

Loading the robot into our environment :

image

  • For Loading the turtlebot 3 robot , we can clone the necessary executables from the official github page of turtlebot.
  • Then we can choose the model type of turtlebot and load them into our gazebo world.

Mapping the environment :

image

  • For mapping an environment , there are several tools such as gmapping ,SLAM toolbox,etc…
  • I have chosen the CARTOGRAPHER tool for mapping the world. Which provides real-time Simultaneous localization and mapping (SLAM) in 2D and 3D across.

Navigation of the robot in our environment :

image

  • For navigating the loaded robot in our environment , we can use the navigation 2 package by loading our map into it.
  • For this purpose , Rviz (Ros/Robot Visualizer) is used.

Implementation as per the requirement :

  • In Rviz , we can provide the destination point of the robot to navigate autonomously that is Nav2 goal.
  • Even for complete autonomous navigation of several destination points , we can use waypoint/nav through poses mode.
  • We have utilized Simple commmander for programmatically implementing this task.

Implementing logics for each criteria:

Criteria 1 (Single order) and criteria 5(Multiple orders) :

  • When orders received with table number,

  • Robot_Homeposition → kitchen → Table for food delivery. (Requires no confirmation)

    image

Criteria 2(Single order):

  • When orders received with table number,
  • Robot_Homeposition → kitchen → Table for food delivery. (Requires confirmation)

image

Criteria 3(Single order) and criteria 6(Multiple orders) :

  • Robo_hp → kitchen (no confirmation) → Return back to robo_hp.
  • Robo_hp → kitchen (confirmation) →Table (confirmed) → robo_hp.
  • Robo_hp → kitchen (confirmation) →Table (no confirmed) → kitchen →robo_hp.

image

Criteria 4(Single order) and 7(multiple orders) :

  • Order placed →Robo_hp → kitchen→Cancelled →return to robo_hp.
  • Order placed →Robo_hp →kitchen →Table of order →Cancelled →kitchen →robo_hp.

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages