Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

Space Robot Experimental aka SpaceREx

3.557 Byte hinzugefügt, 19:23, 2. Nov. 2017
== Space Robot Experimental aka SpaceREx ==
Dieses Projekt soll das Wissen seine Mitglieder für eine allgemeine Roboterplattform bündeln.
 
Mitglieder:
[[Benutzer:Strange|Strange]]
[[Benutzer:Snow|Snow]]
 
Einige Dinge sind gesetzt:<br>
ROS, Python, [https://en.wikipedia.org/wiki/Differential_wheeled_robot Differialantrieb]<br>
Raspberry Pi
 
== Motor Steuerung ==
Da die normalen PWM-Pins mit einer Frequenz von 490 Hz arbeiten gibt der Motor im Betrieb störende Fiepstöne von sich.
Hier wird gezeigt wie man diese standard Frequenz ändern kann: [[ArduinoVariablePWMFrequenz]].
 
 
== Videostreaming ==
Eine Übersicht einiger Videostreamingmöglichkeiten für den Raspberry.
[http://reefwingrobotics.blogspot.de/2017/03/streaming-video-from-raspberry-pi-camera.html]
 
== UV4L ==
Beispiel mit gesichtserkennung [https://www.linux-projects.org/uv4l/tutorials/custom-webapp-with-face-detection/]<br>
Hier wird gezeigt wie man sich die Bibliothek installiert
[https://www.linux-projects.org/uv4l/installation/]<br>
<br>
Zum Verwenden die Auflösung und Qualität konfigurieren z.B. auf 640x480 mit einer frame rate von 16 und jpeg quality von 20.<br>
Das kann über die Oberfläche unter <b>Control Panel</b> gemacht werden, die Änderungen werden aber bei jedem Neustart zurückgesetzt.<br>
Besser ist die Konfigurationsdatei für permanente Einstellungen zu ändern.<br>
Sie befindet sich unter '' /etc/uv4l/uv4l-raspicam.conf ''.<br>
Anschließend den Service neu starten mit: '' sudo service uv4l_raspicam restart ''
 
Um den mjpeg Stream in eine Webseite einzubinden einfach<br>
''<img id="video" src="http://raspberrypi:8080/stream/video.mjpeg" width="640" height="480">''<br>
einfügen.
 
== Steuerung ==
 
Hier ein [https://jsfiddle.net/strangeoptics/e8jnqkjp/13/ JSFiddel] der Zeigt wie man aus Koordinaten eines kartesischen Koordinatensystems eine Ansteuerung für zwei Räder berechnen kann.<br>
1. Der Ursprung ist unten links. x und y der Punkt. <br>
2. Danach ist der Ursprung in die Mitte versetzt cx und cy.<br>
3. Zum Schluss in die Ansteuerung für das linke l und rechte r Rad umgerechnet.<br>
[[File:Steering_kartesian.PNG|link=https://jsfiddle.net/strangeoptics/e8jnqkjp/13/]]
 
== Schnittstellen ==
 
=== Raspberry und Arduino ===
[[RaspberryGPIOSerial]]
 
=== Raspberry und WebSite ===
WebSockets<br>
Am besten mit Python oder node.js
 
 
=== WebSite -> Raspberry -> Arduino ===
 
[[DataTransferWebRaspberryArduino]]
 
== Sound ==
Um auf dem Raspi über Python Sound abzuspielen gibt es [https://www.pygame.org/docs/ref/mixer.html pygame].
 
Vorher muss der audio output für den Kopfhöreranschluss konfiguriert werden:<br>
'' amixer cset numid=3 1 ''
 
Freie Sound Samles gibts hier: https://freesound.org/
=== pygame ===
 
pygame unterstützt keine 32-bit float WAVs. Diese müssen in signed 16-bit WAVs encodiert werden z.B. mit Audacity.
 
<pre>
import pygame
 
pygame.mixer.init(44100, -16, 1, 1024)
pygame.mixer.music.load("321967__n-audioman__sheep-bleat.wav")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
continue
</pre>
 
== Web Server ==
 
[http://www.tornadoweb.org/en/stable/ Tornado] Python Webserver.
 
=== Start/Stop Script ===
 
Der Webserver braucht ein start/stop Skript und muss während des Bootens gestarted werden.
 
[[SpaceRExStartStopScript]]
 
== Links ==
 
<b>CS235: Applied Robot Design for Non-Robot-Designers</b><br>
Videoaufzeichnungen es Standfordkurses der alle mechanischen Komponenten eines Roboters beleuchtet. Lager, Führungen, Riemen, Motoren, Rahmen, ...<br>
https://sites.google.com/site/salisburyrobotics2/home/Courses/cs235/schedule
688
Bearbeitungen