Skip to content

AndCav/RL_PROJECT

Repository files navigation

Smart Warehouse 2 - Robotics Lab 2020 - Master's Degree Automation Engineering University of Naples Federico II

A ROS/Gazebo Warehouse_2 project for Robotics Lab made by Eliana La Frazia and Andrea Cavaliere ([email protected] and [email protected]). The pioneer folder is an adaption of the Pioneer model made by Rafael Berkvens and Mario Serna Hernández. More details in the report.

UPDATES

update introduces new features. 
-It is now available to launch the simulation just with two .launch file:
  1) launch the world and  pioneers' nodes
  $ roslaunch smart_warehouse_2 all.launch
  using the parameter twopioneer(boolean parameter) you can choose to simulate the warehouse with 1 or 2 pioneers( obviously this will influence the box management policy)
  2) launch the camera and manipulator node
  $ roslaunch smart_warehouse_2 manipulator.launch

-The camera node now has a better and smarter policy to choose the box to pick (see the report for details).

-The manipulator movements are now smoother and faster.

-The robots adapt to every movement of the object in the world.

-any position change can be done in the .launch file

-

-The RViz window doesn't open anymore, if the user wants to use it, or at least see it, he only needs to uncomment from row 37 to 39 in  file: /RL_PROJECT/abb_irb6640_gazebo/launch/moveit_planning_execution_gazebo.launch

-to make the "ray beam" appear during the simulation go to pioneer_p3dx_model/p3dx_description/urdf/pioneer3dx.gazebo, row 97 and set "visualize" to true.

To install:

$ cd <catkin_ws>/src
$ git clone https://github.com/elianalf/RL_PROJECT.git 
$ cd ..
$ catkin_make

If there are same actionlib errors during the compilation of the packages "smart_warehouse_2" and "smartwarehouse_opencv" it is recommended:
$ catkin_make -DCATKIN_WHITELIST_PACKAGES="smart_warehouse_2"
$ catkin_make -DCATKIN_WHITELIST_PACKAGES="smartwarehouse_opencv"

To use:

To make sure your workspace is properly overlayed by the setup script:
$ source <catkin_ws>/devel/setup.sh
to launch the system see Execution Example

Necessary dependencies :

--move base and navigation-- 
move_base 
$  sudo apt-get install ros-melodic-move-base ros-melodic-move-base-msgs 
gmapping 
$  sudo apt-get install ros-melodic-gmapping
amcl
$ sudo apt-get install ros-melodic-amcl

$ sudo apt-get install ros-melodic-map-server
$ sudo apt-get install ros-melodic-dwa-local-planner

--OpenCV--
OpenCv can be compiled and installed after downloaded the desired version on this page: https://github.com/opencv/opencv/tree/4.3.0

--Move-it!, ros-industrial and ABB stack--
$ sudo apt-get install ros-melodic-moveit ros-melodic-moveit-plugins ros-melodic-moveit-planners
$ sudo apt-get install ros-melodic-industrial-core
$ sudo apt-get install ros-melodic-abb

You also need to install Eigen:
$ sudo apt-get install libeigen3-dev

---probably already downloaded dependencies but needed--
gazebo
gazebo_ros
gazebo_ros_control
gazebo_ros_pkgs
joint_state_controller
position_controllers
joint_trajectory_controller
robot_state_publisher
ros_controllers

Execution Example:

If the user needs to tune the rgb exact values the camera has to detect, he/she can follow this step.  The default colours are red and blue.
Every step has to be done in all separate shells:

1)Launching Gazebo and spawning robots
$ roslaunch smart_warehouse_2 warehouse2.launch

2)Go to /smartwarehouse_opencv/launch/identify_boxes.launch and change the value of the parameter "set_RGB" to TRUE and launch it.
$ roslaunch smartwarehouse_opencv identify_boxes.launch

3)Define the desired ranges of rgb values and change them into the identify_boxes.launch. Then change the value of the parameter "set_RGB" to FALSE and launch it again as the previous step 2). Finally execute the step 2) (Launch Move-it! Core) and from step 4) onwards of the following steps. 
If the user doesn't need to tune the rgb values, he/she can follow this step.

Every step has to be done in all separate shells:

_OLD PROCEDURE:_
 
1)Launching Gazebo and spawning robots
$ roslaunch smart_warehouse_2 warehouse2.launch

2)Launch Move-it! Core. After the launch it's possible to close the gui of RVIZ (RVIZ window).
$ roslaunch abb_irb6640_gazebo moveit_planning_execution_gazebo.launch 

3)Run object-tracker node 
$ rosrun smartwarehouse_opencv obj_tracker

4)Launch pioneer move base and AMCL
$ roslaunch p3dx_move moving_map.launch

5)Run Pioneer robot node
$ rosrun p3dx_move pioneer_p3dx_1
EDIT: the correct command now would be "$ rosrun p3dx_move pioneer_p3dx p3dx_1" or in general "$rosrun p3dx_move pioneer_p3dx {name_of_robot}" being careful to use the same name  spawning the robot, launching the related move_base,AMCL nodes.

6) Run Pioneer manager node
$ rosrun p3dx_move p3dx_manager

7)Run ABB pick and place task manager
$ rosrun smart_warehouse_2 abb_pp_task 

_NEW PROCEDURE:_

1) open gazebo, spawn all the robots and start the AGV nodes
$roslaunch smart_warehouse_2 all.launch


2)start camera and manipulator
$roslaunch smart_warehouse_2 manipulator.launch


as an alternative to this procedure you can launch 3 different files:

1) one to start the gazebo world and spawn all the robots
$ roslaunch smart_warehouse_2 warehouse2.launch

2) the second one to start all the AGVs nodes
$ roslaunch smart_warehouse_2 pioneer.launch

2) the last one to start camera and manipulator
$ roslaunch smart_warehouse_2 manipulator.launch

Note:

It is possible to launch  one or two pioneers just setting to false the variable "Twopioneer".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published