Bin Picking Tutorial: Setting up Photoneo Bin Picking Studio with MITSUBISHI robots
NOTE: Users are strongly recommended to read the general introduction to robot interfaces prior to installing specific robot modules.
1. Prerequisites
Photoneo Mitsubishi Interface is written in MELFA V language and it it should be compatible with following controllers:
- - CR750D
- - CR800
The robot used for the development: RV2-FR + CR800 controller with firmware version as shown in the figure below:
NOTE: RT Toolbox3 Software is highly recommended for setting up Photoneo Mitsubishi Module
2. Mitsubishi Controller Setup
2.1 Set IP Address
Setting up an IP Address of Robot Controller is an essential step in robot configuration.
It is not possible to go Online until the configuration of IP address does not match the network configuration of PC running RT Toolbox (same subnet)
Turn on the Robot Controller and Click the MEMU at the bottom. Select Parameter to open the Parameter list:
Turn ON the Keyboard by pressing KEY at the bottom and type NETIP to the search box:
This parameter holds the current IP settings of the Robot Controller. Change IP Address here to match your network configuration (same subnet).
Confirm WRITE and try to ping the Robot Controller from your PC. If this operation is successful, it should be possible to go Online from RTToolBox3.
2.2 RT ToolBox3 project configuration
When configuring the new project in RTToolBox it is recommended to enable TCP/IP communication for commissioning.
The default configuration should work with RTToolbox3. Do not change any parameters here unless you know exactly what you are doing:
2.3 Go Online
If project configuration has been completed, RTToolbox should be in Offline mode:
Change to Online mode to start configuring Robot Controller:
3. Project Setup
Photoneo Mitsubishi Interface consists of following .prg files:
- - PHOCLIENT - handles communication with BP Studio - Do Not Edit
- - PHOCOMMON - holds the definition of global variables
- - PHOMAIN - the main program loop is defined here amend program, poses, logic and gripper actions here
- - PHOSTATE - state server module, it runs in the background from the boot and keeps reporting joint states and TCP pose to the Bin Picking Studio.
3.1 Transfering Program files to Robot Controller
As the first step in Robot Controller configuration upload these four files to the Program List. Right Click on Program and select Program Manager:
Select four program files and copy them to the robot. Ensure that you have selected proper Source and Destination:
3.2 Parameters
As a next step Open Parameter List and search for a PRGUSR:
Type PHOCOMMON here to enable sharing global variables within all programs:
Now browse to Parameter -> Program Parameter -> Command and ensure that RAD is selected:
As a next step browse to Parameter -> Communication Parameter -> Ethernet
Basic networking parameters are shown here including NETIP configured as a first step:
Now switch to Device and Line. Photoneo Mitsubishi Module utilize OPT12 and OPT13 Devices:
Configure OPT12 as a Client and set Vision Controller IP here as configured in BP Studio. The default port utilized for Bin Picking Client is 11003
Configure OPT13 as a Server and change protocol to Data Link. The default port utilized for State Server is 11004
Now browse to Parameter -> Program Parameter -> Slot Table.
As is shown in the figure below PHOSTATE program needs to be added to the Slot 8:
Double click on Slot8 and select the PHOSTATE program.
Change conditions to ALWAYS to ensure that PHOSTATE program starts at the boot:
3.3 Reteach Positions
At this point, your Robot Controller is configured to work with Photoneo Bin Picking Studio. However, in order to meet your application requirements, you need to reteach several robot poses.
Open PHOMAIN file and select Joint Tab at the bottom of the screen to show a list of joint positions defined within the program.
Following is the list of Joint Position defined in basic program template. This can be adjusted to meet application requirements (J_Start and J_End must be always defined).
- - JHome - the robot Home position it should not interfere with scanning volume (Local Variable)
- - J_Start - Bin Picking Start Pose - it should be defined approximately above the center of the bin. (Global Variable, it must be defined)
- - J_End - Bin Picking End Pose - it should be defined approximately above the center of the bin but it can be also shifted towards the placing area (Global Variable, it must be defined)
- - JOutOfScan - Helper Joint Pose which guarantees that trigger will not be issued until the robot is in the scanning volume. It should be defined at the edge of scanning volume. (Local Variable doesn't need to be used)
- - JPlaceUp - Place Up Pose - pose above final placing pose (Local Variable depends on the application)
- - JPlace - Place Pose - the final placing pose (Local Variable depends on the application)
Reteaching all of these poses in Online Mode is simple. Jog the robot to the pose you want to teach and press Get Current Pose button. The current joint pose is saved.
3.4 PHOCLIENT Config
The only single line of code that needs to be edited in PHOCLIENT is the IP address and Port of Bin Picking Client.
Open PHOCLIENT and find "Try to establish the connection to BP Studio" section. Amend the IP address of Bin Picking Client and Port number here:
3.5 Gripper commands
In Photoneo Mitsubishi Module gripper command are implemented as subroutines directly in PHOMAIN program.
Scroll down in PHOMAIN program and find specific subroutine (Default routines: GripperAttach, GripperDetach)