Setting Collision Level

Setting Collision Level

Fairino Collision detection sensitivity

      The Fairino robotic arms are Cobots, meaning they are meant to work around people safely. A key to accomplishing this is the "Collision detection" setting. This article will cover how to set the collision level (the threshold of force that the robot will consider a collision) and how to configure the handling of said collisions for the Robot.

Setting Collision Level in the Web App:  

      In the Robot Web App, the collision settings can be set in the "Joints tab" shown in figure 1.1. The path to this tab is "Initial->Base->Joint->Collision Level"

                                                                        (Figure 1.1)
     
      The three configurable values in this page are: Collision level, Collision Strategy, and Static collision detection.

      Collision Level:

            Here, you are able to set the minimum total force (including robot inertia, gravitational force, and force applied when moving) for each joint to trigger a collision detection. The             recommended value is 10% of your target speed. Each robot model will have different values for each level. This is due to the compensation of the robot's gravitational force.

      Collision Strategy

            Collision strategy tells the robot what to do when it detects a collision. The default and safety standard for every robot is the "Error Stop", which will stop the program and throw an error, preventing any further robot action. Other methods include transitioning into drag mode, error pause, or ignoring collision*
       

      Static Collision Detection:

      Static collision detection allows the robot to detect collisions even while it is not moving. This allows safer testing for collision behaviors, collision handling, etc.
            robot.SetAnticollision(0, [j1_cl, j2_cl, j3_cl, j4_cl, j5_cl, j6_cl], 1) 
- The First value passed tells the robot which method to use (0: level, 1: percentage)
- The second value is an array of either level values (1-10) or percentage values (0-100)
- The third (and arguably most important) is the configuration flag (0: do not update, 1: update). This tells the robot whether or not to update the robot config based on the passed values.
      **IF THIS IS SET TO 0, THE COLLISION LEVELS WILL NOT BE UPDATED! **
     
      For more info on SDK functions, navigate to the Fairino Documentation page here

Setting Collision Level in the SDK:  

      For all Fairino SDKs, there will be a collision level setting function that you can call during your program to change the threshold on the fly. For example, in the python SDK, the collision levels are set by the following command:

Things to consider:

      After setting the minimum force threshold, it is important to note that the force specified IS NOT the additional force read after accounting for the robots force, it is the total force applied on the joints. This means that faster speeds and heavier payloads will play a large role in detecting false collisions. The rule of thumb is to keep the collision level at least 10% of your target speed. For example,  if I move my robot at 40% speed with collision levels set to 3, I will most likely get a false collision detection when the movement reaches it's top speed. Similarly, movements that were previously not detecting collisions could falsely detect a collision when the robot is given a payload that it is not expecting.

      
*Note on disabling collisionPLEASE NOTE THAT REMOVING COLLISION DETECTION REMOVES THE COBOT FROM THE SAFETY STANDARDS AND CAN BE DANGEROUS FOR OPERATORS, BYSTANDERS, OR MATERIALS! USE WITH EXTREME CAUSION!
      

    • Related Articles

    • Fairino Servo Commands (SDK)

      Servo commands, while being intimidating and complex at first, are a low level way to control your robot while getting precise movements and are ideal for low level control and accuracy. When using these servo commands with the SDK, you may notice a ...
    • 3D Object Mapping using Force Sensor & Servo Cart (Python SDK)

      This article contains code for mapping and visualizing an object from probing the target **PLEASE NOTE THIS CODE IS MEANT AS AN EXAMPLE/TEMPLATE AND SHOULD NOT BE RAN!!! USE THIS TO CREATE MODIFICATIONS TO ENSURE SAFETY AND COMPATABILITY WITH YOUR ...
    • How to update Fairino Robot Software

      Step 1) - Navigate to the Fairino documentation page here - Use the version select button in the bottom right to select the target software version you wish to migrate to (please note the compatibility table below): Current Version Maximum Upgradable ...
    • Fairino FAQ

      Q: How do I connect my DH gripper to my Fairino? A: Follow the instructions linked here ...
    • How to Set up your new Fairino

      This article will cover the steps needed to set up your Fairino from unboxing to your first program Step 0: What's in the box? Inside of the Fairino Box, there will be - A Robot (IP default is 192.168.58.2) - A control box - An E-Stop/button box - ...