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.
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.
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.
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.
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.
- 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
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.
- 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
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.
The display will then show the IP address of the CM4 XGO robot.
We can now start the XGOBOT mobile app and enter the IP address to connect to the robot.
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.
After that, we can enter the user interface to control the robot through the smartphone.
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.
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.
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”.
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.
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.
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.
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.
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.
FaceTrack – The CM4 XGO Lite robot dog also implements a face-tracking demo that works in real-time, or close to it.
Segment – The demo removes the background from the camera output displayed on the LCD screen leaving only the human subject.
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.
Pose – This detects gestures and key points on the human body with the robot moving depending on the detected pose.
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.
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.
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.
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.
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…
…and enter the robot’s IP address when prompted.
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.
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.
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.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.