In recent years, the development of science and technology has brought a lot of new products and services to our lives, including the integration of robots in various fields.Robots have become an essential part of our lives, from delivery robots to smart home voice assistants.
In this article, we will discuss the myCobot 280 Jetson Nano, a robotic arm that is capable of performing science experiments and in education aspect.
What is the Jetson Nano?Sized at a mere 70 by 45mm, a little smaller than a credit card, the Jetson Nano is a System on a Module (SoM) that is suited for machine learning applications. Because it only draws around 5 to 10 watts, it is a great tool for AI at the edge applications.
The Jetson Nano has a Maxwell-based GPU that contains 128 CUDA cores that are capable at computing.5 teraflops per second (.5 TFLOPs). And with its powerful ARM Cortex A57 processor and 4GB of LPDDR4 RAM, the Nano is a powerful computer in a small package. It also has support for numerous peripherals, including gigabit ethernet, HDMI 2.0, DisplayPort 1.4, 2 DSI connectors, an M.2 PCIe connector, 4 USB 3.0 ports, and two CSI camera connectors (for use with cameras like the Pi Camera).
It also has a 40-pin GPIO connector with a layout that is identical to the Raspberry Pi’s, enabling makers and developers to easily reuse certain modules and circuits from previous projects.
With the emergence of ChatGPT, AI has once again become a global focus. Starting now, it is worth getting involved in the AI trend by learning about it from the perspective of robotic arms.
What is the myCobot 280 Jetson Nano?myCobot 280 Jetson Nano is a robotic arm that is embedded with Jetson Nano, a small yet powerful computer that enables the arm to perform complex tasks with ease. The arm has a payload of 250g, which means it can carry objects of up to 250 g. The arm is designed to be flexible and versatile, with six-axis movement and a reach of up to 280mm. It is an ideal tool for a wide range of applications, including education, research, and DIY projects.
myCobot 280 Jetson Nano is an open-source robotic arm, which means that the source code and hardware design are available to the public. This enables users to modify and customize the arm to suit their specific needs. The arm is also compatible with a wide range of software and programming languages, including Python, ROS, and myBlockly.
Let's take a look at the table below to see what its specific specifications are like.
Here is a DH Parameters
Perhaps you are curious about the differences between the Jetson Nano and Raspberry Pi. We will briefly introduce the advantages of using Jetson Nano as an embedded arm for robotics.
In terms of processing performance, the Jetson Nano uses a four-core ARM Cortex-A57 CPU and a 128-core NVIDIA Maxwell GPU, which is more powerful than the Raspberry Pi's four-core ARM Cortex-A72 CPU. The ARM Cortex-A57 CPU has a 64-bit architecture and a clock speed of 1.43GHz, providing higher computing performance. The NVIDIA Maxwell GPU is designed specifically for high-performance computing tasks such as deep learning and has high parallel computing and large-scale floating-point computing capabilities.
In terms of deep learning performance, the Jetson Nano's GPU supports deep learning frameworks such as CUDA and TensorFlow, which can accelerate the training and inference of deep learning models. In addition, the Jetson Nano also has an embedded NVIDIA TensorRT deep learning inference engine, which further improves the inference performance of deep learning models. While the Raspberry Pi's performance can also support some deep learning applications, its performance is relatively weaker due to limitations in its processor and GPU.
Overall, if high-performance processors are required for a project, the Jetson Nano will be the optimal choice, while the Raspberry Pi has its own advantages based on its large community and the world's largest open-source hardware data.
To start using myCobot280, all we need is a monitor, a keyboard, and a mouse. We can control the movement of myCobot280 using a Python library called pymycobot, which provides many control interfaces through its open APIs. With this library, we can easily develop applications for the robot arm.
We utilize the API provided by pymycobot to control the movements of myCobot280 and choreograph a dance performance.
import serial
from pymycobot import MyCobot
import time
mc = MyCobot('/dev/ttyTHS1',115200)
mc.send_angles([0,0,0,0,0,0],80)
time.sleep(1)
for count in range(2):
mc.send_angles([(-0.17),(-94.3),118.91,(-39.9),59.32,(-0.52)],80)
time.sleep(1.2)
mc.send_angles([67.85,(-3.42),(-116.98),106.52,23.11,(-0.52)],80)
time.sleep(1.7)
mc.send_angles([(-38.14),(-115.04),116.63,69.69,3.25,(-11.6)],80)
time.sleep(1.7)
mc.send_angles([2.72,(-26.19),140.27,(-110.74),(-6.15),(-11.25)],80)
time.sleep(1)
mc.send_angles([0,0,0,0,0,0],80)
We can also attach a camera to the end of the robotic arm to explore machine vision.
Here is the code of the face recognition function developed by openCV.
def image_info():
# load cascade
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# input photo
img = cv2.imread('maya.png')
# turn to grays
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# check human face
faces = face_cascade.detectMultiScale(img, 1.1, 4)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
center_x = (x+w-x)//2+x
center_y = (y+h-y)//2+y
cv2.circle(img,(center_x,center_y),20,(0,255,255),2)
# show
plt.imshow(img)
plt.show()
Running this facial recognition code on both Raspberry Pi 4B and Jetson Nano shows a noticeable difference in speed, with Jetson Nano returning results 1-2 seconds faster than Raspberry Pi.
Let's first understand what computing power means. Computing power is typically measured in Floating Point Operations Per Second (FLOPS). FLOPS is the number of floating point operations that can be completed in one second, and it is used to evaluate the performance of computer systems. In the field of deep learning, FLOPS is often used to measure the computational complexity and performance of models. For example, a model with a higher FLOPS value means it requires more computing resources for training and inference, but it may also achieve better performance.
The Jetson Nano is equipped with a GPU computing power of 472 GFLOPS, while according to official data, the Raspberry Pi 4B has a floating point performance of approximately 3 GFLOPS.This can explain the above situation.
Future and OutlookWith the continuous development of artificial intelligence technology, the application prospects of embedded robots are becoming increasingly broad. In the future, we can expect this embedded six-axis robotic arm to have even wider application areas, covering more fields. For example, in the industrial, medical, agricultural, and educational fields, this robotic arm has extensive application prospects. In the industrial sector, it can be used for automated production on the production line, improving production efficiency and quality; in the medical sector, it can be used for surgery, rehabilitation, and other aspects, helping doctors better serve patients; in the agricultural sector, it can be used for planting, harvesting, and other aspects of agricultural production, improving agricultural production efficiency and quality; in the educational sector, it can be used for robot programming education, helping students better learn programming and robotics technology.
In addition to the expansion of application areas, with the continuous progress of technology, this robotic arm will also continue to evolve. For example, more advanced control algorithms may emerge in the future, making the arm's movements more precise and flexible; more advanced sensor technologies may emerge, enabling the arm to perceive the surrounding environment more accurately; more advanced deep learning technologies may emerge, enabling the arm to intelligently complete various tasks. In short, this embedded six-axis robotic arm has extensive application prospects and development space, and we can expect it to continue to innovate and progress in the future.
Comments