UGV01-X3
| ||
Introduction
The UGV01 series product is a mobile robot crawler chassis with super off-road passing ability, anti-shock performance, and open-source code for customization development. It supports the expansion of a variety of host computers. The host computer of this model is Horizon Sunrise X3 Pi. The host computer communicates with the ESP32 lower computer through the serial port. The motor with an encoder can obtain speed feedback for closed-loop speed control. The built-in 3S18650 lithium battery (three 18650 lithium batteries in series) UPS power supply module provides uninterruptible for the robot and supports charging and discharging at the same time. Built-in multifunctional robot driver board, which can expand bus servo, PWM output, SD card, and other functions. The driver board is based on ESP32, with onboard WIFI and Bluetooth, and onboard 9-axis IMU.
It adopts a multi-independent suspension system, which can make it enjoy smooth driving on tough terrains, and is equipped with two 1020 European standard profile extension guide rails, so that it can easily meet the requirements of heavy load, shock absorption, off-road, etc., and provides more for secondary development. feasibility.
Features
- Adopts multi-independent suspension system, 4x independent suspension systems on each side, reducing the shock from tough terrains.
- Its climbing capacity is outstanding. When climbing with heavy loads, its suspension systems will shrink, and the rear wheels will provide additional support.
- The motor with an encoder can get the speed feedback for closed-loop speed control.
- Comes with interactive 0.96inch OLED screen.
- You can use it when charging as it comes with a power port and automatic downloading circuit.
- Onboard INA219 acquisition chip on the UPS power supply module can monitor the real-time battery voltage and charging current.
- The UPS power supply module supports 3x 18650 batteries, 7800mAh. Its output current is larger and the motor power is stronger.
- UPS power supply module also provides 5V and 3.3V for external devices.
- Onboard Lithium battery protection circuit on the UPS power supply module, protecting against overcharge, over-discharge, overcurrent, and short circuit.
- Demo can be developed on Arduino IDE, and the environment does not need to be configured manually. As ESP32 automatically set up a WIFI hotspot after booting, you can log in to the control webpage by a mobile phone (Android/iOS) or computer (Linux/Windows/Mac). All you need to do is install the browser based on Chromium, no app is required.
- ESP32 can be used for driving the DC motor, and serial bus servos. Onboard OLED screen interface, TF card slot, 9-axis IMU module. WIFI and Bluetooth, you can use it independently without the host.
- The host is Horizon Sunrise X3 Pi, and it can communicate with the slave computer by serial ports. The powerful computing power of the host computer can be used for the development of high-level functions.
- Comes with DTOF LD19 lidar, measuring range is 0.02~12m, 360°.
- Comes with night vision infrared camera, the infrared cut-off filter can be opened when the external light is strong, and the infrared cut-off filter can be closed when the external light is weak to carry out active night vision.
- Provide open-source demos and online tutorials.
UGV01-X3
Note: Customers need to purchase and install three 18650 lithium batteries on their own before using the product. When connecting the batteries for the first time, please pay attention to whether the LED light is on. If the LED light is on, it indicates that the positive and negative poles of the batteries are reversed. Please check and ensure that the batteries are not reversed. Charging is prohibited if the batteries are connected in reverse, as it may cause a risk of explosion.
UGV01-X3 Basic Use
The host computer of UGV01-X3 is Horizon Sunrise X3 Pi, and its slave computer is ESP32. After starting up, ESP32 will give priority to connecting to known WIFI hotspots. If WIFI is not connected within 20 seconds after starting up, ESP32 will create a hotspot automatically.
Hotspot name: UGV01_BASE
Hotspot password: 12345678
After connecting to this hotspot with your mobile phone, the mobile phone will prompt you that this hotspot has no network, and whether you are allowed to switch hotspots, please choose not to, keep the connection with the UGV01_BASE hotspot.
Open the mobile browser (Google Chrome is recommended), visit the URL 192.168.4.1, and you can open the UGV01_BASE control page. On this page, you can check the robot's voltage, attitude angle, and other information. Also, you can control the movement of the robot, edit the commands in JSON format, and send them to UGV01_BASE to get some peripheral information feedback. Moreover, you can get the serial bus servo feedback, the PWM servo, the IR-CUT camera switch, etc.
The communication mode between the lower computer and the upper computer of UGV01 is serial port communication with a baud rate of 1,000,000.
The serial port communication is the same as the JSON data structure using the web control, for example, there is a command case of SPEED_INPUT in the web page:
{"T":1,"L":0.5,"R":0.5}, the value of T represents the command type, the command type to control the movement of the track is 1, the value of L is the speed of the left track, and the unit is m/ The value of s, R is the speed of the right track.
Driver Board General Driver for Robots Module Usage Tutorial
- How To Install Arduino IDE
- Tutorial I: Motor With Encoder Control Demo
- Tutorial II: Motor Without Encoder Control Demo
- Tutorial III: ST3215 Serial Bus Servo Control Demo
- Tutorial IV: PWM Servo Control Demo
- Tutorial V: IMU Data Reading Demo
- Tutorial VI: SD Card Reading Demo
- Tutorial VII: INA219 Voltage And Current Monitoring Demo
- Tutorial VIII: OLED Screen Control Demo
Host Computer Horizon Sunrise X3 Pi Tutorial
According to the above tutorial, you can get started with Horizon Sunrise X3 Pi, learn the precautions during use, and directly run the official MIPI camera demo (connecting to an HDMI display is required):
cd /app/ai_inference/03_mipi_camera_sample/ sudo python3 ./mipi_camera.py
After running, the camera will detect the eigenvalues of the identifiable objects in the screen for object recognition, and output the result to the terminal for printing.
TogetherROS is a robot operating system launched by Horizon for robot manufacturers and ecological developers. It aims to unleash the potential of AI in robot scenarios, help ecological developers and commercial customers to develop robots efficiently and conveniently, and create competitive intelligent robot products.
The demos of SLAM and NAV2 are introduced here, but it should be noted that multi-machine communication needs to be configured. The specific method is as follows:
First, install VMware Worstation Player on the computer, and download the image of Ubuntu 20.04 (since TogetherROS is developed based on ROS Foxy, only the 20.04 version of Ubuntu can install ROS Foxy).
- [Ubuntu 20.04.5 Desktop amd64 Image Download]
After VMware Workstation 17 Player loads the Ubuntu 20.04 image, you need to follow the following tutorial to install ROS2:
You can enter the following commands in sequence to install ROS Foxy, or you can refer to the ROS Foxy official documentation to install ROS Foxy.
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update sudo apt upgrade sudo apt install ros-foxy-desktop python3-argcomplete sudo apt install ros-dev-tools
Next, configure ROS2 multi-machine communication:
The servo communication configuration of ROS2 is very simple, you only need to make the first three fields of the IP of the Ubuntu in the computer VMware and the Horizon Sunrise X3 Pi the same.
Press the shortcut key Ctrl + D in VMware to open the virtual machine settings, select the network adapter, and in the network connection, select the bridge mode (B): directly connect to the physical network.
Then restart Ubuntu in VMware, and enter the ifconfig command in the terminal after booting to view its IP, such as 192.168.10.80.
Then you need to set the static IP of Horizon Sunrise X3 Pi to 192.168.10.X, where X is a number between 0-255, and it cannot be the same as the IP of other devices in the network. You can refer to its official documentation for the method of setting the static state of Horizon Sunrise X3 Pi, so that the servo communication is successfully configured, and you can continue the official tutorial to learn the follow-up content.
Lidar ROS2 Package Installation
First, connect the mouse, keyboard, and monitor to Horizon Sunrise X3 Pi, or log in to Horizon Sunrise X3 Pi through SSH, and enter the following commands in sequence.
Create a new radar workspace and download the ROS2 package of lidar to the src folder.
mkdir -p ldlidar_ros2_ws/src cd ldlidar_ros2_ws/src git clone https://github.com/ldrobotSensorTeam/ldlidar_stl_ros2.git
Generally speaking, after the Lidar is connected to the USB, the device name is /dev/ttyUSB0, if not, you can view the device through ls -l /dev/tty*.
Prepare to add read and write permissions:
cd ~/ldlidar_ros2_ws sudo chmod 777 /dev/ttyUSB0
Source ROS2:
cd ~/ldlidar_ros2_ws sudo chmod 777 /dev/ttyUSB0
Source ROS2:
source /opt/ros/foxy/local_setup.bash
Compile:
colcon build
Source ldlidar_ros2_ws
source install/setup.bash
Open the LD19 lidar node:
ros2 launch ldlidar_stl_ros2 ld19.launch.py
Start LD19 node and display laser data on Rviz2.
ros2 launch ldlidar_stl_ros2 viewer_ld19.launch.py
Enable Lidar Nodes
Add read and write permissions for serial devices:
cd ~/ldlidar_ros2_ws sudo chmod 777 /dev/ttyUSB0
Source ROS2:
source /opt/ros/foxy/local_setup.bash
Source ldlidar_ros2_ws
source install/setup.bash
Open the LD19 lidar node.
ros2 launch ldlidar_stl_ros2 ld19.launch.py
Start LD19 node and display laser data on Rviz2.
ros2 launch ldlidar_stl_ros2 viewer_ld19.launch.py
Resource
Robot Drawing
Robot Model
Development Resource
FAQ
Three 18650 batteries are used and the voltage of every battery is 3.7V. Generally, the voltage per battery is 4.2V when fully charged. Please use batteries without a protective plate.
BTW, the Power of UGV02 is down when the voltage of the whole system is similar to 9V (it is not accurate). We recommend you charge batteries if the voltage displayed is lower than 10V.
We recommend you use high-quality batteries like Sanyo or Panasonic.
{{{5}}}
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)