Review of CM4 XGO Lite – A Raspberry Pi CM4 based smart robot dog with a robotic arm

The CM4 XGO Lite is a smart robot dog based on Raspberry Pi CM4 system-on-module and designed to learn to program using Blockly, Python, and ROS. This four-legged robot also happens to feature a 3-joint robot arm and a robot gripper installed on the back that can pick up light objects.

The Raspberry Pi CM4 module drives the LCD screen and camera and performs AI and computer vision processing, while each joint is controlled with a servo motor, and a 6-axis tilt sensor ensures stable walking and movement.

XGO CM4 Lite Review Raspberry Pi Robot

We’ve already discussed the capabilities of the CM4 XGO Lite, aka XGO Lite 2, when it was announced earlier this year, so we’re not going to go into details here, but some of the highlights include support for faster AI edge computing applications such as face detection and object classification, omnidirectional movement, six-dimensional posture control, posture stability, and multiple motion gaits.

Robot components

The main structure of the CM4 XGO-Lite robot dog is aluminum alloy with the front cover, back cover, and bottom cover. Each leg uses 3 servos: the elbow, shoulder, and hip joints with the servo motors of the three joints attached to the aluminum structural parts of the structure. There is a cover mounted on the front of the robot for the Raspberry Pi CM4-powered AI module which is connected to the ESP32-based core drive board through a serial interface. An illuminated ON/OFF switch can be found on the back cover of the robot which can be used to turn off the robot around 3~4 seconds after being pressed. The CM4 XGO  Lite is powered by two 18650 batteries (2,500 mAh) mounted inside the robot.

XGO CM4 Raspberry Pi Robto Components

The AI module is comprised of a Raspberry Pi CM4 module, a 2.0-inch IPS display, a 5MP camera, a micro HDMI video output interface, a built-in speaker, a built-in microphone, and four programmable keys. There’s also a microSD card slot for storage, a USB-C port for programming, and a 4-pin connector for serial communication and power.

CM4 XGO Lite robot dog unboxing

The CM4 XGO Lite robot dog ships in an aluminum case with a handle for easy portability and the foam inside is cut to the shape of the robot so that the internal equipment is not damaged during transportation.

XGO CM4 Robot Kit Aluminum carrying case

Package content:

  • The CM4 XGO Lite robot dog kit
  • A battery charger
  • A HDMI to Micro HDMI cable
  • A USB Type-Chub
  • A set of colored balls and colored cubes
  • Some screwdrivers and a screw set
  • A user manual

Servo motor specifications and features

XGO CM4 Raspberry Pi Servo motor

The CM4 XGO Lite robot dog relies on metal gear servos that take 4.8 – 7.4V power input and offer a torque of 2.3 kg. The servos are connected via  TTL serial connector and can rotate by 300 degrees to make the robot move accurately. The same servos are used in the legs and the robotic arm.

Servo specifications:

  • Output torque: 2.3KG/cm
  • Speed – 0.1 s/60°
  • Operating Voltage – 4.8V to 7.4V
  • Temperature Range – -20°C to +60°C
  • Angle range: 0-300°
  • Weight: 13±1g
  • Motor Type – Iron Core

Controlling the CM4 XGO Lite robot with a smartphone

CM4 XGO Lite Mobile App Control

The robot dog can be controlled through the XGOBOT mobile app available for Android and iOS.

After turning on the robot, you should the menu below on the display.  Press button A or button B to select R.C. mode and button D to enter the remote control mode.

Raspberry Pi CM4 Robot R.C. Mode

The display will then show the IP address of the CM4 XGO robot.

CM4 XGO Lite IP Address

We can now start the XGOBOT mobile app and enter the IP address to connect to the robot.

XGOBOT app Control address

If everything works are expected the robot’s display will show “Connected” to confirm our mobile phone is now ready to control the robot. If it fails try to restart the robot and/or the mobile app.

CM4 XGO Lite R.C. Mode Connected

After that, we can enter the user interface to control the robot through the smartphone.

XGOBOT app performance mode and radio control mode

The Performance Mode provides a set of commands to change the posture of the robot. There are up to 20 postures such as Stan up, Sit down, Turn around, Handshake, etc… This makes playing with the CM4 XGO Lite robot dog fun without having to do any programming.

XGO CM4 Robot Performance Mode

The Radio Control Mode (Motion Mode) is a walking or trotting mode where the user can set the direction (forward, backward, turning left, turning right,) of the CM4 XGO Lite robot dog, control its robotic arm with three different postures, and view the output from the camera in real-time.

XGO CM4 Raspberry Pi CM4 Robot Dog Radio Control Motion Mode

The Motion Mode also has additional Settings to adjust the height, step length, and speed of movement. There’s also a toggle to enable/disable “Auto stable”.

Radio Control Setting Mode

The Radio Control Mode (Pose Mode) allows the user to control the movement of the CN4 XGO Lite robot long six axes namely X, Y, Z, Roll, Pitch, and Yaw.

CM4 XGO Lite Radio Control Pose Mode

“Try Demo” mode on the CM4 XGO Lite robot

Besides using a phone or computer to control the robot, we can also enter the “Try Demo” mode to control the robot with the A, B, C, and D keys on the AI module. To enter this mode, select it and press D.

CM4 XGO Lite Robot Try demo Mode

This will give us access to 24 examples of AI-related robot programs with demos for face detection, object detection, color detection, and so on. So we can play around with AI programs without having to actually write any code.

CM4 XGO Lite robot dog AI applications

Let’s check each of the AI examples in this review:

Show – The CM4 XGO Lite robot dog will run around and sing.

Teach – The user can teach hand gestures to the robot dog and save them with the D button one by one. This shows how a human can teach new gestures to the robot dog.

Traffic – Traffic light recognition

QRCode – Reading a QR code

AgeSex – Female/male identification and age estimation. If the robot detects a man, it will bark but will whisper if a woman is detected instead. This AI model is a bit slow on the Raspberry Pi CM4, but does work.

XGO CM4 Raspberry Pi robot AI programs

Mask – The CM4 XGO Lite robot dog can detect human faces and add a virtual mask to the face. It can also follow the face at different angles as the subject moves it around. The Pitch, Roll, and Yaw values are also shown on the display.

CM4 XGO Lite Demo Mask Mode

FaceTrack – The CM4 XGO Lite robot dog also implements a face-tracking demo that works in real-time, or close to it.

Raspberry Pi CM4 robot dog Demo FaceTrack Mode

Segment – The demo removes the background from the camera output displayed on the LCD screen leaving only the human subject.

Raspberry Pi CM4 Segmentation

Hand – This detects hand gestures and displays messages on the LCD screen while the robot changes its posture if a specific hand gesture is detected.

CM4 XGO Lite Hand gestures

Pose – This detects gestures and key points on the human body with the robot moving depending on the detected pose.

CM4 XGO Lite Raspberry Pi robot Pose demo

Emotion – The CM4 XGO Lite robot dog can sense various emotions such as happiness, sadness, and anger and shows the result on the display. Note that in this mode, the Raspberry Pi CM4 needs to process a large amount of data, and the system may feel sluggish.

Raspberry Pi CM4 Emotion detection

Color – The robot can detect the color of a block and display the X and Y coordinates on the LCD screen. The robot will also move in certain ways depending on the detected color. Three colors can be detected: red, green, and blue.

Raspberry Pi Robot Dog Color Detection

Ball  – Same as above but with rounded objects.

Yolo – Object detection using the Yolo AI model to detect more than 20 types of objects and display the results on the display along with the confidence in percent.

CM4 XGO Lite Yolo Demo

Program mode

The programming mode enables programming with the Blockly visual editor or the Python language Select the “Program” menu by pressing the A or B button and then the D (OK) button to enter the programming mode. At this point, the LCD screen will automatically display the IP address of the CM4 XGO Lite robot dog.

XGO Raspberry Pi CM4 robot dog Program Mode

Then download the Firefox browser (other web browsers won’t work) and connect your computer to the same network as the CM4 XGO robot dog. Then go to the XGO Blockly webpage, select XGO-CM4 programming mode…

XGO Blocky

…and enter the robot’s IP address when prompted.

CM4 XGO Robot IP address Blockly

The browser should now display the Blockly programming interface with a set of instructions/blocks for basic programming to control the movement of various parts of the robot, including AI programming.

When we tested programming with the CM4 XGO Lite robot dog, we used dog barking sounds and inserted various gestures. When the programming is complete, simply click “RUN” and the commands will be sent to the networked robot. You can see an example of how it works in the video below.

XGO Blockly programming

As for Python programming, you can either convert commands from Blockly into Python or write code from scratch. You must import XGOEDU and import XGO first to run the robot control command module.

In Python mode, there is no help or command set shown in the web interface, so developers would have to study the API in the Wiki.

XGO Blocky Python Programming

CM4 XGO Lite robot dog video review

YouTube video player

Conclusion

The CM4 XGO Lite robot dog is suitable for hobbyists, pupils, and students who are interested in robotics and want to develop programs for 4-legged robots. The kit can be used in classrooms teaching at the secondary school level and up to the university level.

The CM4 XGO Lite robot dog moves realistically and shows expressions and feelings on the LCD screen. It is a dog that provides both knowledge and fun while learning. It is also cute potentially making it more engaging for students

Programming can be very easy with either Blockly and Python programming with functions to set the joint angle as needed. The CM4 XGO Lite robot dog can help students better understand the technology behind the mechanisms used in the robot including the legs and mechanical arm, and acquire some knowledge about electronic and wireless communication, as well as Computer Vision and artificial intelligence (AI).

There are many examples of artificial intelligence programs such as cache detection, color detection, object detection, color detection, hand detection, and gestures. There are also models such as Yolo inside the robot, which can analyze up to 20 types of objects, and recognize human voices, and it’s also possible to use this model to program the robot to perform various tasks.

We would like to thank ELECFREAKS for sending us the CM4 XGO Lite robot dog kit for review. The robot can be purchased for $599 on Amazon or on the ELECFREAKS store.

CNXSoft: This review is a translation of the original article on CNX Software Thailand by Kajornsak Janjam, and edited by Suthinee Kerdkaew.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus

3 Replies to “Review of CM4 XGO Lite – A Raspberry Pi CM4 based smart robot dog with a robotic arm”

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC