Navigation

    M5Stack Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. kehu
    3. Best
    K
    • Continue chat with kehu
    • Start new chat with kehu
    • Flag Profile
    • Profile
    • Following
    • Followers
    • Blocks
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by kehu

    • First experience with myCobot280-M5Stack

      myCobot is a 6-DOF robotic arm from Elephant Robotics, which owns the highest cost-performance in collaborative robotic arms. This article is about the experience of using the myCobot280-M5Stack. I will program it in python, including environment building, code testing, and, development.

      Introduction

      Just as its name implies, this robot uses the M5Stack controller. So when using it, we need to build the compiled environment with a computer, and I will be using the python language to do this.
      There is an official library named pymycobot, I will use it in python to manipulate the robotic arm.

      Environment building

      Install the python environment on the computer and download the pymycobot library. Two methods are provided:

      1. A more detailed tutorial on building the python environment is available on Elephant Robotics Gitbook.
      2. Search the related tutorials on Google.
        After installing the programming environment, we download the driver library.
        pip install pymycobot
        0_1665476252556_1.png

      Controlling the robotic arm

      Get started with importing some python libraries.

      from pymycobot.mycobot import MyCobot
      import time
      

      (1)MyCobot(port,baud)

      To create an object to communicate with the myCobot.
      Port: Serial port of the robotic arm.
      Baud: Baud rate for the robotic arm.

      #The serial port of my arm is COM7, baud rate 115200.
      mc = MyCobot('COM7',115200)
      

      (2)get_angles()

      To get the angle data of all joints of myCobot.
      Return Value: The return value is a list with six elements of data, corresponding to joints 1 to 6.
      0_1665476468102_2.png
      We can see the angles of myCobot as shown
      0_1665476638997_3。1.jpg

      (3)send_angles(degree,speed)

      To send the angle and speed of movement to all joints.
      Degree: The angles of the joints are in the range of -180 to 180 and are stored in a list in the order of 1 to 6 joints respectively.
      Speed: The speed of the robotic arm during its movement to the specified angle.
      mc.send_angles([0,0,0,0,0,0],50)
      Run like this.
      demo
      Forum can't put gif

      (4)send_angle(id,degree,speed)

      To send the angle and speed to a single joint.
      Id: Integers in the range 1 to 6. It corresponds to robotic arms with 1-6 axes, respectively.
      Degree: The angles of the joints are in the range of -180 to 180 and are stored in a list in the order of 1 to 6 joints respectively.
      Speed: The speed of the robotic arm during its movement to the specified angle.
      Make a joint's movement reach a position of 90 degrees at a speed of 50.
      mc.send_angle(1,90,50)

      (5)release_all_servos()

      To unlock the robotic arm so it can swing manually at will. Note that when this command is executed, the arm will fall due to gravity, so be careful to prevent it from hitting other things.
      mc.release_all_servos()
      The robotic arm is powered on when it is controlled, and with this function, we can swing the robotic arm.
      demo2
      Forum can't put gif

      Demo

      Write a demo to make myCobot280-M5Stack dance.

      #!/usr/bin/python3
      #-*- coding: UTF-8 -*-
      from pymycobot.mycobot import MyCobot
      import time
      mc = MyCobot('COM7',115200)
      mc.send_angles([0,0,0,0,0,0],50)
      time.sleep(1)
      for count in range(3):
        mc.send_angles([87.8,(-51.5),60.9,11.95,(-15.9),(-6.06)],50)
        time.sleep(1)
        mc.send_angles([87.97,42.01,(-45.26),10.37,(-15.9),(-6.06)],50)
        time.sleep(1)
      mc.send_angles([19.77,79.36,(-114.34),39.63,(-15.9),(-6.06)],50)
      time.sleep(1)
      for count2 in range(4):
        mc.send_angles([43.24,93.42,(-140.88),48.07,60.64,(-6.06)],50)
        time.sleep(1)
        mc.send_angles([19.77,79.36,(-114.34),39.63,(-15.9),(-6.06)],50)
        time.sleep(1)
      

      demo3
      This is the end of myCobot280-M5Stack first experience.
      If you like this article, please give me a like or leave a comment to support it. Thank you!

      Github | pymycobot

      posted in General
      K
      kehu
    • RE: Desktop Dual-arm Cobot, myBuddy 280 Focuses on Education and Research with Various Functions

      It looks great.I see you guys say it allows for VR linkage is this possible?

      posted in PROJECTS
      K
      kehu
    • RE: The highest cost-performance mobile robotic platform for individual developers.

      Looks very nice. A couple of questions:

      • Your website says that the payload is 2000g – is that a typo? 2kg payload is not a lot and the arm that you show mounted on it looks like it might weigh a lot more than that.

      • Omni-directional wheels have notoriously poor odometry. Does the robot have an IMU that is used to compensate for that for localization?

      posted in General
      K
      kehu
    • RE: myAGV | SLAM-based autonomous localization and navigation for robots

      Can myAGV be equipped with an m5stack, which is used for one-key settings. For example, press one button to open the SLAM algorithm, and then press another button to open the keyboard control? Written as a one-click type.

      posted in General
      K
      kehu
    • RE: How to solve the problem of RVIZ freezing?

      Please check that you are using gpu acceleration and not just software rendering. This can be seen in the output of rviz at startup for example

      posted in General
      K
      kehu
    • RE: Exploring the Advantages and Differences of Different Types of Robotic Arms in AI Kit

      You are right!Choosing a suitable robotic arm is the most important thing.

      posted in PROJECTS
      K
      kehu