https://shop.elephantrobotics.com/blogs/learning-center.atom Elephant Robotics - Learning Center 2025-02-28T16:37:04+08:00 Elephant Robotics https://shop.elephantrobotics.com/blogs/learning-center/how-to-use-pybullet-for-imitation-learning-with-mycobot-320-robot-arm 2025-02-28T16:37:04+08:00 2025-02-28T16:37:08+08:00 How to use PyBullet for imitation learning with myCobot 320 robot arm? Lisha Qiu Key Features & Implementation:

Robot Simulation with PyBullet – Simulating myCobot’s movements in a virtual environment.

Imitation Learning Model Training – Teaching the robot to replicate predefined tasks.

Precision Manipulation Techniques – Implementing joint velocity control and inverse kinematics for accurate movement.

Real-Time Visualization – Observing and analyzing the robot’s actions in simulation.

More

]]>

PyBullet-based Imitation Learning for myCobot 320 Robot Arm

In recent years, robot reinforcement learning has developed rapidly, with imitation learning emerging as a promising approach. This method enables robots to learn tasks by observing human demonstrations, allowing for more intuitive training, especially in complex environments. To help simplify the learning process, this guide will walk you through implementing imitation learning for the 6-DOF myCobot 320 M5Stack using PyBullet.


What is PyBullet used for?

PyBullet is a physics simulation library widely used in robotics for creating virtual environments. It provides tools to simulate robot physics and their interactions with the environment.


myCobot Control Using a Pre-Trained Imitation Learning Model

In this project, we will use a pre-trained imitation learning model to control myCobot in a simulated environment. We reference the GitHub open-source project Simple Imitation Learning, authored by Sicelukwanda Zwane, who provided technical support. Additionally, Geraud Nangue Tasse, a key supporter of the Robot Learning Workshop, has made significant contributions to this project.

Key Features & Implementation:

Robot Simulation with PyBullet – Simulating myCobot’s movements in a virtual environment.

Imitation Learning Model Training – Teaching the robot to replicate predefined tasks.

Precision Manipulation Techniques – Implementing joint velocity control and inverse kinematics for accurate movement.

Real-Time Visualization – Observing and analyzing the robot’s actions in simulation.


Project Setup: A Step-by-Step Guide

1. Setting Up the PyBullet Simulation

Firstly, we need to load the 6-axis robotic arm myCobot 320 in PyBullet and set up the physical simulation environment.


import pybullet as p
import pybullet_data as pd
import numpy as np
import time
# use PyBullet
client_id = p.connect(p.GUI)
p.setAdditionalSearchPath(pd.getDataPath())
p.setGravity(0, 0, -9.8)
# load 2 model  a plane and a robot
plane_id = p.loadURDF("plane.urdf")
robot_id = p.loadURDF("mycobot_description/urdf/mycobot/mycobot_urdf.urdf", useFixedBase=True)
# set step
time_step = 1/240
p.setTimeStep(time_step)

Alternatively, you can simply test robotic arm simulation using the code written by Sicelukwanda Zwane.


pip install pybullet numpy
git clone https://github.com/Sicelukwanda/robot_learning_tutorial.gi
cd robot_learning_tutorial 
python3 move_basic.py

2. Collect Demonstration Data

In imitation learning, we need to collect a large amount of demonstration data, including:

  • State – Joint angle and velocity of the robotic arm.
  • Action – he target joint angle or velocity of the robotic arm.

Here we use pybullet to obtain the status of the robotic arm and define some demonstration actions with simple code.


states = []
actions = []
for i in range(100):
    joint_positions = [0, 0.3*np.sin(i/10), -np.pi/4, 0, np.pi/4, 0]
    states.append(joint_positions)
    actions.append(joint_positions)  # In imitation learning, the ideal action is the correct state
    p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=joint_positions)
    p.stepSimulation()
    time.sleep(time_step)
# save data
np.save("states.npy", np.array(states))
p.save("actions.npy", np.array(actions))

3. Training the Robot

We need to install PyTorch and start training with a neural network model.


import torch
import torch.nn as nn
import torch.optim as optim
# load 
X_train = np.load("states.npy")
y_train = np.load("actions.npy")
# trans to  PyTorch tensor
X_train = torch.tensor(X_train, dtype=torch.float32)
y_train = torch.tensor(y_train, dtype=torch.float32)
# load a simple network
class ImitationNetwork(nn.Module):
    def __init__(self, input_dim, output_dim):
        super(ImitationNetwork, self).__init__()
        self.model = nn.Sequential(
            nn.Linear(input_dim, 64),
            nn.ReLU(),
            nn.Linear(64, 64),
            nn.ReLU(),
            nn.Linear(64, output_dim)
        )
    def forward(self, x):
        return self.model(x)
model = ImitationNetwork(input_dim=6, output_dim=6)
optimizer = optim.Adam(model.parameters(), lr=0.001)
loss_fn = nn.MSELoss()
# start training
epochs = 100
for epoch in range(epochs):
    optimizer.zero_grad()
    output = model(X_train)
    loss = loss_fn(output, y_train)
    loss.backward()
    optimizer.step()
    print(f"Epoch {epoch+1}, Loss: {loss.item():.4f}")
# save
torch.save(model.state_dict(), "imitation_model.pth")

4. Test


# Load your model
model.load_state_dict(torch.load("imitation_model.pth"))
model.eval()
for i in range(100):
    joint_state = np.load("states.npy")[i]
    input_tensor = torch.tensor(joint_state, dtype=torch.float32).unsqueeze(0)
    predicted_action = model(input_tensor).detach().numpy().flatten()
    p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=predicted_action)
    p.stepSimulation()
    time.sleep(time_step)

Due to the motion of the robotic arm is generated using code rather than manually collected, it lacks authenticity and makes the learning results ideal. Therefore, in actual learning, myCobot 320 M5Stack 6 axis robot arm can be used to collect better motion data.


Summary

This guide demonstrates how to use PyBullet for imitation learning with myCobot robotic arms, including data collection and validation.

In practical applications, you can extend this tutorial by:

✅Using more advanced neural networks (such as LSTMs) to process time-series data.

✅Integrating reinforcement learning (RL) to enable robots to autonomously optimize their behavior.

✅Deploying the learned strategies to a real myCobot robotic arm.

You can try to modify the task objectives, such as allowing myCobot to perform more complex operations such as picking and placing. We're excited to see more users and makers exploring the myCobot series robots to create innovative projects and participate in our cases collection activity.

Schematics

Download mycobot_320_urdf

Code: data_collection.pyPython


import pybullet as p
import pybullet_data as pd
import numpy as np
import time
# use PyBullet
client_id = p.connect(p.GUI)
p.setAdditionalSearchPath(pd.getDataPath())
p.setGravity(0, 0, -9.8)
# load 2 model  a plane and a robot
plane_id = p.loadURDF("plane.urdf")
robot_id = p.loadURDF("mycobot_description/urdf/mycobot/mycobot_urdf.urdf", useFixedBase=True)
# set step
time_step = 1/240
p.setTimeStep(time_step)
states = []
actions = []
for i in range(100):
    joint_positions = [0, 0.3*np.sin(i/10), -np.pi/4, 0, np.pi/4, 0]
    states.append(joint_positions)
    actions.append(joint_positions)  # In imitation learning, the ideal action is the correct state
    p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=joint_positions)
    p.stepSimulation()
    time.sleep(time_step)
# save data
np.save("states.npy", np.array(states))
p.save("actions.npy", np.array(actions))
]]>
https://shop.elephantrobotics.com/blogs/learning-center/ai-kit-choose-robotic-arm 2024-07-11T20:59:43+08:00 2024-07-11T20:59:43+08:00 Types of Robotic Arms in AI Kits: A Comparative Analysis Lisha Qiu More

]]>
Types of Robotic Arms in AI Kits: A Comparative Analysis

Choosing the Right Robotic Arm for Your AI Kit

In the rapidly advancing field of artificial intelligence and robotics, AI Vision Kits are revolutionizing how machines interact with their environment. The AI Kit works seamlessly with three distinct robotic arms: the myPalletizer 260, myCobot 280, and mechArm 270. Let's dive in and discover how they differ to help you make an informed choice.

What is Robotics AI Kit?

The AI Kit is an entry-level artificial intelligence kit that integrates vision, positioning, grasping, and automatic sorting modules. Based on the Linux system and built-in ROS (Robot Operating System) with a one-to-one simulation model, the AI Kit supports the control of the robotic arm through software development, allowing for a quick introduction to the basics of artificial intelligence.

Benefits of Using the AI Kit

Currently, the AI kit can achieve color and image recognition, automatic positioning and sorting. This kit is very helpful for users who are new to robotic arms and machine vision, as it allows you to quickly understand how artificial intelligence projects are built and learn more about how machine vision works with robotic arms.

Compatible Robotic Arms for the AI Kit

myCobot 280 (6 axis robot arm)

myCobot 280 is the smallest and lightest 6-axis collaborative robotic arm (Cobot structure) in the world. The myCobot 280 has a weight of 850 g, a payload of 250 g, and an effective working radius of 280 mm. It is small but powerful and can be used with various end effectors to adapt to different application scenarios. It also supports software development on multiple platforms to meet diverse needs, such as scientific research and education, smart home applications, and preliminary business R&D.

mechArm 270 (6 axis robot arm)

mechArm 270 is a small 6-axis robotic arm with a center symmetrical structure (like an industrial structure). The mechArm 270 weighs 1 kg with a payload of 250 g, and has a working radius of 270 mm. Ideal for markers, designers & anyone who loves to create!

myPalletizer 260 (4 axis robot arm)

myPalletizer 260 is a lightweight 4-axis robotic arm that is optimal space-removing fin design concept that can be loaded into a backpack subverts the traditional link-type educational four-axis robotic arm. It weighs 960 g, has a 250 g payload, and has a working radius of 260 mm. Ideal for makers and educators and has rich expansion interfaces.

How the AI Kit Works with Robotic Arms?

Taking the color recognition and intelligent sorting function as an example, we can learn about the visual processing module and the computing module. Now, let's watch the video to see how the AI Kit works with these 3 robotic arms.

Use OpenCV Vision Processing Module

OpenCV (Open Source Computer Vision) is an open-source computer vision library used to develop computer vision applications. OpenCV includes a large number of functions and algorithms for image processing, video analysis, deep learning based object detection and recognition, and more.

We use OpenCV to process images. The video from the camera is processed to obtain information from the video such as color, image, and the planar coordinates (x, y) in the video. The obtained information is then passed to the processor for further processing.

Below is a part of the code used for image processing (color recognition):


# detect cube color
def color_detect(self, img):
# set the arrangement of color'HSV
x = y = 0
gs_img = cv2.GaussianBlur(img, (3, 3), 0) # Gaussian blur
# transfrom the img to model of gray
hsv = cv2.cvtColor(gs_img, cv2.COLOR_BGR2HSV)
for mycolor, item in self.HSV.items():
redLower = np.array(item[0])
redUpper = np.array(item[1])
# wipe off all color expect color in range
mask = cv2.inRange(hsv, item[0], item[1])
# a etching operation on a picture to remove edge roughness
erosion = cv2.erode(mask, np.ones((1, 1), np.uint8), iterations=2)
# the image for expansion operation, its role is to deepen the color depth in the picture
dilation = cv2.dilate(erosion, np.ones(
(1, 1), np.uint8), iterations=2)
# adds pixels to the image
target = cv2.bitwise_and(img, img, mask=dilation)
# the filtered image is transformed into a binary image and placed in binary
ret, binary = cv2.threshold(dilation, 127, 255, cv2.THRESH_BINARY)
# get the contour coordinates of the image, where contours is the coordinate value, here only the contour is detected
contours, hierarchy = cv2.findContours(
dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if len(contours) > 0:
# do something about misidentification
boxes = [
box
for box in [cv2.boundingRect(c) for c in contours]
if min(img.shape[0], img.shape[1]) / 10
< min(box[2], box[3])
< min(img.shape[0], img.shape[1]) / 1
]
if boxes:
for box in boxes:
x, y, w, h = box
# find the largest object that fits the requirements
c = max(contours, key=cv2.contourArea)
# get the lower left and upper right points of the positioning object
x, y, w, h = cv2.boundingRect(c)
# locate the target by drawing rectangle
cv2.rectangle(img, (x, y), (x+w, y+h), (153, 153, 0), 2)
# calculate the rectangle center
x, y = (x*2+w)/2, (y*2+h)/2
# calculate the real coordinates of mycobot relative to the target
if mycolor == "red":
self.color = 0
elif mycolor == "green":
self.color = 1
elif mycolor == "cyan" or mycolor == "blue":
self.color = 2
else:
self.color = 3
if abs(x) + abs(y) > 0:
return x, y
else:
return None

Merely obtaining image information is not sufficient; we must process the acquired data and pass it to the robotic arm for command execution. This is where the computation module comes into play.

Use Numerical Python Computation Module

NumPy (Numerical Python) is an open-source Python library mainly used for mathematical calculations. NumPy provides many functions and algorithms for scientific calculations, including matrix operations, linear algebra, random number generation, Fourier transform, and more.

We need to process the coordinates on the image and convert them to real coordinates, a specialized term called eye-to-hand. We use Python and the NumPy computation library to calculate our coordinates and send them to the robotic arm to perform sorting.

Here is part of the code for the computation:


while cv2.waitKey(1) < 0:
# read camera
_, frame = cap.read()
# deal img
frame = detect.transform_frame(frame)
if _init_ > 0:
_init_ -= 1
continue
# calculate the parameters of camera clipping
if init_num < 20:
if detect.get_calculate_params(frame) is None:
cv2.imshow("figure", frame)
continue
else:
x1, x2, y1, y2 = detect.get_calculate_params(frame)
detect.draw_marker(frame, x1, y1)
detect.draw_marker(frame, x2, y2)
detect.sum_x1 += x1
detect.sum_x2 += x2
detect.sum_y1 += y1
detect.sum_y2 += y2
init_num += 1
continue
elif init_num == 20:
detect.set_cut_params(
(detect.sum_x1)/20.0,
(detect.sum_y1)/20.0,
(detect.sum_x2)/20.0,
(detect.sum_y2)/20.0,
)
detect.sum_x1 = detect.sum_x2 = detect.sum_y1 = detect.sum_y2 = 0
init_num += 1
continue
# calculate params of the coords between cube and mycobot
if nparams < 10:
if detect.get_calculate_params(frame) is None:
cv2.imshow("figure", frame)
continue
else:
x1, x2, y1, y2 = detect.get_calculate_params(frame)
detect.draw_marker(frame, x1, y1)
detect.draw_marker(frame, x2, y2)
detect.sum_x1 += x1
detect.sum_x2 += x2
detect.sum_y1 += y1
detect.sum_y2 += y2
nparams += 1
continue
elif nparams == 10:
nparams += 1
# calculate and set params of calculating real coord between cube and mycobot
detect.set_params(
(detect.sum_x1+detect.sum_x2)/20.0,
(detect.sum_y1+detect.sum_y2)/20.0,
abs(detect.sum_x1-detect.sum_x2)/10.0 +
abs(detect.sum_y1-detect.sum_y2)/10.0
)
print ("ok")
continue
# get detect result
detect_result = detect.color_detect(frame)
if detect_result is None:
cv2.imshow("figure", frame)
continue
else:
x, y = detect_result
# calculate real coord between cube and mycobot
real_x, real_y = detect.get_position(x, y)
if num == 20:
detect.pub_marker(real_sx/20.0/1000.0, real_sy/20.0/1000.0)
detect.decide_move(real_sx/20.0, real_sy/20.0, detect.color)
num = real_sx = real_sy = 0
else:
num += 1
real_sy += real_y
real_sx += real_x

The AI Kit project is open source and can be found on GitHub.

Key Differences Between the 3 Robotic Arms

After comparing the videos, content, and program code for the three robotic arms, it appears that they share the same framework and only require minor data modifications to operate effectively. There are two main differences between these three robotic arms:

4 DOF vs. 6 DOF Robotic Arms

As observed in the video, both the 4-axis and 6-axis robotic arms exhibit sufficient range of motion to effectively operate within the AI Kit's work area. However, they differ in setup complexity. The 4-axis myPalletizer 260 features a streamlined design with fewer moving joints (4), enabling a faster start-up process. In contrast, myCobot 280/mechArm 270 requires 6 joints, two more than myPalletizer 260, resulting in more calculations in the program and a longer start time (in small-scale scenarios).

Centralized Symmetrical vs. myCobot Structure

Industrial robots predominantly utilize a centrosymmetric structure. This design, exemplified by the MechArm 270 with its 2, 3, and 4-axis joints, offers inherent stability and smooth motion due to bilateral support. Conversely, the Cobot structure employs a design that prioritizes a larger working radius and enhanced movement flexibility by eliminating the central support column. However, this flexibility may introduce minor deviations in movement precision compared to the centrosymmetric design, as the robot arm relies solely on motor control for stability.

Making Your Choice

Selecting the most suitable robotic arm from the 3 included in the AI Kit depends on the intended application. Key factors to consider include the arm's working radius, operational environment, and load capacity.

For those seeking to explore robotic arm technology, any of the currently available robotics models can serve as a valuable learning tool. Here's a brief overview of Elephant Robotics each included arm's design philosophy:

  • myPalletizer 260: Inspired by palletizing robots, it excels in palletizing and handling goods on pallets.
  • mechArm 270: Its design prioritizes operational stability with a specialized structure.
  • myCobot 280: Reflecting a recent trend in collaborative robots, it boasts human-safe interaction and capabilities mimicking human strength and precision.
]]>
https://shop.elephantrobotics.com/blogs/learning-center/m5-vs-pi-robotic-arm 2024-06-26T21:49:16+08:00 2025-02-26T17:41:11+08:00 M5 vs. PI Robotic Arm: Choosing the Right Programming Platform Lisha Qiu More

]]>
M5 vs. PI Robotic Arm: Choosing the Right Programming Platform

M5 and PI Robotic Arms

Elephant Robotics offers two exciting options for those interested in robotic arm development: the M5 version and the PI version. This guide will help you understand the key differences between these two platforms and choose the one that best suits your programming needs and preferences.

M5Stack Version Robotic Arm

Features and Control System

The M5 version is a compact robotic arm well-suited for tabletop use. It utilizes an ESP32 core processor and boasts two built-in screens and physical buttons for intuitive control.

Programming Options

The M5 version is compatible with multiple programming environments, including myBlockly (a visual programming language), Python, C++, C#, Arduino, JavaScript, and ROS. Tutorials are readily available on the GitBook 0-1 documents to guide you through the making process.

Connection Requirements

M5 version robotic arms itself only has the ** recording and playback ** function, that is, recording action and playing action, If you need to use UIFlow, python, Arduino for further development, you need to connect to PC or laptop. The connection methods are as follows:

  • After the connection is complete, turn on the manipulator communication according to the following steNote:

Raspberry Pi Version Robotic Arm

Features and Development Environment

The PI version is a powerful development platform built around a Raspberry Pi 4B core processor. This version caters to developers familiar with Linux systems and offers a built-in development environment pre-loaded with Ubuntu 18.04. Additionally, it supports Python, ROS, and myBlockly.

Independent System and Operation

Unlike the M5 version, the PI version functions as an independent development board with its own operating system. It essentially operates as a miniature computer, eliminating the need for a constant PC connection.

Connection and Setup

Connecting the PI version requires an independent monitor, mouse, keyboard, and power supply. Once connected, you can access the built-in development environment and begin programming the robotic arm.

    • Plug the HDMI cable into the HDMI port of the monitor:
    • Plug the other end into the HDMI port of the robotic arm:

So, which robotic arm is right for you? You can also compare myCobot 280 vs. mechArm 270. The M5 version is ideal for beginners, offering a compact design, intuitive controls, and the ability to connect to your PC for more advanced programming. The PI version, on the other hand, is a powerful option for experienced developers who prefer a standalone system with built-in development tools. No matter your skill level, Elephant Robotics' robotic arm to help you take your first steps (or leaps!) done exciting robot project creative making.

]]>
https://shop.elephantrobotics.com/blogs/learning-center/how-to-choose-your-beginner-robotic-arm 2024-06-03T18:38:55+08:00 2025-03-20T17:32:14+08:00 How to Choose a Desktop 6-axis Robotic Arm for Beginners? SongJoey More

]]>

Learning Robotics with Educational Robots

In today's rapidly evolving technological landscape, the rise of automation is inevitable, leading to a growing interest in robotic arms. Before diving into complex industrial robots, learning from educational robots is a fantastic way to get started. There are many robotic arms for education and science research, how do we choose in the robotics market?

In this, we'll provide two small desktop six-axis robotic arms ideal for beginners who want to learn robotics and build prototypes quickly. We'll compare these two robots and help you find the best one for your needs.

What is the difference between an industrial robot and a collaborative robot?

Industrial robotic arms

Industrial robots excel at high-speed, heavy-duty tasks in hazardous environments. This translates to increased production output, reduced operational costs for companies, and improved worker safety by eliminating human interaction with dangerous tasks. It should be noted that industrial robots are often installed in secured areas like cages to ensure safety due to their powerful movements.

Collaborative robotic arms

Unlike their industrial counterparts, collaborative robots are smaller, lighter, and equipped with safety features like sensors and force control. This allows them to work safely alongside humans, making them ideal for collaborative tasks.

Why choose a desktop robotic arm?

Small desk robots are designed specifically for learning purposes. They are affordable and easy to use. Support picking and placing, motion control, visual tracking and more.

  • Most industrial robotic arms are in centrosymmetric structure, and collaborative robotic arms are in cobot structure.

myCobot 280 M5Stack

myCobot 280 has 4 versions, M5 Stack is a 6-axis collaborative robot powered by M5Stack-Basic with multiple functions, it is designed with a cobot structure.

mechArm 270 M5Stack

mechArm 270 M5 Stack is similar to myCobot, but the structure of mechArm is centrosymmetric.

Development and Programming Options

Both myCobot and mechArm allow users to quickly set up a development environment and learn arm control logic. They support popular programming languages like Python, C++, C#, and JavaScript. Elephant Robotics provides a Gitbook for quickly building a robotic arm development environment with detailed tutorials on everything from setting up the environment to controlling the robotic arm.

ROS Demo

Use slider to control myCobot.

MoveIt for programming, enabling path planning and obstacle avoidance.

They can be integrated with an AI Kit., enabling users to explore concepts like machine vision and robot arm coordination for tasks like object recognition and grasping.

  • The interfaces on the end of the robotic arm are the LEGO interfaces, we can use the accessories from Elephant Robotics or make by ourselves through 3D printing to complete our development needs.

myCobot vs. mechArm

Let's look at their configuration. What's Difference?

Specification mechArm 270 M5 myCobot 280 M5
Structure Centrosymmetric Cobot
Degree of Freedom 6 6
Payload 250g 250g
Working Radius 270mm 280mm
Positioning Accuracy ±0.5 mm ±0.5 mm
Weight 1000g 850g
Master Core ESP32 ESP32
Steering Gear Type High performance servo motor High performance servo motor
Main Frequency 240MHz dual core 240MHz dual core
Computing Performance 600DMIPS 600DMIPS
Working Lifespan 500h 500h
SRAM 520KB 520KB
Bluetooth Dual mode Bluetooth 2.4G/5G Dual mode Bluetooth 2.4G/5G
Core Flash 4M 4M
Programming Python, C++, C#, JavaScript Python, C++, C#, JavaScript
Joint Rotation Speed J1: -165°~+165°
J2: -90°~+90°
J3: -180°~+65°
J4: -165°~+165°
J5: -115°~+115°
J6: -175°~+175°
J1: -168°~+168°
J2: -135°~+135°
J3: -150°~+150°
J4: -145°~+145°
J5: -165°~+165°
J6: -180°~+180°
  • The differences in working radius, positioning accuracy, and range of joint movements are due to their different structures.

Structure and Stability

  • Centrosymmetric Structure (mechArm): This is the most widely used structure for industrial robots. MechArm's joints 2, 3, and 4 benefit from bilateral support, offering greater stability and smoother movements.
  • Cobot Structure (myCobot): The UR structure allows for a wider working radius and more flexible movement due to the lack of a central support column. However, this flexibility can lead to slight deviations in movement compared to the centrosymmetric design as without the holding, the robotic arm needs to rely on the motors to keep stable.

Joint Rotation Range

mechArm

myCobot

  • mechArm is limited in terms of movement, myCobot is more flexible.

Making Your Choice

Specification mechArm 270 M5 myCobot 280 M5
Structure Centrosymmetric Cobot
Degree of Freedom 6 6
Positioning Accuracy ±0.5 mm ±0.5 mm
Payload 250g 250g
Working Radius 270mm 280mm
Joint Rotation Speed J1: -165°~+165°
J2: -90°~+90°
J3: -180°~+65°
J4: -165°~+165°
J5: -115°~+115°
J6: -175°~+175°
J1: -168°~+168°
J2: -135°~+135°
J3: -150°~+150°
J4: -145°~+145°
J5: -165°~+165°
J6: -180°~+180°
Structure and Stability of Movement Better Normal
Flexibility Normal Better
Choices for Beginners Better Better
Scenarios Education
Research
Learning the principles of robotic arms
Industrial robotic arm scenarios
Machine Vision
Education
Research
Learning the principles of robotic arms
Collaborative robotic arm scenario
Machine Vision
  • Choose myCobot if: You prioritize flexibility and human-machine collaboration scenarios.
  • Choose mechArm if: You prioritize stability and learning in the direction of industrial robotic arms.

For beginners, desktop robotic arms offer a perfect entry point into the world of robotics. Both are 6-axis robotic arms designed for educational and personal use.

]]>
https://shop.elephantrobotics.com/blogs/learning-center/choosing-best-mycobot-280-version 2024-05-28T11:03:16+08:00 2024-06-04T15:48:12+08:00 Choosing the Suitable myCobot 280 Version for Your Educational and Development Needs SongJoey The myCobot 280 series from Elephant Robotics, with over 20,000 units sold globally, is renowned for precision and versatility in educational applications. These 6 DOF collaborative robot arms feature a 250g payload, a 280mm arm span, and precise positioning accuracy of ±0.5 mm.

There are four distinct versions to cater to diverse needs: myCobot 280 Pi, myCobot 280 M5, myCobot 280 Jetson Nano, and myCobot 280 for Arduino. Each version offers unique features and capabilities, ensuring users can find the perfect fit for their specific requirements.

  • myCobot 280 Pi: Ideal for Raspberry Pi enthusiasts and STEM educators, offering affordability and accessibility.
  • myCobot 280 M5: Perfect for makers and lower-grade teaching, providing cost-effective open-source hardware and API interfaces.
  • myCobot 280 Jetson Nano: Best for high-performance image processing, suitable for AI programming and machine vision applications.
  • myCobot 280 for Arduino: Budget-friendly and versatile, great for Arduino enthusiasts and educational integration.
The myCobot 280 series also seamlessly integrates with myAGV 2023, making it suitable for complex projects and competitive environments. Beyond education, these robotic arms are applicable in various industries, from manufacturing to medical and home automation. The myCobot 280 series stands as a versatile and innovative solution for mastering programming and robotics.

More

]]>
The myCobot 280 series stand out as luminaries in Elephant Robotics' robot lineup. Having garnered acclaim with over 20,000 units sold across 50 countries, they've become global favorites renowned for precision and versatility. These advanced 6 DOF collaborative robots are transforming educational applications with cutting-edge capabilities. The myCobot 280 series is collaborative 6 DOF desk robot arms, redefining portability with a 250g payload, a sleek 280mm arm span, and precise positioning accuracy of ±0.5 mm.

 

4 Versions to Meet Diverse Needs

The myCobot 280 series caters to a wide range of needs with 4 distinct versions: myCobot 280 Pi, myCobot 280 M5, myCobot 280 Jetson Nano, and myCobot 280 for Arduino. Each version is crafted to deliver optimal performance and flexibility, ensuring that users can find the perfect fit for their specific requirements. The myCobot 280 Pi integrates the Raspberry Pi 4B with a 1.5GHz 4-core CPU, operating on the Debian/Ubuntu platform. It features built-in ROS and myBlockly visual programming, enhancing scalability and affordability, and connects to WiFi seamlessly with its built-in wireless network card. The myCobot 280 M5, equipped with the M5Stack Atom & Basic ESP32, boasts dual display screens for faster visual operation and work status monitoring. Ideal for high performance, reliability, and scalability, it connects to a computer for use, making it perfect for applications ranging from studio helpers to kitchen assistants. Powered by the Jetson Nano AI board and compatible with the myCobot camera flange 2.0, the myCobot 280 Jetson Nano excels in quick image processing, robotic algorithm development, and ROS simulation learning. Its advanced AI capabilities simplify development for beginners while delivering enhanced outcomes in eye-in-hand robot projects. The myCobot 280 for Arduino is compatible with various Arduino or Arduino-like boards and extensions, focusing on simplifying research and development. With easy-to-use Arduino software, it empowers developers to create unique robotic solutions, offering an open development environment that allows for custom board design.

myCobot-280-Application-Scenarios

 

Features and Application Scenarios of Each Version

When selecting a version, our educational users typically consider factors such as the difficulty of teaching, the ease of use for students, price, the smoothness of the robotic arm’s operation, and the users' preferred hardware or software system. Within the myCobot 280 series, the myCobot 280 Pi and myCobot 280 M5 are the best-selling robotic arms. Their ease of use, affordability, and flexibility make them ideal cobot choices for a wide range of students and educators, perfectly suited for educational applications.

 

myCobot 280 Pi: Ideal for Raspberry Pi Enthusiasts and STEM Educators

The myCobot 280 Pi caters to a wide range of users, from beginners to STEM educators, facilitating basic computer science education through its intuitive platform and vibrant community. It's an ideal choice for Raspberry Pi enthusiasts, ROS control system developers, and those exploring robotics kinematics. This version is an accessible robot tool for classrooms and individual learners venturing into the world of robotics. With its affordability and accessibility, it's particularly well-suited for users with a basic understanding of Linux systems.

myCobot-280-Raspberry-Pi

 

myCobot 280 M5: Perfect for Makers and Lower-grade Teaching

The M5Stack open platform of the myCobot 280 M5 offers cost-effective access to open-source hardware and API interfaces, making it a favorite among makers and developers in Japan. With extensive customization options and ease of use, it's ideal for enthusiasts of Stack series development boards, embedded hardware developers, and those proficient in multiple development platforms. Although users need to configure the software environment and pair it with a PC, its straightforward operation makes it particularly suitable for educational applications, especially in lower-grade teaching environments.

myCobot-280-M5

 

myCobot 280 Jetson Nano: The Ultimate Choice for High-Performance Image Processing

The myCobot 280 Jetson Nano stands out as the most versatile version in the series, offering unparalleled flexibility to individual users and educational institutions alike. Users can pair it with their preferred development board, maximizing their capabilities without hardware replacements. Its adaptability allows schools to switch boards to meet curriculum requirements, streamlining course customization and reducing costs. Ideal for NVIDIA Jetson Nano series enthusiasts, machine vision application developers, and those delving into deep learning and artificial intelligence programming, it unlocks endless possibilities for secondary development due to its robust image processing capabilities. Given the Jetson Nano's stronger computing power compared to the Pi, it ensures smooth programming performance even with high-computing-power requirements. For users who prioritize smooth programming performance, the myCobot 280 Jetson Nano version is the perfect robot choice.

myCobot-280-Jetson-Nano

 

myCobot 280 for Arduino: Budget-Friendly and Highly Versatile for Robotics Enthusiasts

The myCobot 280 for Arduino provides essential hardware and software tools to educators, fostering classroom innovation and effective integration of robotics into the curriculum. Suited for Arduino enthusiasts, those with basic electrical knowledge, and enthusiasts of master control boards supporting serial port functionality, it offers a seamless experience for bringing robotics into educational settings.

myCobot-280-for-Arduino

 

The Perfect Robot Arm for Educational Excellence

The myCobot 280 series stands as a beacon of innovation, providing an ideal platform for mastering programming development languages and exploring robotics. Each version supports versatile development and control modes, including code programming, manual drag-and-drop applications, and robot simulation programming. These 6 DOF robot arms foster a profound understanding of robotics, ensuring students of all ages engage meaningfully with this advanced technology. By supporting a range of programming languages such as ROS, Python, C++, C#, and Jetson Nano, the myCobot 280 series lays a robust foundation for programming education. This wide compatibility ensures that students can explore and master various programming paradigms, enriching their learning experience and preparing them for future robotics innovation.

Robot-Arm-for-Educational

 

Seamless Integration with myAGV 2023

Users can effortlessly integrate the myCobot 280 series with the myAGV 2023, creating powerful mobile compound robots. These combinations are ideal for robot competitions, covering key aspects such as programming, motion planning, operation control, 3D vision, kinematics, and navigation algorithms. The seamless integration of these robotic arms with the myAGV 2023 enhances their capabilities, making them suitable for complex projects and competitive environments.

Myagv-mobile-robots-with-myCobot-280

 

Wide Application Scenarios

The myCobot 280 series is not limited to educational applications; it has a broad spectrum of use cases across different industries. In light industry manufacturing, these robotic arms can handle intricate assembly tasks with high accuracy. In the medical field, they can assist with surgeries or automate laboratory processes, enhancing efficiency and reducing human error. The myCobot 280 series also finds applications in service industries, such as hospitality, where robots can serve as customer service assistants or automate routine tasks in hotels and restaurants. In the realm of home automation, these cobots can be programmed to perform household chores, assist the elderly or disabled, and even act as interactive companions. Their versatility extends to creative industries as well, where they can be used in art installations, as studio assistants, or in interactive exhibits. The adaptability and multifunctionality of the myCobot 280 series open up new possibilities for innovation and efficiency across various sectors.

In summary, the myCobot 280 series is a versatile and innovative line of 6 DOF collaborative robotic arms, perfectly suited for educational, research, personal DIY, and enterprise development applications. With its range of versions, the myCobot 280 series ensures that users from various backgrounds and needs can find a tailored solution to explore and advance in the field of robotics.

]]>