📃 Updates documentation with a guide

This commit is contained in:
Rune Harlyk
2024-05-28 18:44:47 +02:00
committed by Rune Harlyk
parent c9ccb914bf
commit 869614fedb
18 changed files with 194 additions and 312 deletions
-1
View File
@@ -1 +0,0 @@
{}
-3
View File
@@ -1,3 +0,0 @@
{
"accentColor": ""
}
-30
View File
@@ -1,30 +0,0 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}
-20
View File
@@ -1,20 +0,0 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"canvas",
"outgoing-link",
"tag-pane",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"editor-status",
"bookmarks",
"outline",
"word-count",
"file-recovery"
]
-22
View File
@@ -1,22 +0,0 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": true
}
-169
View File
@@ -1,169 +0,0 @@
{
"main": {
"id": "8b44d57b1a695470",
"type": "split",
"children": [
{
"id": "0f6870d21abbef0f",
"type": "tabs",
"children": [
{
"id": "e338073e64d4becc",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "readme.md",
"mode": "source",
"source": false
}
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "5c08c524be7411d8",
"type": "split",
"children": [
{
"id": "b39b2ecb9b6de94f",
"type": "tabs",
"children": [
{
"id": "9fb90e3ddd4ac294",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "d6029e2cd4a8ff3b",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "6d5c800258715bb2",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "8c119a814abdc419",
"type": "split",
"children": [
{
"id": "217e54d2fca6f865",
"type": "tabs",
"children": [
{
"id": "7b61ee2cb94d62bd",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "readme.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "7270cec1f614c957",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "readme.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "826b7bf946dc9374",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "d1e92da23bbd283b",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "readme.md"
}
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false
}
},
"active": "e338073e64d4becc",
"lastOpenFiles": [
"spot.md",
"Electronic connections.canvas",
"media/diagram.png",
"media/image.png",
"Getting started.md",
"Getting_started.md",
"Getting.md",
"readme.md",
"Spot.md",
"api.md",
"Simulation/Simulation.md",
"Simulation/Pasted image 20240319103157.png",
"Simulation",
"media/PIO-upload.png",
"media",
"Untitled.canvas",
"Architecture & Design principles.md"
]
}
+40
View File
@@ -0,0 +1,40 @@
# Components
Spot is comprised of a 3D printed body, some hardware and list of electronic components.
## Body
Spot is 3D printed and is a combination of different Spot Micro designs, with some minor modification on top.
The original design is developed by KDY0523.
* [robjk reinforced shoulder remix](https://www.thingiverse.com/thing:4937631)
* [Kooba SpotMicroESP32 remix](https://www.thingiverse.com/thing:4559827)
* [KDY0532 original design](https://www.thingiverse.com/thing:3445283)
The 3D prints is assembled with some additional component:
* 84x M2x8 screws + M2 nuts
* 92x M3x8 screws + M3 nuts
* 64x M3x20 screws + M3 nuts
* 12x 625ZZ ball bearings
## Electronics
These are the electronics i used for mine and can easily be switched up to suit your Spot's needs.
* ESP32 cam - Brain
* OV2640 160° - Camera
* PCA9685 - Servo board
* 12x 20kg(or higher) servo motors
* MPU6050 - Inertial measurement unit
* GY-271 - Magnetometer
* SZBK07 - 20A DC-DC Buck Converter
* LM2596 or XL4015 - DC-DC Stepdown Module
* 2x HC-SR04 - Ultrasonic Distance Sensor
* 0.96" SD1306 - OLED diplay
* ACS712 - Current sensor
* ADS1115 - 16 bit analog to digital converter
* Power button w/ led
* 4x 18650 Li-ion battery in 2P2S configuration
* Couple of resistors (10K, 47.7k, 33K)
* 4x Servo extension cables
+10
View File
@@ -0,0 +1,10 @@
# Assembly
There exist a number of great resources for the assembly of the spot micro. For this reason I refer to these, as the steps are the same for this version:
- [Michael Kubina SpotMicroESP32 assembly](https://github.com/michaelkubina/SpotMicroESP32/tree/master/assembly)
- [Spot Micro AI assembly](https://spotmicroai.readthedocs.io/en/latest/assembly/)
## Circuit diagram
![Electronics diagram](media/circuit.png "Title")
+10 -40
View File
@@ -1,4 +1,6 @@
# Getting started
# Software
The robots firmware is built using platform io using the arduino framework over ESP-IDF.
## Prerequisites
@@ -13,13 +15,13 @@ Install the following software to ensure all functionalities:
- A package manager of your choice (npm, pnpm, yarn)
- [Python](https://www.python.org/downloads/) - Used for firmware build scripts
### Project Structure
<!-- ### Project Structure
Understand the project organization through these key directories:
- [docs/](https://github.com/runeharlyk/SpotMicroESP32-Leika/tree/master/docs) - Contains all documentation
- [app/](https://github.com/runeharlyk/SpotMicroESP32-Leika/tree/master/app) - SvelteKit-based frontend
- [esp32](https://github.com/runeharlyk/SpotMicroESP32-Leika/tree/master/esp32) - Firmware for the robot
- [esp32](https://github.com/runeharlyk/SpotMicroESP32-Leika/tree/master/esp32) - Firmware for the robot -->
## Setting up PlatformIO
@@ -40,43 +42,11 @@ board_build.mcu = esp32c3
For additional boards, refer to the [official board list](https://docs.platformio.org/en/latest/boards/index.html#espressif-32).
### Factory settings
Update the `esp32/factory_setting.ini` with new wifi settings, app name and other device information.
### Build & Upload Process
Update the `platformio.ini` file for your board, then navigate to the PlatformIO tab, select your environment, click `Upload Filesystem Image` and after uploading finish, click `Upload and Monitor`. The filesystem image only has to be uploaded the first time and will override config files on the microcontroller.
Update the `platformio.ini` file for your board, then navigate to the PlatformIO tab, select your environment, click `Upload Filesystem Image` and after uploading finish, click `Upload and Monitor`. The filesystem image only has to be uploaded the first time and will override config files on the microcontroller.
When uploading new firmware the app is evaluated and if necessary will be rebuild.
## Setting up SvelteKit
### Proxy Configuration for Development
Configure the proxy settings in the `vite.config.ts` file to direct API calls to your ESP32 device. By default it used the factory MDNS address, but can be changed to the ip if preferred.
```ts
server: {
proxy: {
'/api': {
target: 'http://spot-micro.local', // Here
changeOrigin: true,
ws: true
},
'/ws': {
target: 'ws://spot-micro.local', // Here
changeOrigin: true,
ws: true
}
}
},
```
Changes require a restart of the development server.
### Start the Development Server
Use the following commands to launch the development server with Vite, enabling instant updates:
```sh
cd app
pnpm run dev
```
Access the frontend via the provided browser link.
+13
View File
@@ -0,0 +1,13 @@
# Configuration
> *Prerequisites*: The robot is assembled and has the newest firmware flashed
## Connecting to the network
If the wifi settings were configured using `esp32/factory_settings.ini` the robot will try to connect to the network.
If it fails to connect, it will host a AP with a captive portal where it's possible to configure wifi settings.
When the robot connect successfully the ip address will be printed to the serial monitor
<!-- ## Calibrating servos -->
+10
View File
@@ -0,0 +1,10 @@
# Running the spot
> *Prerequsition*: You have successfully build, flashed and configured your robot.
Navigate to `/controller`
![Controller](media/controller.png)
<!-- When the robot is in a safe position, click on rest.
This will activate the servos and put the robot in the rest position. -->
+39
View File
@@ -0,0 +1,39 @@
# Developing
> *Prerequsition*: You have successfully build, flashed and configured your robot.
## Setting up SvelteKit
### Proxy Configuration for Development
Configure the proxy settings in the `vite.config.ts` file to direct API calls to your ESP32 device. By default it used the factory MDNS address, but can be changed to the ip if preferred.
```ts
server: {
proxy: {
'/api': {
target: 'http://spot-micro.local', // Here
changeOrigin: true,
ws: true
},
'/ws': {
target: 'ws://spot-micro.local', // Here
changeOrigin: true,
ws: true
}
}
},
```
Changes require a restart of the development server.
### Start the Development Server
Use the following commands to launch the development server with Vite, enabling instant updates:
```sh
cd app
pnpm run dev
```
Access the frontend via the provided browser link.
+38
View File
@@ -0,0 +1,38 @@
# Contributing
> *Prerequsition*: You have made it through the documentation and are wondering what you can do to make the robot dogs bark even louder.
## Getting Started
1. Fork the Repository
- Click the Fork button at the top right corner to create a copy of this repository on your account.
1. Clone Your Fork
- On your GitHub fork, click the “Clone or download” button, copy the URL, and run git clone [URL] in your terminal.
1. Create a Branch
- Navigate into the repository directory on your computer.
- Create a new branch using git checkout -b your-branch-name.
## Making Changes
1. Make Your Changes
- Open the project in your editor/IDE and make your changes or additions.
1. Commit Your Changes
- After making changes, stage them using git add .
- Commit the changes with a meaningful message using git commit -m "Brief description of changes".
## Submitting Contributions
1. Push to Your Fork
- Push your branch changes to your fork with git push origin your-branch-name.
1. Create a Pull Request
- Go to the original repository on GitHub.
- Youll see a "Compare & pull request" button. Click it, review your changes, then submit your pull request with a clear description of the enhancements or fixes.
## After Submission
- Wait for the project maintainers to review your pull request. They might suggest some changes. Keep an eye on your GitHub notifications for feedback or merge information.
Thank you for contributing!
+19 -1
View File
@@ -1,22 +1,39 @@
# ABOUT SPOT MICRO
## Cameras
<!-- ## Cameras
## Hips and joints
-->
## Robot specifications
### Dimensions
| Specification | Value |
| --- | --- |
| Length | 43 cm |
| Width | 24 cm |
| Height (standing) | 22 cm |
| Height | 10 cm |
| Weight | 2 kg |
| Degrees of freedom | 12 |
### Environment
| Specification | Value |
| --- | --- |
| Ingress protection | *IP42 |
| Operating temperature | 0C to 30C |
| Max step height | 30 mm |
### Power
| Specification | Value |
| --- | --- |
| Battery capacity | 37 Wh |
| Max battery voltage | 8.4V |
| Typical runtime | 30 min |
### Sensing
| Specification | Value |
@@ -29,3 +46,4 @@
| Specification | Value |
| --- | --- |
| Wifi | 802.11 |
| Bluetooth | V4.2 BR/EDR, LE |
Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

+15 -4
View File
@@ -1,10 +1,21 @@
# Welcome to the docs
The docs a structured as obsidian notes to allow for better writing and more expressive content.
Here you will find the current documentation for the ESP32 based spot micro project, Leika.
## Table of content
## Guide
- [Robot build](robot_build.md)
- [Getting started](getting_started.md)
These are the steps it takes to get a fresh new robot up and barking.
1. [Components](1_components.md)
1. [Assembly](2_assembly.md)
1. [Software](3_software.md)
1. [Turning on for the first time](4_configuring.md)
1. [Running](5_running.md)
1. [Developing](6_developing.md)
1. [Contributing](7_contributing.md)
## About Spot
<!-- - [Kinematics](kinematics.md) (transformation matrix, mode etc)-->
- [API](api.md)
- [Robots capabilities](spot.md)
-22
View File
@@ -1,22 +0,0 @@
# Robot build
## Electronics
- ESP32 cam - Brain
- OV2640 160° - Camera
- PCA9685 - Servo board
- 12x 20kg(or higher) servo motors
- MPU6050 - Inertial measurement unit
- GY-271 - Magnetometer
- SZBK07 - 20A DC-DC Buck Converter
- LM2596 or XL4015 - DC-DC Stepdown Module
- 2x HC-SR04 - Ultrasonic Distance Sensor
- 0.96" SD1306 - OLED diplay
- ACS712 - Current sensor
- ADS1115 - 16 bit analog to digital converter
- Power button w/ led
- 4x 18650 Li-ion battery in 2P2S configuration
- Couple of resistors (10K, 47.7k, 33K)
- 4x Servo extension cables
![Electronics diagram](media/diagram.png "Title")