📃 Updates documentation with a guide
This commit is contained in:
Vendored
-1
@@ -1 +0,0 @@
|
||||
{}
|
||||
Vendored
-3
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"accentColor": ""
|
||||
}
|
||||
-30
@@ -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
|
||||
}
|
||||
Vendored
-20
@@ -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"
|
||||
]
|
||||
Vendored
-22
@@ -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
|
||||
}
|
||||
Vendored
-169
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||

|
||||
@@ -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.
|
||||
@@ -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 -->
|
||||
@@ -0,0 +1,10 @@
|
||||
# Running the spot
|
||||
|
||||
> *Prerequsition*: You have successfully build, flashed and configured your robot.
|
||||
|
||||
Navigate to `/controller`
|
||||
|
||||

|
||||
|
||||
<!-- When the robot is in a safe position, click on rest.
|
||||
This will activate the servos and put the robot in the rest position. -->
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
- You’ll 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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||

|
||||
Reference in New Issue
Block a user