GNU General Public License v3.0

项目介绍

NicHub/stewart-platform-esp32 是一个托管在 GitHub 上的开源项目,主要使用 G-code 编写,采用 GNU General Public License v3.0 许可证,目前获得 63 个 Star、23 次 Fork。

仓库全名
NicHub/stewart-platform-esp32
开源许可证
GNU General Public License v3.0
Star 数
63
Fork 数
23

README 摘要

STEWART PLATFORM ON ESP32 This repository is archived in the GitHub Arctic Code Vault . ABSTRACT This is an ESP32 implementation of a six-degree-of-freedom hexapod — also called Stewart Platform, Gough-Stewart Platform or Parallel manipulator. The actuators are PWM rotary servo motors and the program is written in Arduino C compiled with PlatformIO. This project is done in the frame of the P19 project at the…

完整内容见 GitHub 原始 README 或本页 。

常见问题

stewart-platform-esp32 用什么语言开发?

主要使用 G-code 编写,采用 GNU General Public License v3.0 许可证,目前有 63 个 Star。

stewart-platform-esp32 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 stewart-platform-esp32 的源码?

可以直接克隆仓库:git clone https://github.com/NicHub/stewart-platform-esp32.git;安装与运行步骤见仓库 README。

stewart-platform-esp32 最近还在维护吗?

仓库最近一次更新为 3月20日,当前没有未关闭的 Issue;Star 数为 63,可作为社区活跃度的参考。

关于

https://ouilogique.com/plateforme-de-stewart-esp32/

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
172
价值分
51
活跃状态
活跃

README

STEWART PLATFORM ON ESP32

This repository
is archived in the
GitHub Arctic Code Vault.

ABSTRACT

This is an ESP32 implementation of a six-degree-of-freedom hexapod — also called Stewart Platform, Gough-Stewart Platform or Parallel manipulator. The actuators are PWM rotary servo motors and the program is written in Arduino C compiled with PlatformIO. This project is done in the frame of the P19 project at the Microclub.

Currently the platform can be operated:

The calculation of the kinematics is performed in Hexapod_Kinematics.cpp and can be also be compiled in a desktop C++ program to cross-check calculations (i.e. without actuating the servos). I managed to compile it with g++ on macOS Mojave and macOS Monterey. See hexapod_desktop_app/hexapod_desktop_app.cpp.

HOME PAGE OF THE PROJECT

The home page is a work in progress, but the video shows what the platform can do. The original implementation used an analog joystick, but the current version uses a Wii Nunchuck.

The automatic translation in English can be read here:

https://ouilogique-com.translate.goog/posts/2019-03-27-plateforme-de-stewart-esp32/?_x_tr_sl=fr&_x_tr_tl=en&_x_tr_hl=fr&_x_tr_pto=wapp

The original version in French is here:

https://ouilogique.com/posts/2019-03-27-plateforme-de-stewart-esp32/

PREREQUISITES

  • Change the default I²C address of the PCA9685 driver from 0x40 to 0x41 by shorting the A0 jumper beside the capacitor.

  • Create a file called src/WifiSettings.h containing:
#pragma once

const char *ssid = "";            // SSID of your WiFi router.
const char *password = "";        // Password of your WiFi router.
const char *ap_ssid = "STEW32-";  // SSID of the ESP32 WiFi network in soft-AP mode (15 char max).
const char *ap_password = "";     // Password of the ESP32 WiFi network in soft-AP mode.
                                  // Must be 8 char min or empty for no password.

GEOMETRY SETTINGS

Geometry settings are defined in Hexapod_Config_1.h.

The meaning of the parameters is explained in doc/hexapod-parameters.pdf.

PARTS TO BUILD

Base plates

The two base plates are identical and the DXF file to reproduce them is here (right-click + save as): doc/hexapod-base-plate.dxf.

Top plate

The top plate is 3D-printed (right-click + save as): doc/hexapod-top-plate.stl.zip.

PARTS TO BUY

QTY PART
1 WeMos ESP32 WROOM (original Banggood link in this README now returns 404)
1 Adafruit PCA9685 16-Channel Servo I²C Driver
1 Breadboard adapter for PCA9685
1 5 V / 10 A power supply
6 Rods M3x100mm (140mm total)
6 ¹ Tower Pro MG996R servo (clone)
1 Nunchuck
1 ² Nunchuck cable extension
1 ³ Adafruit Wii Nunchuck Breakout Adapter
1 6 pin Dupont connector to connect Nunchuck to breadboard
1 Set of cable markers
6 M3×5×6 Brass insert nuts
12 Small screws to hold the motors on the base plates
6 M3×12 screw
6 M3×12 nut
1 Breadboard
some Breadboard wires
2 4.7 kΩ resistor

Notes

  • ¹ I currently use clones of the Tower Pro MG996R servos, but they are bad and I don’t recommend them. https://fr.aliexpress.com/item/32636102294.html
    I formerly used clones of the Tower Pro MG90s Servos, but they were also bad and too small for this application. https://www.banggood.com/6X-Towerpro-MG90S-Metal-Gear-RC-Micro-Servo-p-1072260.html
    In the future, I will probalbly use Parallax 900-00005 servos. It seems that these are the one used by fullmotiondynamics in their videos. https://www.parallax.com/product/900-00005
  • ² The Nunchuck cable extension is not mandatory. The idea is not to have a longer cable but rather to use the extension as an adapter between the Nunchuck and the breadboard, that is to say that it allows to leave the Nunchunk cable uncut.
  • ³ This breakout adapter is not mandatory, but it could simplify wiring. I haven’t used it myself.

WIRING

Nunchuck

The Nunchuck library uses Wire.h and standard I²C connections internaly.

Pins are seen from left to right and top to bottom looking at the Nunchuck connector.

Cut the cable extension to connect to the ESP32.

color signal ESP32 pin
white SCL IO22
NC
red GND GND
green VCC VCC
black ATT IO32 (or connect to 3.3V to force Nunchunk detection)
yellow SDA IO21

EXTERNAL LIBRARIES

The external libraries are installed automatically during the first build because they are declared under lib_deps in platformio.ini.

I²C ADDRESSES

By default, the PCA9685 driver and the Nunchuck share the same I²C address 0x40. Fortunately, the address of the PCA9685 driver can easily be changed to 0x41 by shorting the A0 jumper next to the capacitor.

Default address New address Device
0x40 0x41 PCA9685
0x70 = PCA9685 (broadcast)
0x40 = Nunchuck (IMU)
0x52 = Nunchuck (joystick)
0x68 = GY-91 (MPU9250)
0x76 = GY-91 (BMP280)

CREDITS

My sources of inspiration

Kinematics

Serial buffer for G-Code

FURTHER READINGS

评论

暂无评论