Skip to content

Commit 95fa064

Browse files
committed
first
0 parents  commit 95fa064

22 files changed

+2025
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

.github/workflows/build_publish.yaml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Sample workflow for building and deploying a Nuxt site to GitHub Pages
2+
#
3+
# To get started with Nuxt see: https://nuxtjs.org/docs/get-started/installation
4+
#
5+
name: Build and publish docs to GitHub Pages
6+
7+
on:
8+
# Runs on pushes targeting the default branch
9+
push:
10+
branches: [main]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
16+
permissions:
17+
contents: read
18+
pages: write
19+
id-token: write
20+
21+
# Allow one concurrent deployment
22+
concurrency:
23+
group: "pages"
24+
cancel-in-progress: true
25+
26+
jobs:
27+
# Build job
28+
build:
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v3
33+
- name: Setup Node
34+
uses: actions/setup-node@v3
35+
with:
36+
node-version: "16"
37+
cache: ${{ steps.detect-package-manager.outputs.manager }}
38+
- name: Setup Pages
39+
uses: actions/configure-pages@v2
40+
with:
41+
# Automatically inject router.base in your Nuxt configuration file and set
42+
# target to static (https://nuxtjs.org/docs/configuration-glossary/configuration-target/).
43+
#
44+
# You may remove this line if you want to manage the configuration yourself.
45+
static_site_generator: nuxt
46+
- name: Restore cache
47+
uses: actions/cache@v3
48+
with:
49+
path: |
50+
dist
51+
.nuxt
52+
key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }}
53+
restore-keys: |
54+
${{ runner.os }}-nuxt-build-
55+
- name: Install dependencies
56+
run: npm ci
57+
- name: Static HTML export with Nuxt
58+
run: npm run docs:build
59+
- name: Upload artifact
60+
uses: actions/upload-pages-artifact@v1
61+
with:
62+
path: ./dist
63+
64+
# Deployment job
65+
deploy:
66+
environment:
67+
name: github-pages
68+
url: ${{ steps.deployment.outputs.page_url }}
69+
runs-on: ubuntu-latest
70+
needs: build
71+
steps:
72+
- name: Deploy to GitHub Pages
73+
id: deployment
74+
uses: actions/deploy-pages@v1

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
dist

docs/.DS_Store

6 KB
Binary file not shown.

docs/.vitepress/config.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export default {
2+
title: 'CoderBot Developer documentation',
3+
description: 'CoderBot Developer documentation',
4+
themeConfig: {
5+
sidebar: [
6+
{
7+
text: 'Guide',
8+
items: [
9+
{ text: 'Description', link: '/Description' },
10+
{ text: 'Getting Started', link: '/Getting_started' },
11+
{ text: 'Hardware Architecture', link: '/Hardware_Architecture' },
12+
{ text: 'Software Architecture', link: '/Software_Architecture' },
13+
{ text: 'Backend', link: '/Backend' },
14+
{ text: 'Frontend', link: '/Frontend' },
15+
]
16+
}
17+
]
18+
}
19+
}

docs/Backend.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Backend

docs/Description.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Description
2+
3+
CoderBot is an educational robot for the age of 5 - 99.
4+
5+
![CoderBot picture](./images/CoderBot_picture.jpg)
6+
7+
CoderBot is phisically a "rover" which can move on a plain surface by using the two morized wheels and a free ball caster.
8+
9+
![CoderBot chassis](./images/CoderBot_chassis.jpg)
10+
11+
CoderBot can be remotely controlled and programmed to move and interact with the environment by using sensors.
12+
13+
![CoderBot UI control](./images/CoderBot_UI_control.png)
14+
15+
The main use case for CoderBot is to enable didactical experiences based on computer programming, using a simple and visual language based on blocks.
16+
17+
![CoderBot UI program](./images/CoderBot_UI_program.png)
18+
19+
The blocks editor allows the people interacting with CoderBot to write programs with a visual, interactive drag & drop interface available in a web browser on a client computer connected to CoderBot.
20+
The program is executed directly by the CoderBot on board computer, so that CoderBot is independent from the client machine.
21+
22+
![CoderBot hardware](./images/CoderBot_hardware.jpg)
23+
24+
The hardware is mostly based on the Raspberry Pi and a "hat" which hosts motor control logic, ultrasonc sensor interface, an accelerometer/gyroscope/compass, and an atmega328 for I/O expansion.
25+
26+
See [Hardware Architecture](Hardware_Architecture.md) for a detailed description of all hardware components.
27+
28+
The CoderBot Software is based on the Linux operating system.
29+
30+
The software is normally run as a set of docker images on top of the [BalenaOS](https://balenaos.io/) OS.
31+
32+
See [Software Architecture](Software_Architecture.md) for a detailed description of all software components.

docs/Frontend.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Frontend
2+
3+
The frontend component provides the Web application client module.
4+
5+
The Web Application is a Single Web Application based on the Vue framework.
6+

docs/Getting_started.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Getting started
2+
3+
## Installation
4+

docs/Hardware_Architecture.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
link:
3+
---
4+
# Hardware Architecture
5+
6+
CoderBot is based on Raspberry Pi computer, equipped with a contorl board "hat".
7+
8+
![hardware diagram](./images/CoderBot_Hardware_Architecture.svg)
9+
10+
The Raspberry is powered by a lithium-ion powerbank and is connected to an USB microphone, a speaker via the 3.5" audio jack and to the camera module via the CSI port.
11+
12+
## Raspberry Pi
13+
14+
CoderBot has been tested with the following Raspberry Pi models:
15+
- Model B 3
16+
- Model B+ 3
17+
- Model A+ 3
18+
19+
No tests has been done with Model B 4, Compute Module 4 and Zero W 2, although they should be compatible with the software.
20+
21+
## Micro-SD card
22+
23+
The micro-sd card must have at least 8GB capacity. Class 10 cards are recommended.
24+
25+
## Camera module
26+
27+
The camera used is the [standard Raspberry Pi camera module](https://www.raspberrypi.com/documentation/accessories/camera.html) "v1" (5 megapixel). The "v2" camera can also be used, as well as special infrared versions.
28+
29+
## Control board
30+
31+
The control board contains logic to accomplish the following:
32+
- control motors (DC, PWM)
33+
- control two servos (PWM)
34+
- read encoder data from motors
35+
- control and read ultrasonic sensors
36+
- read MPU (accelerometer/gyroscope/compass) data
37+
- read/write data to the on board atmega328
38+
39+
## Microphone
40+
41+
The microphone can be any device with an USB connection.
42+
43+
## Speaker
44+
45+
The speaker is connected to the 3.5" headphones output, it must be an amplified speaker with > 1 Watt.
46+
47+
## Battery
48+
49+
The battery used is a powerbank with a nominal capacity of 10000mAh and two separate USB outputs, each with 2A nominal output current.
50+
51+
The battery must have separate outputs and a rather large capacity to sustain the peak consumption caused by starting the motors and at the same time supply 5V, 1A to the Raspberry Pi, without any interruptions.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy