Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

Space Robot Experimental aka SpaceREx

2.441 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>
[https://www.linux-projects.org/uv4l/installation/]<br>
<br>
Zum Verwenden die Auflösung und Qualität konfigurierenz.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 ==
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