Skip to content

jaimandal10/artpark_robotics_challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Artpark Robotics Challenge

1. The Robot

The robot has a footprint of 45x45 cm. The robot has 4 mecanum wheels, which enable holonomic motion. The robot has an RPLidar A1 sensor laser sensor which is present in the base of the robot. The lidar is mainly used for autonomous navigation. On the base, the robot has a 6 DoF robotic arm which is used to pick and place trash, spray and wipe. The gripper of the arm has an Intel D435 camera mounted on it. This is used for pose estimation of various items in the washroom and for 3D obstacle avoidance.

Alt Text

2. Trash picking

The camera on the arm is used to detect the trash as soon as it enters the washroom. Then, the robot moves to the detected trash items. Once it gets to a trash item, it detects it again to increase precision and accuracy. It then gets posoition of the trash item (the camera is a depth camera).

Alt Text

3. Cleaning markings

The robot is equipped with a mop below its base, which can be lifted and lowered, and is used to clean the markings on the floor.

Alt Text

4. Counter Spray

The gripper of the robot is equipped with a nozzle, which is used to spray sanitization liquid on the counter.

Alt Text

5. Counter Wipe

The arm grips the sponge cleaner and wipes the sanitization liquid on the counter.

Alt Text

6. Object detection

                   

For the perception capabilities required for some of the above tasks, custom datasets trained on the YOLOv4 Object Detection architecture, which is a state of the art object detection model, was used along with an infernence pipeline designed using OpenCV. The datasets used for training were created from images taken by us and a few images from the simulation environment. The images were annotated and converted to the training format (which was YOLO Darknet in this case) using an online tool called Roboflow. They provide an interface to upload images and create datasets suited to a particular training format. The two datasets used in a our projects are the trash-marking dataset and the dustbin dataset.

7. Docker and World Bringup (The following will build docker and launch the world in gazebo)

git clone https://github.com/jaimandal10/artpark_robotics_challenge.git
cd artpark_robotics_challenge
. run.sh

8. Load trash, dustbins & markings (move them around)

  • Open a new terminal and run
docker exec -it  artpark_workspace_sim_container bash
  • Source the workspace
source artpark_workspace/devel/setup.bash
  • Make scripts executable
chmod +x artpark_workspace/src/GigaRoboticsArtpark/apbot_nav/scripts/*
chmod +x artpark_workspace/src/GigaRoboticsArtpark/apbot_description/scripts/*
  • Spawn trash
rosrun apbot_description trash_spawner.py
  • Spawn dustbins
rosrun apbot_description dustbin_spwaner.py
  • Spawn markings
rosrun apbot_description marking_spawner.py

9. Launch the robot

  • Open a new terminal and run
docker exec -it  artpark_workspace_sim_container bash
  • Source the workspace
source artpark_workspace/devel/setup.bash
  • Spawn robot

Please do not move the robot after launching(This affects the map building as it starts as soon as the robot is launched). Please specify the desired launch coordinates in the terminal while launching. You can use the image as reference to estimate the coordinates of your desired location.

roslaunch apbot_description robot.launch x:="2.5" y:="-0.8" yaw:="-3.14"

10. Start the run

  • Open a new terminal and run
docker exec -it  artpark_workspace_sim_container bash
  • Source the workspace
source artpark_workspace/devel/setup.bash
  • Start run (all tasks)
rosrun apbot_nav main_sequence.py

Performing individual tasks (These runs are to be run separately from the above main sequence)

  • To perform only markings cleaning and trash pick and place
rosrun apbot_nav trash_markings_sequence.py
  • To perform only spraying and wiping sequence
rosrun apbot_nav spray_sequence.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published