RaspRover

From Waveshare Wiki
Jump to: navigation, search
RaspRover
RaspRover.jpg

I2C
UART
TTL serial bus servo
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Introduction

The RaspRover is an open-source 4WD AI robot designed for exploration and creation, adopts the dual-controller structure design. The host controller adopts Raspberry Pi 4B / Raspberry Pi 5 for AI vision and strategy planning, and the sub-controller uses ESP32 for motor PID control, IMU sensor control, OLED screen control, servo control, LED on/off control, etc. effectively saving computing and IO resources for the host controller.

Adopts 2mm thickness all-aluminum metal body, durable and reliable. The chassis is equipped with soft anti-skid rubber tires with 4x N20 encoder motors, supports closed-loop speed control, provides excellent shock-absorbing performance, and the maximum speed is up to 0.65m/s. Built-in 3S lithium UPS power supply module (the batteries are NOT included) can provide powerful and lasting power, support charging and discharging at the same time to ensure continuous standby time.

Comes with a CSI camera for the Raspberry Pi 4B version and USB camera for the Raspberry Pi 5 version, supports real-time transmission of high-frame rate video. No App installation required, allows users to connect and control the robot via mobile phones, tablets and computers via browser Web App, and obtain- real-time information feedback. Users can enjoy a smooth visual experience, and can capture different wonderful moments through functions such as taking photos and videos. In addition, the robot's various information feedbacks - including battery voltage, CPU usage, etc. - are displayed in real time through the WEB application, allowing users to monitor the robot's status in real time.

The PT version is equipped with a 2-DOF high-torque flexible pan-tilt and a 5MP 160° wide-angle camera for various AI robot vision functions. With high-brightness LED light for ensuring clear images in low-light conditions. Also equipped with a tactical rail to easily install peripherals for more functions.

Provides complete tutorials and demos including JupyterLab WEB Application to help users get started quickly for learning and secondary development.

Features

  • High-performance Dual-controller Structure: The host controller adopts Raspberry Pi 4B / 5 for AI vision and strategy planning, and the sub-controller uses ESP32 for motion PID control and sensor data processing.
  • Open-source Demo: The host system is based on the latest Raspberry Pi OS (Debian Bookworm), provides WEB application based on Flask and Python, open-source for all demos, easier for users to get started quickly for learning and secondary development. The two-layer architecture makes the robot run more efficiently.
  • Rich Tutorials: Provides JupyterLab interactive tutorials, graphic tutorials, and video tutorials, and users can learn how to control the robot while programming.
  • Wide Viewing Angle: Optoinal for 2DOF high-torque flexible pan-tilt, providing 360° omni-directional observing angle, all kits come with a 160° ultra-wide 5MP camera for capturing every detail.
  • Robot Computer Vision: Integrates robot computer vision functions such as color, object, gesture recognition, face recognition, and motion detection, supports expanding for more applications.
  • Abundant Interaction: Real-time video streaming, digital zoom, photo, video, and other functions, and WEB application of real-time video functions and robot information displayed on the screen to improve the user interaction experience.
  • Cross-platform Web APP Remote Control: Supports cross-platform remote control via Web application, no App installation required. Supports using Tunneling Service such as Ngrok, Cpolar, or LocalTunnel to expose the local network service of the robot to the Internet so that you can control the robot from anywhere.
  • Expandability: Reserved space on the mounting plate and comes with a tactical rail, more convenient for expanding other tactical peripherals; Onboard 12V switch interfaces on the driver board for controlling other peripherals such as Electric Gel Ball Blaster Surge, supports installing 4G / 5G modules for more possibilities.
  • Durable Structure: 2mm thickness all aluminum alloy body, providing excellent rigid structure and durability.
  • High-performance Driving Motor: Equipped with 4x N20 encoder motors, enabling closed-loop speed control. With a maximum speed of 0.65m/s, it delivers robust power.
  • All-Drive and High-Quality Tires: The chassis is equipped with a four-wheel drive system with soft anti-skid rubber tires, ensuring stable performance in various terrains.
  • Lasting Power: Built-in 3S lithium UPS power supply module (the batteries are NOT included), supports charging and discharging at the same time to ensure continuous standby time.

Notices

Please read the following content before using:

  1. 3x 18650 lithium batteries are required and need to be purchased separately to ensure normal operation of the 3S UPS module. And a Raspberry Pi is required and needs to be installed independently if you are using Acce version.
  2. The onboard LED warning indicators of the 3S UPS module will light on if the related battery is reversely connected. Do not charge the module when the batteries are reversed, otherwise, it may lead to explosion.
  3. This product can not suffer severe impact and is not waterproof.
  4. Do not manually rotate the wheels. For high-gear reduction motors, manually rotating the wheels may cause damage to the gearbox.

Product Usage

First Time Use

Comes with an SD card with the pre-configured image which you can directly insert into the Raspberry Pi.
After powering on the robot, the Raspberry Pi will automatically create a hotspot, and the OLED screen will display a series of system initialization messages:
RaspRover-LED-screen.png

  • The first line E: the IP address of the Ethernet port for remotely accessing the Raspberry Pi. "No Ethernet" means that the Raspberry Pi has no Ethernet cable connection.
  • The second line W: In AP mode, the robot will automatically establish a hotspot and display the default IP: 192.168.50.5. In STA mode, the Raspberry Pi will connect to a known WiFi network and display the IP address for remote access.
  • The third line F/J: Ethernet port number, "5000" is for accessing the robot control Web UI, and "8888" is for accessing the JupyterLab interface.
  • The fourth line AP: means the WIFI is in AP mode, and the time means the usage period of the robot, the value in dBm represents the Received Signal Strength Indicator (RSSI) in STA mode.

You can use a mobile phone or PC to access this hotspot, the name of the hotspot is AccessPopup, and the password of the hotspot is 1234567890. After connecting, open the browser, and enter 192.168.50.5:5000 in the URL bar to access the robot control Web UI and control the robot.
Note: If the robot doesn't automatically establish a hotspot after powering on, please refer to #Images_Flashing and re-flashing the image.

Network Configuration

The network needs to be configured in the JupyterLab interface, and there are two methods to open JupyterLab interface:

  1. You can click on Rasprover LAB.png on the Web application UI to enter the JupyterLab interface.
  2. You can access the IP address of the robot: 8888 to enter the JupyterLab interface. If the robot is under the AP mode, you need to input "192.168.50.5:8888" to enter JupyterLab interface.

First Time to connect a known WiFi

The default WiFi mode of the robot is AP mode, you can refer to the following steps to switch to STA mode and connect to known WiFi:
1. After accessing the JupyterLab interface, click the "Terminal" at the bottom of the page, and enter the following command and press Enter to enter the project folder /ugv_pt_rpi.

bash

RaspRover WiFi.png
2. Then enter the following command and press Enter to enter /AccessPopup folder:

cd AccessPopup/

3. Enter the following command and press Enter to grant executable permission for the WiFi configuration script in the AccessPopup folder:

sudo chmod +x installconfig.sh

4. Run the WiFi configuration script by the following command and pressing Enter:

sudo ./installconfig.sh

5. After running the script, you will see the following interface. Here, you need to enter "5" and press Enter to set up a new WiFi Network connection.
RaspRover-WIFI-connect-01.png
6. The script will redirect to the next page, Wait for a while, the robot will search for nearby WIFI and list out the WiFi names as follows. Each WIFI has a serial number in front of it. Enter the number corresponding to the WiFi network you want to connect to, and then press Enter.
RaspRover WiFi3.png
7. Then, enter the password of this WiFi network and press Enter.
RaspRover-WIFI-connect-02.png
Once the Wifi is connected successfully, the new IP address of the robot will display in the "W" line of the OLED screen.
8. As the IP address of the robot has changed, you now need to input the new IP address to access the JupyterLab interface as below, it is in STA mode after successful connection, and you will see the same content as before. Press any key to continue.
RaspRover WiFi4.png
9. And then you can press "9" and press Enter to exit the WiFi configuration script.
Note: If the robot moves out of the range of the connected WiFi network or loses the connection while running, it will automatically enter the AP mode and establish a hotspot. In this case, you can access its hotspot name AccessPopup for control or configuration again.

WIFI Mode Switching

  • Switch STA mode to AP mode:

After connecting to a known WIFI, if you need to switch the robot to AP mode and establish a hotspot, open a "Terminal" on the JupyterLab interface.
Enter bash to enter the project folder /ugv_pt_rpi:

bash

and enter the following command to switch to AP mode and establish a hotspot:

sudo accesspopup -a
  • To switch back from AP mode to STA mode:

enter the following command to set back to STA mode and reconnect to the known WiFi:

sudo accesspopup

Note: After switching WiFi mode, the IP addresses of the robot will be changed and you need to re-enter the new IP address on the browser to access the Web UI or JupyterLab interface for controlling the robot again.

Delete Known WIFI

1. Open a "Terminal" on the JupyterLab interface, enter bash to enter the project folder /ugv_pt_rpi:

bash

2. Then, use the following command to check all network connections:

nmcli connection show

3. Use the following command to delete a known WiFi connection: replace <connection_name> with the name of the WiFi network you want to delete:

sudo nmcli connection delete <connection_name>

Note: If you delete the currently connected WiFi network, the robot will automatically switch to AP mode and establish a hotspot. In this case, you can access its hotspot name AccessPopup for control or configuration again.

Product Initialization

Images Flashing

Note: This step is only necessary when there is a new version system image and you want to update to your Pi, or when you need to restore the Raspberry Pi's system image to factory settings
The official Raspberry Pi Imager tool is required, which is compatible with operating systems such as Windows, Mac OS and Ubuntu.
Click on the Raspberry Pi Imager official website link to download the latest version of the Raspberry Pi Imager and install it.
Device Preparation

  1. SD card reader
  2. SD card (at least 8GB)

Preparation
You only need to download one of the following four system images according to your robot model:

Pan-tilt-pi4b.jpg

Pan-tilt-pi5-SKU.jpg

No-pan-tilt-pi4b.jpg

No-pan-tilt-pi5.jpg

Operating Steps

  • First, use the SD card reader to connect the SD card to the PC, open Raspberry Pi Imager, click on "CHOOSE DEVICE", and select the Raspberry Pi device.

Pan-Tilt Camera WRITEIMAGE01.png

  • Select the corresponding Raspberry Pi. The device we used here was Raspberry Pi 4B, so we selected Raspberry Pi 4.

Pan-Tilt Camera WRITEIMAGE02.png

  • Then, click "CHOOSE OS" to select the operating system to be burned.

Pan-Tilt Camera WRITEIMAGE03.png

  • At the system selection interface, scroll to the bottom and click on "Use custom" to select the pre-configured image you downloaded earlier.

RadpRover WRITEIMAGE04.png

  • Then, click on "CHOOSE STORAGE" to select the SD card to be burned.

Pan-Tilt Camera WRITEIMAGE05.png

  • Once all the above options are selected, click "NEXT". A custom settings dialog box will pop up, select "EDIT SETTINGS" to configure the username and WiFi settings.

Pan-Tilt Camera WRITEIMAGE07.png

  • Set the username and WiFi in the "GENERAL" section as shown in the picture below. Both the username and password need to be set as "ws". Otherwise, it will cause the project program of the robot to not run properly after the Raspberry Pi boots up. The WiFi configuration needs to be changed to your own hotspot name and hotspot password, and the WiFi country selection should be based on your own country.

Rasp Pan-Tilt Camera 08.png

  • Next, enable SSH service in "SERVICES", then you can use SSH connection to control your Raspberry Pi system remotely. After setting up, click save, it will pop up that the data on the SD card will be deleted, select "Yes".

Pan-Tilt Camera WRITEIMAGE09.png
Pan-Tilt Camera WRITEIMAGE010.png

  • Start to burn the image, and wait for a while to finish burning, the Raspberry Pi Imager will automatically pop up the SD card, remove the SD card, and insert it into the Raspberry Pi. Turn on the main power switch and power on the Raspberry Pi. The Raspberry Pi will reboot a few times to load the image from the SD card, wait two to three minutes and it will boot up normally.

Resource

3D Drawing

STEP Model

Schematic

Open-source Demo

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)