Difference between revisions of "WAVEGO"

From Waveshare Wiki
Jump to: navigation, search
m (Text replacement - "https://{{SERVERNAME}}/w/upload/" to "https://files.waveshare.com/upload/")
 
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{infobox item
+
<div class="wiki-pages jet-green-color">
|img=[[File:WAVEGO-details-1-1.jpg|300px|alt=WAVEGO|link=https://www.waveshare.com/wavego.htm|WAVEGO]]
+
{{infobox item|colorscheme=green
 +
|img=[[File:WAVEGO-details-1-1.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/wavego.htm?amazon}}|WAVEGO]]
 
|caption= An Open Source Bionic Dog-Like Robot Powered by Raspberry Pi
 
|caption= An Open Source Bionic Dog-Like Robot Powered by Raspberry Pi
 
|website_cn=[https://www.waveshare.net 中文网站]
 
|website_cn=[https://www.waveshare.net 中文网站]
Line 7: Line 8:
 
|interface1=I2C
 
|interface1=I2C
 
|interface2=UART
 
|interface2=UART
 +
|interface3=I/Os
 
|related=
 
|related=
 
{{Product List|Robotics/AI/Kits}}
 
{{Product List|Robotics/AI/Kits}}
 
}}
 
}}
<div class="tabber">
+
=Overview=
<div class="tabbertab" title="Instroduction">
+
The WAVEGO is a high-DOF bionic dog-like robot that features 12 x 2.3kg.cm large torque servos, reliable structure, and flexible motion, incorporating devices like front camera, 9-axes motion tracker, RGB indicator, etc., together with open source multi-platform Web application. It uses the ESP32 as a sub-controller for connecting rod inverse solving and gait generation, sharing calculating tasks for the host controller, an additional Raspberry Pi can be attached as the host controller for high-level decision operating.
==Overview==
 
The WAVEGO is a high-DOF bionic dog-like robot that features 2.3kg.cm large torque servos, reliable structure, and flexible motion, incorporating devices like front camera, 9-axes motion tracker, RGB indicator, etc., together with open source multi-platform Web application. It uses the ESP32 as a sub-controller for connecting rod inverse solving and gait generation, sharing calculating tasks for the host controller, an additional Raspberry Pi can be attached as the host controller for high-level decision operating.
 
  
===Features===
+
==Features==
*Overall 12-DOF, multi connecting rods leg design, increasing the servo effective torque
+
*12-DOF, more flexible movement.
*A real-time operating system is used as sub-controller for connecting rod inverse solving and gait generation, sharing calculating tasks for the host controller, and improving *the gait solving efficiency
+
*Multi-link leg structure + inverse kinematics algorithm, increasing the servo effective torque.
*Ultra-compact structure design, allows using on the table, aluminum alloy + nylon structure materials, ensuring strength while keeping it lightweight
+
*ICM20948 9-axis motion tracker, can use self-balancing mode.
*Additional Raspberry Pi can be attached as the host controller to enable OpenCV high-level functions, demo codes including facial recognition, motion detection, color *tracking, and more. Reserved extension interface for secondary development, along with user manual and secondary development documents.
+
*2.3kg. cm high-torque servo, the locked-rotor torque is up to 5.2kg. cm, and it is more extensible.
 +
*ESP32 is equipped with an OV2640 camera, which can realize low-latency image transmission with a 2.4G external antenna.
 +
*It is composed of 5052 aluminum alloy and PA12 nylon parts. There are 40 sets of bearings used in each joint of the whole body, and the structure is firm and reliable.
 +
*Integrate a variety of interactive devices, including a 0.96-inch OLED screen, two RGB-LED indicators, an active buzzer, etc.
 +
*The example code is developed using Arduino IDE, no need to manually configure the compilation environment, ESP32 will automatically establish a WIFI hotspot when it is turned on, you can use a mobile phone (Android/iOS) or computer (Linux/Windows/Mac) to connect and log in to the control page, just need to install a Chromium-based browser, no app is required.
 +
*With a charging interface and automatic download circuit, you can use it while charging.
 +
*Onboard two series 18650 batteries, 5200mAh, larger output current, and more powerful servo.
 +
* Onboard lithium battery protection circuit, with anti-overcharge, anti-over-discharge, anti-over-current and short-circuit protection functions.
 +
*The onboard AINA219 acquisition chip is convenient for real-time monitoring of battery voltage and charging current.
 +
*2*5P expansion interface is reserved for the remaining IO and serial port of ESP32. The functions include RGB expansion, RX0, TX0, G21, G15, G12, 3V3, 5V, and GND, which can be used to communicate with the host computer or connect to other devices.
 +
*The Raspberry Pi can be installed as the upper computer to communicate with the lower computer through the serial port. As the lower computer, ESP32 can share a lot of computing power of the rod inverse solving and gait generation, leaving more resources for the Raspberry Pi for high-level function development.
 +
*The Raspberry Pi kit is equipped with a cooling fan and an ultra-wide-angle lens. The demo for Raspberry Pi includes a web application based on Flask-Streaming, which can use functions based on OpenCV such as face recognition/color tracking/motion detection.
 +
*All codes are open source and provide online rich development documents and tutorials.
  
 
==Versions==
 
==Versions==
Line 33: Line 45:
 
|}
 
|}
 
:[[File:WAVEGO-details-3.jpg|500px]]
 
:[[File:WAVEGO-details-3.jpg|500px]]
</div>
 
<div class="tabbertab" title="User Guides">
 
 
{{WAVEGO Guides}}
 
{{WAVEGO Guides}}
</div>
+
<div class="wiki-pages jet-green-color">
<div class="tabbertab" title="Resources">
 
===Documents===
 
*[https://www.waveshare.com/w/upload/b/b5/WAVEGO-RPi.pdf Mechinal Drawing]<br>
 
*[https://{{SERVERNAME}}/w/upload/6/68/PCA96_datasheet.pdf PCA9685 Datasheet]
 
*[https://{{SERVERNAME}}/w/upload/1/10/Ina219.pdf INA219 Datasheet]
 
===Demo Codes==
 
*[https://www.waveshare.com/w/upload/3/32/WAVEGO_Demo_Code_%28Arduino%29_220128.zip WAVEGO Demo Code (Arduino)]
 
*[https://www.waveshare.com/w/upload/1/13/WAVEGO_Demo_Code_%28Pi%29_220128.zip WAVEGO Demo Code (Pi)]
 
</div>
 
<div class="tabbertab" title="FAQ"><br />
 
  
</div>
+
=Resource=
<div class="tabbertab" title="Supports"><br />{{Service00}}</div>
+
==Documents==
</div>
+
*[https://files.waveshare.com/upload/b/b5/WAVEGO-RPi.pdf Mechinal Drawing]
 +
*[https://files.waveshare.com/upload/6/68/PCA96_datasheet.pdf PCA9685]
 +
*[https://files.waveshare.com/upload/1/18/DS-000189-ICM-20948-v1.3.pdf ICM-20948]
 +
*[https://files.waveshare.com/upload/1/10/Ina219.pdf INA219]
 +
*[https://files.waveshare.com/upload/2/2a/0.91inch_OLED_Module_Schematic.pdf 0.91inch_OLED]
 +
*[https://files.waveshare.com/upload/7/72/WAVEGO_V1.2.zip Schematic diagram]
 +
 
 +
==Demo Codes==
 +
*[https://files.waveshare.com/upload/3/32/WAVEGO_Demo_Code_%28Arduino%29_220128.zip WAVEGO Demo Code (Arduino)]
 +
*[https://files.waveshare.com/upload/1/13/WAVEGO_Demo_Code_%28Pi%29_220128.zip WAVEGO Demo Code (Pi)]
 +
 
 +
{{Wavego FAQ}}
 +
=Support=
 +
{{Servicebox1}}

Latest revision as of 05:55, 4 September 2023

WAVEGO
WAVEGO

An Open Source Bionic Dog-Like Robot Powered by Raspberry Pi
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Overview

The WAVEGO is a high-DOF bionic dog-like robot that features 12 x 2.3kg.cm large torque servos, reliable structure, and flexible motion, incorporating devices like front camera, 9-axes motion tracker, RGB indicator, etc., together with open source multi-platform Web application. It uses the ESP32 as a sub-controller for connecting rod inverse solving and gait generation, sharing calculating tasks for the host controller, an additional Raspberry Pi can be attached as the host controller for high-level decision operating.

Features

  • 12-DOF, more flexible movement.
  • Multi-link leg structure + inverse kinematics algorithm, increasing the servo effective torque.
  • ICM20948 9-axis motion tracker, can use self-balancing mode.
  • 2.3kg. cm high-torque servo, the locked-rotor torque is up to 5.2kg. cm, and it is more extensible.
  • ESP32 is equipped with an OV2640 camera, which can realize low-latency image transmission with a 2.4G external antenna.
  • It is composed of 5052 aluminum alloy and PA12 nylon parts. There are 40 sets of bearings used in each joint of the whole body, and the structure is firm and reliable.
  • Integrate a variety of interactive devices, including a 0.96-inch OLED screen, two RGB-LED indicators, an active buzzer, etc.
  • The example code is developed using Arduino IDE, no need to manually configure the compilation environment, ESP32 will automatically establish a WIFI hotspot when it is turned on, you can use a mobile phone (Android/iOS) or computer (Linux/Windows/Mac) to connect and log in to the control page, just need to install a Chromium-based browser, no app is required.
  • With a charging interface and automatic download circuit, you can use it while charging.
  • Onboard two series 18650 batteries, 5200mAh, larger output current, and more powerful servo.
  • Onboard lithium battery protection circuit, with anti-overcharge, anti-over-discharge, anti-over-current and short-circuit protection functions.
  • The onboard AINA219 acquisition chip is convenient for real-time monitoring of battery voltage and charging current.
  • 2*5P expansion interface is reserved for the remaining IO and serial port of ESP32. The functions include RGB expansion, RX0, TX0, G21, G15, G12, 3V3, 5V, and GND, which can be used to communicate with the host computer or connect to other devices.
  • The Raspberry Pi can be installed as the upper computer to communicate with the lower computer through the serial port. As the lower computer, ESP32 can share a lot of computing power of the rod inverse solving and gait generation, leaving more resources for the Raspberry Pi for high-level function development.
  • The Raspberry Pi kit is equipped with a cooling fan and an ultra-wide-angle lens. The demo for Raspberry Pi includes a web application based on Flask-Streaming, which can use functions based on OpenCV such as face recognition/color tracking/motion detection.
  • All codes are open source and provide online rich development documents and tutorials.

Versions

WAVEGO-details-3-1.jpg
WAVEGO BASIC WAVEGO EX WAVEGO Pi4 KIT
Basic Pack
Expension Pack
PI4-4GB Add-on
WAVEGO-details-3.jpg

Assembly Guide

Be sure to understand the following content before assembling.
1. Since this product uses a large number of servos, the servos are used as the component of the angle changing mechanism, and the wrong assembly will cause the robot to fail to operate normally.
2. Refer to the product assembly tutorial,use the correct screws to assemble the corresponding module, otherwise it may cause the angle deadband of the Leg link action to be too large or damage the structural parts.
3. When it comes to the assembly part of the anti-loose nut, the tightening degree of the nut should not be too tight or it cannot rotate normally, nor too loose or it will shake outside the rotation plane.
4. All the above problems can be avoided as long as the following assembly instructions are strictly followed.
5. We also provide a pre-assembled version package and the servo is calibrated, so you do not need to assemble it.

WAVEGO Pi4 Kit

WAVEGO Basic

WAVEGO Developing

Note: The provided ESP32 board has been flashing, you can just assemble and use it as the video. This guide is provided for users who would like to modify the codes themselves.

Install Arduino IDE

  • Download the Arduino IDE from Arduino.cc website.
  • Please choose the Arduino IDE version according to your OS.
  • Download and install the IDE according to the prompt.

Install Arduino core for the ESP32

  • Run the Arduino IDE, and click File.

QQ截图20211130112221.png

  • Click Preferences.

QQ截图20211130112341.png

QQ截图20211130113232.png
Note: If you already have an ESP8266 board URL, you can separate the URLs with commas as follows:

https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Download the package, unzip, and copy the package file to the following path:

L76K GPS Module ESP32204.jpg
Note: you can replace the user name "xutong" with your own name.

Download demo code and dependency libraies

  • Download and unzip Libraries. Open the default installation path on the Arduino: C:\Users\xutong\AppData\Local\Arduino15\libraries (please refer to your actual location), and copy these files to Libraries.

WAVEGO Guides09.jpg


Upload example to WAVEGO

Wavego guides upload.png

  • Choose Tools > Port to check the COM port already on your PC. No need to click on this COM (different computers show different COMs, remember the COMs you already have on your computer).

QQ截图20211130140744.png

  • Connect the driver board to the computer with the USB cable.
  • Choose Tools > Port, and click the new COM port.

QQ截图20211130141904.png

  • Click Tools > Boards: > ESP32 Arduino > ESP32 Dev Module, and choose ESP32 Dev Module.

QQ截图20211130142717.png


  • Configure as the below options: (Partition Scheme is better to use Huge APP, PSRAM must be Enabled, otherwise the camera will flash black.)
Dev Board: "ESP32 Dev Module"
Upload Speed: "921600"
CPU Frequency: "240MHz(WiFi/BT)"
Flash Frequency: "80MHz"
Flash Mode: "QIO"
Flash Size: "4MB(32Mb)"
''' Partition Scheme: "Huge APP(3MB No OTA/1MB SPIFFS)"
PSRAM: "Enabled"'''

QQ截图20211130143434.png

  • Once the settings are complete, click Upload to upload the demo to the device.

Wavego upload03.jpg

  • If you encounter problems during the period, you need to reinstall or replace the Arduino IDE version, uninstall the Arduino IDE needs to be uninstalled cleanly, after uninstalling the software you need to manually delete all the contents of the folder C:\Users\[name]\AppData\Local\Arduino15 (you need to show the hidden files to see it) and then Reinstall.



Resource

Documents

Demo Codes

FAQ

 Answer:
It uses 2x 18650 batteries (not included), with a diameter of 18mm and a length of 65mm. The nominal voltage of a single cell is generally 3.7V, and the full charge voltage is generally 4.2V.


 Answer:
The default account for the Raspberry Pi system is "pi" and the password is "raspberry".


 Answer:
When entering a password in Linux, the input content is not printed, which means you need to type it blindly. Simply type "raspberry" on the keyboard and press Enter.


 Answer:
Open the Arduino IDE -> tools, and set PSRAM to "enable".


 Answer:
If the servo motor cannot rotate as specified in the instructions, please check if it is installed correctly. In assembly mode, the servo motor needs to be installed at a 45-degree angle with the white swing arm.


 Answer:
If an error occurs when running setup.py, please check if the source or network problem caused the download to fail. After installation, enter the Python environment in the terminal by typing "python3" and entering "import cv2" to check for error reports. If there is no error report, the installation is successful. If there is an error report, you can run setup.py multiple times or use the already installed image directly.


 Answer:
Note that the browser must be Google Chrome or Microsoft Edge. When adjusting PWM, clicking once is for fine-tuning, which is subtle. You need to click multiple times to see the change. If you still cannot adjust it, it may be due to an error in installing the servo motor. Please refer to Q5.


 Answer:
The ESP32 camera and the Raspberry Pi camera are different. The ESP32 camera is a small one, and the displayed page after the connection is 192.168.4.1, while the Raspberry Pi camera is bigger, and the displayed page after the connection is <IP>:5000.


 Answer:

First, check if the Raspberry Pi is using the serial port of the subcontroller. If it is connected to the Raspberry Pi, please disconnect it and upload the program again. If the automatic download of the program fails, please enter the download mode manually. After compiling the program, press and hold the boot button while uploading the program and release the boot button during the rst button press. If the problem cannot be solved, please return it for repair.


 Answer:

Please check the configuration you set when burning the image. For more information, please refer to the product installation tutorial on the WAVEGO Raspberry Pi Wiki page. If you still cannot burn the image successfully, please help the customer burn the image through remote login.


 Answer:
The battery life of WAVEGO depends on various factors such as usage and environment. In general, a single charge can support continuous use for 1 to 2 hours, and continuous high-intensity operation can be used for 20-30 minutes. However, the specific usage time will vary depending on usage (such as different power settings, different wavelengths) and working environment (such as temperature, and humidity).


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 AM GMT+8 (Monday to Friday)