© 2020, Francisco Yumbla RISE ABB IRB-120 ROS Manipulation Package
1. How to Install
1.1. System Requirements
This package is written an tested on Ubuntu 18.04 + ROS Melodic environment. Dependencies are also for this environment.
Note: the same package can work in Ubuntu 16.04 + ROS Kinetic
1.2. Dependencies Prerequisites
There are a number of dependencies in this package, since the ABB robot is operated by ROS-Industrial package. Please install all the packages listed below in your Ubuntu PC, in the given order. These packages can be installed by apt
package manager.
- ros-melodic-desktop-full
- ros-melodic-industrial-core
- ros-melodic-industrial-msgs
- ros-melodic-industrial-robot-client
- ros-melodic-industrial-robot-simulator
- ros-melodic-industrial-utils
- ros-melodic-abb
- ros-melodic-moveit
- ros-melodic-joint-state-publisheser-gui
- ros-melodic-joint-trajectory-controller
Now,Extract the metapackage IRB120-ABB
into ${ros_workspace}/src
. catkin_make
your workspace.
WARNING: If you planing use grippers with this robot. You need copy the gripper package https://github.com/fryumbla/Robotiq-grippers.git
*If you want control with the joystick control. You need install: sudo pip install ds4drv
2. Structure of Packages
- irb120_description: This package contains the URDF and XACRO files for diferents configuration of the robot with grippers.
- irb120_master: This pasckage contains a diferrents examples of motion used MoveIt and the joystick&keyboard control of the real robot.
- irb120_vrep: This package contains the communication with V-REP simulator including examples and scenes
- irb120_configuration_moveit: This package contains the diferent MoveIt configuration of diferents configuration of the robot
3. How to Use
3.1. Simulation
Open terminal and roscore
and Enter
.
3.1.1 Rviz Visualization
-
Launch the robot visualization Rviz
roslaunch irb120_description irb120_display.launch
If you need see other configuration you can space and include gripper_2f:=true or gripper_3f:=true
roslaunch irb120_description irb120_display.launch gripper_2f:=true
-
Launch the robot with Moveit configuration
roslaunch irb120_description irb120_moveit.launch
If you need see other configuration you can space and include gripper_2f:=true or gripper_3f:=true
roslaunch irb120_description irb120_moveit.launch gripper_3f:=true
3.1.2 V-REP Simulation
-
V-REP execution (Since simulation is performed with vrep remote api and PLAY, roscore must be executed first): Open the scene of the irb120_vrep/scenes folder
-
Run the step 3.1.1 visualization Rviz or MoveIt
-
Run the next node for the communication Vrep to ros
rosrun irb120_vrep comunication
-
You can control with publishes direct the Jointstates or generate other but you need change the subscribe in the vrep_control.cpp file
You can find a example to publishes a new joint mesage:
To see the list of movement, type rosrun irb120_vrep movement.py
program, introduce the number do you want to move 1 2 3 4 5
and Enter
.
This node publishes the joints goals in the topic /joint_goals
or the joints states in the topic /joint_states
3.1.2 Gazebo Simulation (in construction)
-
Launch the robot in gazebo
roslaunch irb120_gazebo gazebo.launch
-
Run the next node for the communication ROS to Gazebo
rosrun irb120_gazebo communitation_gazebo.py
To see the list of movement, type rosrun bioloid_gp_master movement.py
program, introduce the number do you want to move 1 2 3
and Enter
.
This node publisheses the joints goals in the topic /joint_goals
3.2. Real Robot
The real robot work with the moveit_configuration package for precaution collision in our workspace or environment
Setup the Robot and turn on.
-
Launch the robot
roslaunch irb120_description real_robot.launch robot:=true
-
If you need see other configuration you change robot:=true for gripper_2f:=true or gripper_3f:=true. First connect the gripper and run the next line
sudo chmod 666 /dev/ttyUSB0 roslaunch irb120_description real_robot.launch gripper_2f:=true