🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    How to control adaptive gripper on myCobot 280?

    PRODUCTS
    1
    1
    2.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ElephantRoboticsE
      ElephantRobotics
      last edited by ElephantRobotics

      Adaptive gripper is one of the practical auxiliary tools that can be installed on myCobot 280. So how can we install and control the adaptive gripper on myCobot 280 correctly? We will show you in this passage about in Python and Roboflow.
      0_1651819611526_IMG04_720x.png
      Installing the gripper
      1.Fasten the adaptive gripper to the top of myCobot with LEGO Tech pieces.

      2.Connect the gripper to the end-effector extension interface of M5 Basic.
      0_1651819631459_6.6_1.png

      1.Controlling the adaptive gripper in Python
      Introduction of API
      1、is_gripper_moving( )
      Function: to determine whether the gripper is running.
      Return value:
      0: means that the gripper is not running.
      1: means that the gripper is running.
      -1: means an error.
      2、set_gripper_value(value, speed)
      Function: to make the gripper rotate to a specified position at a specified speed.
      Description of parameters:
      value: means the position to be reached by the gripper, ranging from 0 to 256.
      speed: means the speed of rotation, ranging from 0 to 100
      Return value: None
      3、get_gripper_value()
      Function: to obtain the data information on the encoder of the gripper.
      Return value: to obtain the data information of the gripper.
      4、set_gripper_int()
      Function: to set the initial position of the gripper. Set the current position to 2048
      return value: None
      5、set_gripper_state(flag, speed)
      Function: to make the gripper enter a specified state at a specified speed. 、
      Description of parameters:
      flag: 1 means that the gripper is closed, 0 means thatthe gripper is open.
      speed: means the speed at which the gripper reaches a specified state, ranging from 0 to 100.
      Return value: None

      Content of the code

      from pymycobot.mycobot import MyCobot        
      from pymycobot import PI_PORT, PI_BAUD  # When using the Raspberry Pi version of mycobot, these two variables can be referenced to initialize MyCobot
      import time
      #Enter the above code to import the packages required by the project
      
      
      def gripper_test(mc):
          print("Start check IO part of api\n")
          # Check if the gripper is moving
          flag = mc.is_gripper_moving()
          print("Is gripper moving: {}".format(flag))
          time.sleep(1)
      
          # Set the current position to (2048).
          # Use it when you are sure you need it.
          # Gripper has been initialized for a long time. Generally, there
          # is no need to change the method.
          # mc.set_gripper_ini()
          # Set joint point 1 to rotate to the position of 2048
          mc.set_encoder(1, 2048)
          time.sleep(2)
          # Set six joint positions and let the robotic arm rotate to this position at a speed of 20
          mc.set_encoders([1024, 1024, 1024, 1024, 1024, 1024], 20)
          time.sleep(3)
          # Get the position information of joint point 1
          print(mc.get_encoder(1))
          # Set the gripper to rotate to the position of 2048
          mc.set_encoder(7, 2048)
          time.sleep(3)
          # Set the gripper to rotate to the position of 1300
          mc.set_encoder(7, 1300)
          time.sleep(3)
      
          # Let the gripper reach the state of 2048 at a speed of 70
          mc.set_gripper_value(2048, 70)
          time.sleep(3)
          # Let the gripper reach the state of 1500 at a speed of 70
          mc.set_gripper_value(1500, 70)
          time.sleep(3)
      
      
          # Set the state of the gripper to quickly open the gripper at a speed of 70
          mc.set_gripper_state(0, 70)
          time.sleep(3)
          # Set the state of the gripper so that it quickly closes the gripper at a speed of 70
          mc.set_gripper_state(1, 70)
          time.sleep(3)
      
          # Get the value of the gripper
          print("")
          print(mc.get_gripper_value()
      
      if __name__ == "__main__":
          # MyCobot class initialization requires two parameters:
          #   The first is the serial port string, such as:
          #       linux:  "/dev/ttyUSB0"
          #          or "/dev/ttyAMA0"
          #       windows: "COM3"
          #   The second is the baud rate:: 
          #       M5 version is:  115200
          #
          #    Example:
          #       mycobot-M5:
          #           linux:
          #              mc = MyCobot("/dev/ttyUSB0", 115200)
          #          or mc = MyCobot("/dev/ttyAMA0", 115200)
          #           windows:
          #              mc = MyCobot("COM3", 115200)
          #       mycobot-raspi:
          #           mc = MyCobot(PI_PORT, PI_BAUD)
          #
          # Initialize a MyCobot object
          # Create object code here for Raspberry Pi version below
          mc = MyCobot(PI_PORT, PI_BAUD)
          # make it move to zero position
          mc.set_encoders([2048, 2048, 2048, 2048, 2048, 2048], 20)
          time.sleep(3)
          gripper_test(mc)
      

      If the gripper can not be closed normally, and the temperature of gripper increases, it is the parameter error on gripper. What we should do is to adjust the steering gear parameter of adaptive gripper, change the maximum temperature limit from 70 to 80, maximum torque from 1000 to 400.

      2. Controlling the adaptive gripper in Roboflow
      1.Run RoboFlow, click "Empty Program", enter the program editing interface, and select Basic – Gripper
      2.click Define New Gripper, fill in Gripper Name as " CAG-1 ” (must be this name), and then click Save
      3.select open or close for Saved status
      The following video:
      How to control gripper through Coboflow

      Also, myCobot 280 can connect with others end effectors like Camera flange, suction pump, mobile phone holder, etc.

      1 Reply Last reply Reply Quote 1
      • First post
        Last post