UGV Rover Jetson Orin ROS2

From Waveshare Wiki
Jump to: navigation, search
UGV Rover Jetson Orin ROS2
UGV Rover

I2C, UART
TTL Serial Bus Servo Control Interface
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Introduction

The UGV Rover Jetson Orin ROS2 Kit is an open-source mobile robot based on ROS2 with a 6-wheel 4WD architecture. It adopts a dual-controller structure. ESP32 slave device controls the motor PID, IMU sensors, OLED screen, servo, LED ON/OFF, and so on, which greatly reduces the IO resources for the host computer and provides high-performance communication interfaces. Also, the host device uses Jetson Orin Nano, offering high computational power and advanced features such as specified strategies.

The robot body structure adopts an all-aluminum alloy shell with a thickness of 2mm, which has high structural strength and good durability.。 It adopts soft anti-skid rubber tires with 4 geared motors with encoder for closed-loop speed control to prevent vibrations and achieve excellent sporty performance up to a maximum speed of 1.3m/s. The built-in 3S lithium battery UPS power supply module provides strong and long-lasting power, supporting continuous use while charging, meeting the needs of long-term development and use.

The Jetson Orin Nano is equipped with a USB camera, which allows users to enjoy a smooth visual experience through the live camera with high frame rate and low latency, and can capture different wonderful moments through functions such as taking photos and videos. In addition, various information feedback from the robot, including battery voltage, CPU usage, etc., are displayed in real time through the WEB application, allowing users to monitor the status of the robot in real time.

The robot's vision system is equipped with a 2-degree-of-freedom high-torque flexible pan-tilt and a 160° ultra-wide-angle 5-million-pixel camera, providing users with a wide viewing angle, flexible observation angles, and a variety of AI machine vision functions. The high-brightness LED spotlight next to the pan-tilt ensures clear use even in low-light environments. In addition, through the design of the Picatinny rails, users can easily expand more tactical accessories, further enhancing the functionality of the robot.

Based on the ROS2 robot operating system, it is equipped with lidar and depth camera, which can build 2D maps and 3D modeling in real time to assist robots in path planning and auto navigation. Using large-scale language model technology, users can control robots through natural language, improving the human-computer interaction experience. Through the WEB application console, users can directly control the robot and easily perform task management and real-time debugging. At the same time, the Gazebo simulation environment provides developers with a virtual testing platform to ensure system stability before actual deployment.

To enable users to fully exploit the potential of this robot, we provide extensive documentation and tutorials, including JupyterLab's WEB application and ROS2 functional documentation. Whether you are a beginner or experienced developer in robotics, these resources can help you learn, understand, and create in depth, step by step.


Features

  • High-performance Dual Controller: The main control of the slave device is ESP32, which is responsible for precise motor PID control and multiple sensor readings. The host device Jetson Orin Nano provides high-end computing power. The two-layer architecture makes the robot run more efficiently.
  • Open-source Code: The host device is developed based on Ubuntu 22.04, the ROS2 function is developed based on the Humble version, the WEB application is based on Flask and Python languages, and the software platform is all open source, which is convenient for users to learn and redevelop.
  • Rich Tutorials: Provide a wealth of JupyterLab interactive tutorials, graphic tutorials, video tutorials and ROS2 function tutorials, from introductory functions to advanced functions, users can learn how to control the robot while watching the tutorials, reducing the learning curve for beginners in robot technology.
  • Wide Viewing Angle: Equipped with a 2-degree-of-freedom high-torque flexible pan-tilt, providing a wide 360° viewing angle horizontally; equipped with a 160° ultra-wide-angle 5-million-pixel camera to capture a wider range of images .
  • Robot Vision: Integrate robot vision functions such as color, object, gesture recognition, face, and motion detection, and can be expanded to more applications.
  • Abundant Interaction: Real-time video streaming, digital zoom, photography, video recording and other functions, and WEB application real-time video function and robot information displayed on the screen to improve user interaction experience.
  • Cross-platform Support: Support cross-platform remote control without installing APP. You can follow tutorials to implement remote control beyond the local network using solutions such as Pgyer, Cpolar, LocalTunnel, and others.
  • Expandability: The structure is equipped with an expansion plate and Picatinny rails to facilitate the expansion of other tactical accessories; in terms of hardware, there are spare LED light interfaces that can be used to expand other peripherals such as water guns. The product can also be expanded with 4G and 5G modules to facilitate users to realize more possibilities.
  • Durable Structure: 2mm thick all-aluminum alloy shell provides excellent structural strength and durability.
  • High-Performance Drive Motors: Equipped with four geared motors with encoder to achieve closed-loop speed control, the maximum speed can reach 1.3m/s, providing strong power.
  • All-Drive and High-Quality Tires: Four-wheel drive system with soft anti-skid rubber tires to ensure that the robot has good grip and stability on various terrains.
  • Long Battery Life: Using 3S lithium battery UPS power supply system, it supports continuous use while charging, ensuring long-lasting endurance.

Product Assembly

This assembly tutorial mainly covers two aspects: first, the tutorial for installing the Jetson Orin, Oak camera, and LiDAR on products with "ACCE" in the model name; second, the tutorial for installing the lithium battery.
Assembly tutorial for UGV_Rover_Jetson_Orin_ROS2

Product Basic Usage

Precautions

Please read the following before use:

  1. This product does not have lithium batteries installed at the factory. Customers need to install three 18650 lithium batteries before they can be used normally. Customers who purchase the ACCE model need to bring their own Jetson Orin Nano Motherboard, and the Jetson Orin Nano must be installed before normal use. Customers outside China need to purchase three 18650 lithium batteries by themselves, 18650 lithium batteries with a capacity of 2200mA or above and a discharge rate of 4C are recommended. Please refer to Product Assembly for these two installation tutorials.
  2. When connecting the battery for the first time, pay attention to whether the LED light is on on the battery module. If the LED light is on, it means that the positive and negative electrodes of the battery are connected inversely. If the battery is not connected inversely, the LED light will not be on. Do not charge the battery when it is reversed, otherwise it may cause an explosion.
  3. This product can not suffer severe impact and is not waterproof.

First Time Use

The Jetson Orin Nano shipped with the product is a hard disk with already configured software and ROS2 functions. It can be used when turning it on.

Make sure you have 3 lithium batteries installed, you need to use the configured 12V 5A power cable to connect to the power interface of the product for the first time. After turning on the power switch, the product will initialize, and the OLED screen will display a series of initialization information. The Jetson Orin Nano will automatically create a hotspot, and the IP address will be displayed on the OLED screen after the main program of the project runs automatically. After the startup is completed, the OLED screen displays the following meanings:

UGV OLEDdisplay.png

  • The first line E: The IP address of the network port, which can be used to remotely connect to the Jetson Orin Nano; No Ethernet indicates that the Jetson Orin Nano is not connected with a network cable at this time.
  • The second line W: After establishing a hotspot in AP mode, the default IP will be displayed as 192.168.50.5; in STA mode, connect to the IP address assigned by a known WIFI; the displayed IP address can be used to connect to the Jetson Orin Nano wirelessly.
  • The third line F/J: Network port number. 5000 is used to access the product main program control page, and 8888 is used to access the JupyterLab page.
  • The fourth line AP indicates that the WIFI is in AP mode at this time, and the time indicates the usage time of the device; the value in dBm indicates the signal strength RSSI of the WIFI in STA mode.

When Jetson Orin Nano is turned on,

  • If the product is not connected to a known WIFI, it will automatically establish a hotspot, use your mobile phone/computer to connect to the hotspot. The name of the hotspot is AccessPopup and the password is 1234567890.Open the browser after connecting , enter the default IP address of the device in AP mode (the address will be displayed on the W line on the OLED screen), that is, enter 192.168.50.5:5000 in the URL bar to access the WEB control interface of the product's main program.
  • If the product is connected to a known WIFI, you can access the WEB control interface of the product's main program by accessing the Jetson Orin IP address: 5000. For example: 192.168.10.156:5000.

Note: The accessed device must be in the same LAN as the Jetson Orin device to access successfully.

Joystick Usage

  • This joystick requires the use of a PC browser together with the Jetson Orin server. Please follow the steps below:
  • In the PC browser, access the Jetson Orin IP address:5000, and ensure that the page remains active at all times (do not close, refresh, or allow the browser tab to go to sleep).
  • The wireless receiver of the joystick must be connected to the USB port of the PC, not the Jetson Orin.

Network Configuration

When configuring WIFI for the first time, you need to prepare a network cable or USB cable, and you also need to prepare a computer when using a USB cable.

What to do before opening the terminal:

  • Network cable: After the product is turned on, connect the network cable, the IP of the network cable will be automatically displayed on the OLED screen, the IP behind E is the wired IP, E stands for eth0, enter this IP address in the browser: 8888, open jupyterLab, and then open Terminal
  • USB cable: Jetson's Micro USB port has a default IP address of 192.168.55.1, users without a screen can operate Jetson Orin Nano remotely via ssh:
    • After powering on the product, connect the Micro USB port of the Jetson Nano to the computer with a USB cable
    • Log in to Jetson Nano remotely using a Putty or MobaXteram software ssh 192.168.55.1 IP address
    • The default username and password for the Jetson Orin Nano system is jetson

After logging in to the terminal, to configure the WIFI to connect to a known hotspot for the first time, you need to close the AccessPopup cyclic scanning task that is running in the background, and browse to the folder of AccessPopup first:

cd ugv_jetson/AccessPopup/

Run the AccessPopup configuration script:

sudo chmod +x installconfig.sh
sudo ./installconfig.sh

Enter 7, press Enter, uninstall AccessPopup, (when it is connected to a known WIFI, you can follow the similar steps if you need Jetson to automatically establish a hotspot, but select 1 to install AccessPopup, and then it can automatically establish a hotspot when it is turned on).

Wait for the uninstallation to complete, press any key to exit, and then enter 9, press Enter, and exit AccessPopup.

Make sure WiFi is turned on:

sudo nmcli r wifi on

List the surrounding known WIFI networks:

sudo nmcli d wifi list

Connect to a known WIFI:

sudo nmcli d wifi connect <my_wifi_ssid> password <my_wifi_password>

You need to replace the above <my_wifi_ssid> and <my_wifi_password> with your own hotspot name and password according to your situation, for example: sudo nmcli d wifi connect wifi_name password 1234567890

Product Tutorial Catalog

How to use host device

How to Use Product ROS2

Product Initialization

Product Firmware Update

We provide an ESP32 download tool for the UGV Rover. Using this tool, users can quickly update the firmware or restore the factory program.

1. First, connect the robot to your computer using a USB cable. (This step requires opening the robot to access the USB interface in the middle of the driver board).

2. Download the ESP32 download tool for UGV Rover: UGV Rover ESP32 Download Tool. After downloading, unzip it and double‑click to open the "flash_download_tool_3.9.5.exe" program. After opening, two windows will pop up, we need to operate the UI interface of the download tool, and the other window will act as a terminal to show the working status of the download tool.

3. In the "DOWNLOAD TOOL MODE" interface, select ChipType as ESP32 and WorkMode as Factory. When using Factory, the binary file will be called using a relative path, so the user does not need to manually input the binary file path. After selecting, click OK.

WAVEROVER下载工具.png

4. In this software interface, keep the "LockSettings" checkbox selected, with the right side indicating that programs can be uploaded to 8 UGV Rover units simultaneously. Click "COM", and select the new COM (the new COM here is COM28); BAUD is used to set the download speed, the higher the value, the faster the speed, and it can be up to 921600 for ESP32.

RaspRoverFACTORY-1.png

5. After selection, click "START" to start uploading the program. Once the upload is complete, "IDLE WAIT" will change to "FINISH COMPLETE". After completion, you can disconnect the USB connection between the driver board and the computer, turn on the switch of the robot product, and control the robot after powering on.

RaspRoverFACTORY1-1.png

Host PC Initialization

Note: This part is not mandatory. It is only necessary to reinstall the system on the product when you need to restore the host PC to the factory system or when the product has undergone a software update.

Host PC initialization consists of two steps. The first step is to flash the Ubuntu 22.04 system onto the carrier board. The second step is to install and configure the software programs. If your product came with a Jetson Orin Nano board pre‑installed from the factory, you can skip the first step and proceed directly to the second step. If you are using your own Jetson Orin Nano board and are unsure about the system version on the carrier board, start with the first step.

1. Carrier Board System Installation

To flash the system onto the Jetson Orin Nano carrier board, you will need a host computer or virtual machine running Ubuntu 22.04. You need to have Ubuntu 22.04 installed on your computer, either as the main operating system or on a virtual machine.

Required Components

  1. UGV Rover PT Jetson Orin AI Kit product
  2. Ubuntu 22.04 virtual machine or host system
  3. Yellow jumper cap (included in the product accessory kit)
  4. USB data cable (included in the product accessory kit)

Hardware Configuration (Entering Recovery Mode)

Orin-IO-Base-Recovery-Mode.png
  • Use a jumper cap or Dupont wire to short the FC REC and GND pins, as shown in the figure above (located under the carrier board).
  • Turn on the product power switch.
  • Connect the Jetson board's Type‑C port to your Ubuntu 22.04 host or virtual machine using a USB cable (ensure it is a data cable).

Software Configuration

  • Open your Ubuntu 22.04 system, launch a browser, and download SDK Manager.
  • After downloading, we enter the download path to install, and input the following content on the terminal:
cd Downloads
sudo dpkg -i sdkmanager_1.6.1-8175_amd64.deb (Enter according to your version)
  • After installation, the system may report missing dependency files. Resolve this by running:
sudo apt --fix-broken install
  • Launch SDK Manager in Ubuntu 22.04.
  • Click LOGIN to log in with your NVIDIA account. A browser link will pop up. If you do not have an account, register first, then log in.
    LOGIN水印-3.jpg
  • You have now successfully logged into SDK Manager.
    LOGIN-success-watermark-1.png

System Installation

  • Open a terminal in Ubuntu 22.04, run SDK Manager, and log in.
  • If the Jetson board is detected correctly, it will appear as shown below. If no device appears after connection, click "refresh".
Orin Nano Refresh.png
  • Select Jetson Orin Nano as the board type. Choose either the 8GB or 4GB version based on your actual hardware. (If you are using the official kit, select Developer Kit.) Uncheck Host Machine.
  • In the JetPack options, select the latest supported system. Do not check any other SDKs, then click Continue.
Orin Nano configuration1.png
  • Select Jetson Linux, uncheck both Jetson Runtime Components and Jetson SDK Components, and check the first license agreement at the bottom.
Orin Nano Details and License.png
  • If this is your first time using SDK Manager to flash the system, clicking Continue will bring up a pop‑up window. Click Create to begin flashing. If you have used SDK Manager for flashing before, simply click Continue and wait for the flashing process to start.
UGV Rover Jetson Orin Configuration.png
  • Finally, click Continue and wait for the system flashing to complete. During the flashing process, a pop‑up window will appear before the "Installing" progress bar reaches 50%.
    1. The board type will be selected by default. Make sure you selected the correct board type in the previous step.
    2. Under OEM Configuration, select Pre‑Config, enter a username and password (you can define your own), and the system will be automatically configured during the boot process.
UGV Rover Jetson Orin Configuration1.png
  • After flashing is complete, you will see the screen shown below. Next, proceed with the software program installation for this product.
Orin Nano Installation Completed Successfully.png


2. Software Program Installation

There are two ways to install the software programs for this product. One is to directly flash the system image with pre‑configured software onto the Jetson Orin Nano's storage. This method requires no additional configuration from the user; after flashing, you can simply install it onto the product and start using it. The other method is to configure the software manually.

Required Components

  • Remove the Jetson Orin Nano storage drive from the product.
  • Drive/flash programmer
  • PC computer

Preparing the System Image

Download the image to be flashed from the following link: Image.

Resources

Dimensional Diagrams

STEP model

ROS2 open source project

Product open source program

Lower Computer Driver Board Schematic

ESP32 Download Tool

Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)