Difference between revisions of "RaspRover"

From Waveshare Wiki
Jump to: navigation, search
Line 35: Line 35:
 
<font color = "red">'''Please read the following content before using:'''
 
<font color = "red">'''Please read the following content before using:'''
 
#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.</font>
 
#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.</font>
#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 in case the batteries are reversed, otherwise, it may lead to explosion.
+
#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.
 
#This product can not suffer severe impact and is not waterproof.
 
#This product can not suffer severe impact and is not waterproof.
  

Revision as of 09:20, 5 March 2024

RaspRover
RaspRover.jpg

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

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

The RaspRover is an open-source 4WD AI robot designed for exploration and creation. adopts 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 up to 0.65m/s. Built-in 3S lithium UPS power supply module (the batteries are NOT included) can provide powerful and lasting power, supports 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.

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 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.
  • Rich Tutorials: Provides JupyterLab interactive tutorials, graphic tutorials, and video tutorials, 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.
  • 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: The chassis is equipped with soft anti-skid rubber tires with 4x N20 encoder motors, 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.

Product Usage

First Time Use

The product comes with an SD card that has the configured image, and you can directly insert the SD card into the Raspberry Pi.
After powering on the product, RaspRover will initialize, and the OLED will display a series of content about initialization. During the boot-up process, the Raspberry Pi will automatically create a hotspot. Once the main project program starts running, it will display the IP address on the OLED screen. The meaning of the content displayed on the OLED screen after the boot-up is as follows:

  • The first line E: the IP address of the Ethernet port for remotely connecting to the Raspberry Pi. "No Ethernet" means there is no Ethernet cable connected to the Raspberry Pi.
  • The second line W: After establishing the hotspot in AP mode, it will display the default IP: 192.168.50.5. Under the Station (STA) mode, the Raspberry Pi connects to a known WiFi network and is assigned an IP address. This assigned IP address can be used to wirelessly connect to the Raspberry Pi.
  • The third line F/J: Ethernet port number, "5000" is for accessing the product's control interface of the main demo, and "888" is for accessing the JupyterLab interface.
  • The fourth line AP: the WIFI is in AP mode, and the time means the usage period of the device. Values in dBm indicate the signal strength of WIFI in STA mode RSSI.

Use your cell phone/computer to connect to the hotspot automatically created by the product, the name of the hotspot is AccessPopup, and the password of the hotspot is 1234567890, after connecting, open the browser, enter the default IP address of the device in AP mode (the address will be displayed in the W line on the OLED screen), that is, enter 192.168.50.5:5000 in the URL bar to access the product. The control interface of the main program.
Note: If the product does not automatically establish a hotspot after powering on, you need to update the image on the product, please refer to #Program Images.

Network Configuration

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

  1. You can click on Rasprover LAB.png to enter the JupyterLab interface.
  2. You can access the IP address of the device: 8888 to enter the JupyterLab interface. As the AP mode is the default setting, you need to input "192.168.50.5:8888" to enter JupyterLab interface.

Connecting to a Known WiFi for the First Time

When connecting to a known WiFi network for the first time, since the default WiFi mode of the product is AP mode, you need to switch to STA mode to connect to the known WiFi network. Here are the steps:
1. After accessing the JupyterLab page, click on the "Terminal" at the bottom of the page. Then, enter the following command and press "Enter" to navigate to the project folder.

bash

RaspRover WiFi.png
2. You can see the current location is ~/ugv_pt_rpi. Next, navigate to the folder for configuring WiFi by entering the following command and pressing Enter:

cd AccessPopup/

3. Grant executable permission to the WiFi configuration script located in the AccessPopup folder by entering the following command and pressing Enter:

sudo chmod +x installconfig.sh

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

sudo ./installconfig.sh

5. After running the script, you will see the following interface. Here, you need to set up a connection to the known WiFi network. Therefore, enter "5" and press Enter to proceed with setting up a new WiFi connection.
RaspRover WiFi2.png
6. After that, you will be redirected to the interface for adding or editing WiFi networks. Wait for a moment, and this page will display the names of WiFi networks nearby. It will look like the following, with each WiFi network preceded by a number. 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 for the WiFi network you want to connect to and press Enter. After that, the product will connect to the configured WiFi hotspot. Once connected successfully, you will be able to see the IP address changing in the "W" row on the OLED screen.
8. Due to the change in the IP address, you will need to access the JupyterLab page again using the current IP address displayed on the "W" row of the OLED screen. After the product has successfully connected and switched to STA mode, you will see the same interface as before when accessing the JupyterLab page. Press any key to continue.
RaspRover WiFi4.png
9. After typing 9 and pressing Enter, you can exit the WiFi configuration script. Once successfully connected to a known WiFi network, if the product is out of range of the known WiFi during boot-up, the product will automatically create a hotspot. By default, the hotspot will still be named "AccessPopup".

Switch to WIFI Mode

  • Switch STA mode to AP mode:

After connecting to a known WIFI, if you need to switch the device to AP mode and establish a hotspot, enter "Terminal" on the JupyterLab interface, and input the following commands to establish a hotspot:

sudo accesspopup -a
  • To switch back from AP mode to STA mode after configuring a known WiFi network, enter the following command to reconnect to the known WiFi:
sudo accesspopup

Note: Whenever you switch WiFi modes, the IP addresses for the product's main program control interface and the JupyterLab page need to be refreshed accordingly to access them.

Delete the Known WIFI

1. Open the Terminal in JupyterLab and enter bash to navigate to the project folder.
2. Then, enter the following command to view all network connections:

nmcli connection show

3. To delete a known WiFi connection, use the following command. 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 known WiFi network, the product will automatically create a hotspot named AccessPopup after deletion.

Product Initialization

Program Images

Note: This section is not mandatory and should only be performed when you need to restore the host of the product to the factory system image.
The Raspberry Pi Foundation has developed a graphical SD card writing tool called the Raspberry Pi Imager, which is compatible with operating systems such as Windows, Mac OS, and Ubuntu.
This tool automatically downloads images and installs them onto an SD card. It can also be used to install images of other systems onto an SD card. 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, and make your system image selection based on your product model:

  • RaspRover PT PI4B AI Kit/RaspRover PT PI4B AI Kit Acce, these two models come with pan-tilt, and the host controller is Raspberry Pi 4B.

Pan-tilt-pi4b.jpg

  • RaspRover PT PI5 AI Kit/RaspRover PT PI5 AI Kit Acce, these two models come with pan-tilt, and the host controller is Raspberry Pi 5.

Pan-tilt-pi5-SKU.jpg

  • RaspRover PI4B AI Kit/RaspRover PI4B AI Kit Acce, there is no pan-tilt included in these two models, and the host controller is Raspberry Pi 4B.

No-pan-tilt-pi4b.jpg

  • RaspRover PI5 AI Kit/RaspRover PI5 AI Kit Acce, there is no pan-tilt included in these two models, and the host controller is Raspberry Pi 5.

No-pan-tilt-pi5.jpg

Program Image

  • 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 this time was Raspberry Pi 4B, so we selected Raspberry Pi 4.

Pan-Tilt Camera WRITEIMAGE02.png

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

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 program the system.

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

  • First of all, set the username and WiFi in the "GENERAL" column, and check the boxes as shown in the picture below. If the product's host controller is Raspberry Pi 4B, then the username and password both are "ws"; if the product's host controller is Raspberry Pi 5, then the username is "ws", and the password is "123456". Among them, WiFi hotspot name and password need to be changed to your own, and the WIFI country is CN.

File:RaspRover WRITEIMAGE08.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 program 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

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)