====== Introduction to RB5 ====== **Author:** Email: \\ **Date:** Last modified on <01/06/23> \\ **Keywords:** RB5 manipulator, RB5 GUI tutorial, RB5 setup tutorial, collaborative robot \\ {{ youtube>0a6ExD3ccNM?medium }} \\ \\ The video above depicts RB5, collaborative robot developed by Rainbow Robotics, which allows you to improve production efficiency without using numerous safety device. The RB5 have collision detection built in that allows it to work collaboratively with human. The precision and power of RB5 make it suitable for industrial application. This tutorial shows you how to setup RB5 and accomplish basic operations and takes approximately 2 hours to complete. \\ ===== Motivation and Audience ===== This tutorial's motivation is to demonstrate how to setup and operate RB5. Readers of this tutorial assumes the reader has the following background and interests: * Have prior experience with robotic manipulator \\ * Some basic knowledge on the kinematic of manipulator \\ * Understand the limitation and danger of working with machinery \\ ===== Parts Identification ===== ==== Components ==== The following items are included within RB5 system * RB5 manipulator * Control panel (control box) * Emergency stop switch and cable * Power Cable * Robot arm control panel connection cable * (Optional) Teaching Pendant (Tablet) ==== RB5 Manipulator ==== {{ bskim:rb5_tutorial:rb5_jnt_description.png?300 |}} * **1 Base** * **2 Base Joint** * **3 Shoulder Joint** * **4 Elbow Joint** * **5 Wrist 1 Joint** * **6 Wrist 2 Joint** * **7 Wrist 3 Joint** * **8 (Tool Flange) End-effector** {{ bskim:rb5_tutorial:rb5_extra_description.png?600 |}} * **1 Teaching switch: Allow RB5 to be freely moved** * **2 Tool Flange: Allow mounting of tool** * **3 Tool I/O: Communication I/O for tool** * **4 Base: Secure manipulator** * **5 Robot control panel connection: connection port between robot and control panel** ==== Control Panel (Control Box) ==== {{ bskim:rb5_tutorial:controler_description.png?600 |}} * **1 Power Switch** * **2 Reset Switch** * **3 48V Switch** * **4 USB Ports** * **5 LCD** * **6 LAN** * **7 AC Power Socket** * **8 Robot Arm Connection** * **9 EMO** * **10 I/O Ports** ===== Initial Setup ===== Before connecting cables, make sure that the power switch is in off position. {{ bskim:rb5_tutorial:power_connect.png?300 |}} * **Step 1** Connect the AC power cable to the AC power Socket * **Step 2** Connect the communication cable between the robot and control panel. Connect the other end of the communication cable to the base of the robot manipulator {{ bskim:rb5_tutorial:emc_stop.png?600 |}} * **Step 3** Connect the two emergency switch to the the 48V Switch ports in the front of the control panel and EMO on the back of the control panel. Both emergency switch must be connected for the robot to operate. The redundant emergency switch are by design to ensure that there will always be a method to stop the robot in case of emergency. Make sure that both emergency switch are in stop position before turning on the power on control panel. * **Step 4** Connect the Teaching Pendant to the control panel through USB port. The robot manipulator are now ready for operation. ===== GUI Tutorial ===== {{ youtube>HvKrPZcC5Fw?large }} * **Set Up**\\ RB5 support GUI Programming by using their own program. We can use the GUI program with tablet or our Labtop. you can download and install the GUI program each case what you want case 1 Using Android Tablet You can download Android APK file with this and install it. {{ :bskim:rb5_tutorial:rb_22062310_4610.zip |RB_GUI_APK}} After you install above APK file, you need change configuration on your tablet setting following this document. {{ :bskim:rb5_tutorial:android_setting_1.5_eng.pdf |}} \\ case 2 Using Labtop You can download below file and unzip it. {{ :bskim:rb5_tutorial:rb_window_512.zip |RB_GUI_PC}} them, you can use GUI program with Rainbow-RB.exe file. {{ :bskim:rb5_tutorial:labtop_gui.png?nolink&600 |}} * **Intro**\\ The below image shows the start screen. The start screen will occur while the application is loading its processes. {{ bskim:rb5_tutorial:gui_intro_intro.png?600 |}} \\ * **Login (Factory-Default login password: 0000)**\\ To set up the password or to enable automatic login, please go to the "Setup-System-Password" menu. {{ bskim:rb5_tutorial:gui_password.png?600 |}} \\ * **MAIN SCREEN DISPLAY**\\ The UI has three main menus.\\ {{ bskim:rb5_tutorial:gui_intro.png?600 |}} * **Make** : for programming robot motion and tasks.\\ * **Play** : for running motion and tasks pre-programmed in the Make menu.\\ * **Setup** : for setting up parameters.\\ In the main screen, users can create programs for the robot (Make), move the robot (Play), or set settings (Setup) through each relevant menu. * **MAKE**\\ The Make screen is the interactive menu to program the robot. Programming the collaborative robot will also be referred to as “teaching.” Teaching the robot requires the use of the icons at the top of the screen. Moving the robot requires the use of icons at the right. Moving the robot by one of these icons will also be referred to as “jogging.” Editing the teaching program requires the use of icons at the left.\\ {{ bskim:rb5_tutorial:rb5_make.png?600 |}} * **Left Icons** : Copy & Paste, Save, Delete, Add Comment, etc. * **Right Icons** : Jog/Jogging, Move Left/Right/Forward/Backward, etc. * **Middle Icons** : Program Functions, etc. * **Bottom Icons** : Save/Load, Play, Motion Speed Adjustment, etc. \\ ===== Connet Tablet PC to Control Box ===== {{ youtube>069yjvGrsPA?large }} {{bskim:rb5_tutorial:connect_icon.png?40}}This icon is in the upper right of each screen. The robot control box and tablet PC must be connected before teaching. When this icon is pressed, the following screen is displayed.\\ {{ bskim:rb5_tutorial:connect_1.png?600 |}} Press the ‘Connect’ button to link the tablet PC to the robot control box.\\ \\ The figure below shows a display when the tablet PC and control box are being connected. \\ {{ bskim:rb5_tutorial:connect_2.png?600 |}} \\ ‘Network Connecting’ lights yellow when the tablet PC is trying to connect to the control box. \\ \\ ‘Network Connected’ becomes blue when the table PC and control box are connected properly. The ‘Control’ button is also activated once more. \\ \\ {{ bskim:rb5_tutorial:connect_3.png?600 |}} \\ \\ After ‘Network Connected’, press the ‘Control’ button to activate the robot control system. \\ \\ During initialization, the mechanical joint brake is released. Unlocking the joints will generate a clicking sound. \\ \\ All lights become blue when the robot is ready. \\ \\ {{ bskim:rb5_tutorial:connect_4.png?600 |}} ====== RB5 Programming ====== ===== Ways to Move the Robot ===== {{ youtube>QIE0jDhpIww?large }} * **Direct-Teaching** : When a user manually rotates each joint to change the pose of the robot. * **Jogging** : When a user uses the jog buttons in the UI to move the robot. ==== Direct-Teaching ==== {{ bskim:rb5_tutorial:direct_teaching.png?400 |}} The ‘Gravity Compensation’ algorithm allows the robot to keep its pose when set by a user. For ‘Direct-Teaching’, a user must press and hold the mechanical button located on the tool flange. Pressing this button allows each joint to move freely. The red circle in the figure above indicates the location of the button. ==== Jogging ==== {{ bskim:rb5_tutorial:rb5_jog_intro.png?600 |}} There are four modes of jogging. * **Mode 1** : TCP Movement in the Cartesian coordinate system with respect to the base (global) frame. {{ bskim:rb5_tutorial:rb5_jog_1.png?600 |}} * **Mode 2** : TCP Movement in the Cartesian coordinate system with respect to the tool (local) frame. {{ bskim:rb5_tutorial:rb5_jog_2.png?600 |}} * **Mode 3** : TCP Movement in the Cartesian coordinate system with respect to the user coordinate frame. {{ bskim:rb5_tutorial:rb5_jog_3.png?600 |}} * **Mode 4** : Angular joint movement. {{ bskim:rb5_tutorial:rb5_jog_4.png?600 |}} ===== Teaching Robot Movement ===== The basic robot teaching functions are {{bskim:rb5_tutorial:move_icon.png?30}}**Move** and {{bskim:rb5_tutorial:point_icon.png?30}}**Point**. Both icons are on the top bar when using the Make screen. * **Move** : Defines motion property. Generates a movement command for the robot arm. Requires points to be defined. * **Point** : A sub-function of Move. Defines a destination position for each movement. After using the Move and Point functions in an empty program, the script field in the UI will look like the following. {{ bskim:rb5_tutorial:move_function.png?600 |}} Details on each of the **Move** and **Point** functions follow on the pages below. ==== Move Function ==== {{ youtube>rdgeWmA1uEY?large }} {{ bskim:rb5_tutorial:move_function_desc.png?600 |}} **Move** sets the robot arm's motion properties. The two primary types of movements are **Joint** and **Linear**. These types are further broken down into commands, as shown in the figure above. ===Joint Movement Commands=== The Joint Movement Commands generate movement by setting the angular value of each individual joint (in degrees). **▷ MoveJ (Move Joint)** \\ \\ Sets each joint angle to the values contained within the target Point. Note: The movement speeds for all joints are slowed relative to the joint that requires the most movement time. \\ \\ **▷ MoveJB (Move Joint Blend)**\\ Starting from the initial arm configuration, the arm will move smoothly between each Point without stopping by using the Move J method. \\ \\ ===Linear Movement Commands=== The Linear Movement Commands generate movement by setting the position of the TCP in the Cartesian coordinate system. These commands use Cartesian coordinates (x,y,z coordinate values and rotations) as the target values for the movement. **▷ MoveL (Move Linear)**\\ Moves the TCP linearly (using x, y, and z) from the current position to the position contained within the target Point (in mm). Will also rotate the TCP (using Rx, Ry, and Rz) based on the orientation contained within the target Point (in degrees). \\ \\ **▷ MoveLB (Move Linear Blend)**\\ Starting from the initial arm configuration, the arm will move smoothly between each Point without stopping by using the Move L method. This method will generate an arc-shaped path. For each Point, the user must specify a Blend Radius. This Blend Radius determines how far away the TCP will be from the Point when moving along the path. If the Blend Radius is set to 0, the path will be the same as only using the Move L method. The Blend Radius has a maximum value, which is half of the distance between the initial Point and the destination Point. This ensures that the arm will maintain a blended movement. Move LB has two modes, Constant and Intended. ● Constant mode maintains the first Point’s TCP orientation (Rx, Ry, and Rz) during movement, only changing the tool’s position (x, y, and z) through the movements. ● Intended mode changes both the orientation and position the TCP as the arm moves. \\ \\ **▷ MovePB (Move Point Blend)**\\ MovePB is similar to MoveLB, but it is more universally available. For each Point, the user can set the blend amount in either distance or percentage (%). The speed can also be set separately for each point. 90. \\ \\ **▷ MoveJL (Move J with Linear Input)**\\ Like MoveL, the Cartesian value of the target point is used as input. However, instead of going straight to the point, it uses MoveJ's method. When the Cartesian coordinate system input is received, it is converted into the target joint angle through inverse kinematics and inputted again to MoveJ. \\ \\ **▷ MoveITPL (Move Interpolation)**\\ Starting from the starting point (the current position), move smoothly between the points without any stops using the Move L method. MoveLB or PB blends across (blend) each waypoint, but MoveITPL moves along the trajectory exactly past each waypoint. So there is no separate blend setting. MoveITPL has two modes. Constant mode is to move the tool orientation while maintaining the starting point value. Intended mode is to change the orientation of each tool. The speed can be set separately for each intermediate waypoint. \\ \\ An example of a teaching program is shown below. {{ bskim:rb5_tutorial:program_example.png?800 |}} More information on GUI programming can be found through the link below. https://youtube.com/playlist?list=PLa7dlfy7PJ2w79uPRvhXDd61yqKZtpVdc If you need more advanced programming, go to [[rb5_advanced_programming|rb5_advanced_programming]] ==== Exercise ==== * Move RB5 from joint angle(0,0,0,0,0,0) to angle(10,20,30,40,50,60). * Move RB5 from joint Position(0.4,0,0.4,0,0,0) to Position(0.2,0.2,0.5,0,0,0). * Make your own program using GUI drawing circle and square. radius(100mm) and length of edge(200mm) ===== RB5 Programming without Control Box ===== We can make virtual Control Box in Personal Labtop using Virtual Box. 1. Installing the Virtual-Box program on user PC (1) Click the Windows hosts button from the following link (https://www.virtualbox.org/wiki/Downloads) to download the installation file. In order to operate the virtual robot control box program, a virtual Linux system is required, so the above program is required to install. {{ :bskim:rb5_tutorial:virtual_box_down.png?nolink&600 |}} (2) Install this program through the Next/Yes button without any additional settings. (3) When the installation is complete, run the program. 2. Install and Run the simulator program through Virtual-Box (1) Tool → Network {{ :bskim:rb5_tutorial:virtual_box2.png?nolink&600 |}} (2) Set the network address as follows. IP address should be ‘10.0.2.1’ After writing, ‘Apply’ button should be clicked. (3) File → Import Virtual System {{ :bskim:rb5_tutorial:virtual_box3.png?nolink&600 |}} (4) Decompress (un-zip) the distributed compressed file in advance. Select the attached RBVirtualSimulator.ova and click ‘Next’. #add file link soon, the file is too big to upload daslhub {{ :bskim:rb5_tutorial:virtual_box4.png?nolink&600 |}} (5) Click ‘Import’ to finalize the setup.. {{ :bskim:rb5_tutorial:virtual_box5.png?nolink&600 |}} (6) After setting, RBVirtualSimulator is added to the left side of the program. Double-click on it to launch the virtual robot control box. (7) After completing the previous settings, if you run RBVirtualSimulator again, you can see that the virtual-robot-control-box boots normally. Wait until the message * daemon started successfully appears in the console window as shown in the screen below. {{ :bskim:rb5_tutorial:virtual_box6.png?nolink&600 |}} 3. Launch and connect the Rainbow-RB Window Ui program (1) Run Rainbow-Robotics Window UI program (Rainbow-RB.exe) {{ :bskim:rb5_tutorial:labtop_gui.png?nolink&600 |}} (2) Enter to ‘Make Page’. Click the ‘Network’ button {{bskim:rb5_tutorial:connect_icon.png?40}}. In the tablet connection settings, set the mode to ‘TCP/IP’, and enter 10.0.2.7 as the IP address. {{ :bskim:rb5_tutorial:labtop_gui2.png?nolink&600 |}} (3) If UI program is connected with virtual box, the network status icon becomes green. {{ :bskim:rb5_tutorial:labtop_gui3.png?nolink&600 |}} (4) Through the simulation mode, user can simulate the robot. ====== Final Words ====== For questions, clarifications, etc, Email: