myAGV, developed by Elephant Robotics, is a mobile robot capable of SLAM mapping and autonomous navigation. It can also be equipped with the mycobot series of robotic arms. Recently, myAGV underwent a comprehensive upgrade. The specific aspects of this upgrade can be found in the previous article "Enhanced and Upgraded, The New myAGV 2023". This article will focus on the advantages of the Jetson Nano and Raspberry Pi versions of myAGV 2023.
Overview of myAGV 2023myAGV is equipped with a 360-degree comprehensive radar and Mecanum omnidirectional wheels, enhancing its environmental perception and mobility. Additionally, myAGV supports development on the ROS1 platform, enabling functionalities such as 2D/3D mapping, navigation, and obstacle avoidance, thus offering users a more comprehensive and efficient solution. It even provides a Python API for control and integrates with myblockly for graphical programming to control the movement of the mobile robot.
This version features a Raspberry Pi 4B as its control board, complemented by a robot-customized Ubuntu Mate 20.04 operating system, which is smooth and user-friendly. Below are the specific specifications of the Raspberry Pi:
The Raspberry Pi as a control board has the following advantages and limitations:
The NVIDIA® Jetson Nano B01 4GB model also pairs with a specially customized Ubuntu Mate 20.04 operating system for robots. The specific specifications of the Jetson Nano B01 are as follows:
AI and Deep Learning Capabilities
- Advanced GPU: The 128-core Maxwell GPU is particularly suitable for deep learning and AI computations, capable of efficiently executing complex algorithms and models.
- Software Ecosystem: Supports NVIDIA’s CUDA®, cuDNN, and TensorRT™ software tools, which are key components for developing and running AI models.
- Diverse Applications: Applicable for a wide range of AI applications including image and video analysis, natural language processing, and robotic navigation.
Advantages of Equipping a Depth Camera
- 3D Vision and Spatial Perception: The Jetson Nano can be paired with professional depth cameras, like the Astra Pro 2, providing outstanding 3D vision capabilities, greatly enhancing spatial perception and environmental understanding.
- Real-time Processing: The powerful GPU supports real-time image processing, making navigation and object recognition in robots, drones, and other automated systems more accurate and efficient.
Cost and Performance Trade-off
- Performance Advantage: Jetson Nano offers advanced AI computing and excellent image processing performance, making it particularly suitable for projects requiring advanced visual processing.
- Cost Consideration: Compared to other low-cost solutions like the Raspberry Pi, the Jetson Nano is slightly more expensive but offers AI processing capabilities far beyond other single-board computers.
- Applicability: Despite its higher cost, for professional AI and machine learning projects, the Jetson Nano is often considered good value due to its exceptional performance and features.
Our primary focus here is on the performance of the CPU and GPU.
CPU Performance ComparisonCore and Frequency:
- Raspberry Pi 4B: Broadcom BCM2711, Quad-core Cortex-A72 @ 1.5GHz
- Jetson Nano: Quad-core ARM Cortex-A57 MPCore
Although both have quad-core processors, the Cortex-A72 cores in the Raspberry Pi 4B generally outperform the Cortex-A57 cores, especially in single-core performance.
Architecture:
- Both Raspberry Pi and Jetson Nano are based on the ARM architecture, but they use different versions of ARM cores, which affects their performance and power consumption.
GPU Performance ComparisonCore:
- Raspberry Pi 4B: VideoCore VI
- Jetson Nano: 128-core Maxwell
The main difference lies in the design and purpose of the GPUs. VideoCore VI is more oriented towards basic graphics processing tasks, while the 128-core Maxwell GPU in the Jetson Nano is clearly more suitable for high-performance computing, particularly in areas like deep learning and image processing.
Application Focus:
- The GPU in the Raspberry Pi is more used for basic graphical output and some lightweight graphic processing.
- The GPU in the Jetson Nano is clearly aimed at AI and machine learning applications, offering stronger parallel processing capabilities.
We are now using gmapping on the same map to build the map and see how they perform.
This is myAGV 2023 Pi mapping.
This is myAGV 2023 Jetson Nano mapping
From practical observation in the ROS environment using gmapping for 2D mapping, it was found that there was no significant difference between the Raspberry Pi and the Jetson Nano in this context. This is because the gmapping package, used for implementing SLAM (Simultaneous Localization and Mapping), primarily focuses on creating maps as the robot navigates through an environment. gmapping is based on the Grid-based FastSLAM algorithm, a probabilistic method of map construction.
gmapping relies heavily on the CPU's processing power. It performs extensive data processing and mathematical calculations during operation, such as processing laser scan data, probability computations, and map updating. These operations are predominantly sequential and are not specifically optimized for GPU parallel processing.
This observation corroborates the earlier conclusion that for basic 2D SLAM tasks not involving complex computations or deep learning, the processing capabilities of the Raspberry Pi may be sufficient. In such scenarios, the additional computing resources of the Jetson Nano do not bring a significant performance improvement.
3D Mapping and NavigationEnvironment:- Hardware: Jetson Nano B01, Orbbec Astra pro2
- Operating System: Ubuntu Mate 20.04
- Robot Operating System: ROS1
- Required Package: Astra_Pro2
The Jetson Nano, when paired with a 3D depth camera, showcases its unique capabilities, particularly in the realm of 3D mapping and navigation. For these tasks, the RTAB-Map (Real-Time Appearance-Based Mapping) algorithm is used. RTAB-Map is a real-time algorithm for 3D reconstruction and navigation in environments. It's an appearance-based loop closure detection algorithm designed for Simultaneous Localization and Mapping (SLAM) tasks. Its primary application is in the field of robotics, aiding robots in navigation and map creation in unknown environments.
Orbbec Astra Pro 2The Astra Pro2 depth camera utilizes 3D structured light imaging technology to capture depth images of objects. It also uses a color camera to capture the color images of objects. Suitable for scanning 3D objects and spaces within a range of 0.6m to 6m, it's an intelligent product that can measure depth data of objects within a measurable distance. As an iterative upgrade in the Astra series, the Astra Pro 2 is equipped with the proprietary MX6000 depth perception chip, supporting up to 1280x1024 depth image resolution. It features built-in depth and color image spatial alignment functions at multiple resolutions and is widely applicable in scenarios such as robotic obstacle avoidance, low-precision 3D measurement, and interactive gestural interfaces.
RTAB-Map Github https://github.com/introlab/rtabmap_ros
Choose a right version for your system
Orbbec Astra Pro launch file https://github.com/orbbec/ros_astra_camera
Function packages need to be configured according to Ubuntu.
Let's get start!
//Start odometer and lidar
roslaunch myagv_odometry myagv_active.launch
//Start the launch file corresponding to the depth camera
roslaunch orbbec_camera astra_pro2.launch
//Start the 3D mapping algorithm
roslaunch myagv_navigation rtabmap_mapping.launch
Control myAGV to walk around within the mapping range. At the same time, in the Rviz space, our map will follow the movement of the car to build the map bit by bit. Let's watch the video directly to see how it works.
3D mapping and navigation provide the robot with precise spatial positioning and environmental perception capabilities. If the robot arm is integrated, it gives the robot the ability to perform complex tasks, such as simulating some complex terrain for search tasks, rescue tasks, etc.
SummaryFrom the above description, it is evident that when comparing the performance in 2D map construction, there is no significant difference between the two versions, indicating that the Raspberry Pi is sufficient for tasks not involving deep learning or advanced image processing.
However, when using a depth camera for RTAB-Map 3D mapping and navigation, the Jetson Nano B01 demonstrates a clear advantage in more advanced applications. It can handle more complex images and data, achieving more precise 3D environmental perception and navigation.
The choice of device should be based on the specific needs of the project. If the project involves basic 2D map construction, the Raspberry Pi may be a cost-effective choice. Conversely, for applications requiring advanced 3D visual processing and deep learning, the Jetson Nano is evidently the more suitable option, despite its higher cost.
As technology evolves and application demands increase, the capabilities of the Jetson Nano in advanced machine learning and complex image processing may become increasingly important. Therefore, for projects that may require future upgrades or expansion, investing in the Jetson Nano could offer long-term benefits.
If you have any opinions or questions, feel free to contact us. If you like this article, please give us a thumbs up and leave a comment.
Comments