C++Guns – RoboBlog blogging the bot

07.02.2010

Qt OpenCV Tutorials

Filed under: Allgemein — Thomas @ 15:02

Hallo und herzlich Willkommen zu meiner kleinen Sammlung an Tutorials rund um Qt und OpenCV.

Es werden hier in kürze mehrere Anleitungen vorgestellt wie man seine eigenen kleinen Programme in Qt schreibt und Bildverarbeitung mit OpenCV betreibt.

Am Ende entsteht eine Art Roboterinterface für Amee, welches einem ermöglichen soll den Roboter zu steuern aber auch ihm bei seiner autonomen Tätigkeit zu überwachen.

Dabei befindet sich ein Netbook auf dem Roboter selbst der die Kamerabilder auswertet, den Roboter steuert und alle benötigten Daten zur Kontrolle über WLAN an einen entfernten Rechner schickt.

vorläufiger Inhalt:

1 Installation von OpenCv
2 Ein Bild mit OpenCV anzeigen
3 Ein Kamerabild mit OpenCV anzeigen
3a Opencv Bild mit einem Bild binarisieren
4 Qt installieren
5 Ein Bild mit Qt anzeigen
....
10 Ein Kamerabild mit OpenCV auslesen und mit Qt anzeigen
...
Netzwerk mit Qt, Threads, Bildverarbeitungsalgorithmen, Steuerung des Roboters ueber USB/RS232

29.11.2009

Multimediatasten

Filed under: Allgemein — Tags: — Thomas @ 18:11

Jedesmal vergesse ich es wie das mit den Multimediatasten ging...

apt-get install xbindkeys

Als User:
xbindkeys -k ausführen, Mute Taste drücken, heraus kommt Kram den man in die ~/.xbindkeysrc schreibt. Sollte ~/.xbindkeysrc nicht existieren, mit xbindkeys --defaults > ~/.xbindkeysrc neu erstellen. Aber nicht vergessen die nicht gebrauchten Sachen zu löschen. Sonst startet mit strg+f eine Konsole und nicht die FF Suche.

Beispiel was in die ~/.xbindkeysrc geschrieben werden muss:
"amixer -c 0 set Master toggle"
m:0x0 + c:160

"amixer -c 0 set Master 1-"
m:0x0 + c:174

"amixer -c 0 set Master 1+"
m:0x0 + c:176

Und dann die Datei neu laden: xbindkeys -f ~/.xbindkeysrc

xmodmap -pke gibt ein paar Infos aus.
Keycodes kann man auch mit xev finden.
In /usr/share/X11/XKeysymDB stehen auch noch ein paar Sachen.

22.11.2009

Port weiterleiten (iptables)

Filed under: Allgemein — Thomas @ 19:11

Um einfach mal einen Port weiterzuleiten langen folgende drei Zeilen:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A PREROUTING -t nat -p tcp -i eth0 -s 0/0 --dport 8089 -j DNAT --to-destination 192.168.1.111:22

Also ein eingehender Verbindungsversuch auf 192.168.0.101:8089 wird auf 192.168.1.111:22 weitergereicht. Es hat ja nur 2h gedauert das heraus zu finden.

04.11.2009

Datei gelöscht... Ups

Filed under: Allgemein — Thomas @ 22:11

sshfs localhost:/home/kater/qemu/ /home/sshfs/

cp /home/kater/qemu/debian.img /home/sshfs/

kater@ktux:/home/sshfs$ ls -lh
total 2.9G
-rw-r--r-- 1 kater users 0 Nov 4 22:02 debian.img

Das ist irgendwie eine seltsame Art eine Datei zu löschen. narf

Siehe auch HIER für eine PROC Lösung.

02.09.2009

Erfahrungsbericht über Sparlampen LED etc.

Filed under: Allgemein — Thomas @ 10:09

Nun, das Thema habe ich in einem Anderen Forum schon durchgekaut, drum kann ich hier ein paar Sachen nennen die sich herauskristalisiert haben.

// edit oh das ist ganz schön viel geworden. Seht es als ein Erfahnungsbericht der letzten 2 Jahre. Am besten ich pack das auch mal auf mein Blog.

Links habe ich leider keine, aber ich bin mitlerweile auch davon überzeugt, dass eine Sparlampe von Produktion bis Entsorgung mehr Energie braucht als eine Glühlampe. Wirklich sehr schade, denn ich zähle mich zu den Öko Freaks.

Die Lebensdauer ist auch sehr ernüchternt. 1000h Glühlampe 6000h Sparlampe. Aus Erfahrungsberichten von Freunden und aus eigener Erfahrung (es gibt auch jede Menge Tests davon im Inet aber den glaube ich sowieso nicht) kann ich sagen, dass es deutlich unter 6000h sind.

Bei den billigen stimmt das wirklich. Bei den teueren, also 5Eur das Stück, naja manche halten wirklich ewig andere nicht.

Übrigends fasst eine Sparlampe nicht am Glas an wenn ihr sie reinschraubt. Das gibt Microrisse und das Gas entweicht dann. Das Licht wird erst dunkler, dann rötlich und zum Schluss zündet sie garnicht mehr.

Jetzte ein paar Worte zur Lichtfarbe. Es gibt Glühlampenlicht, warmes Licht und kaltes Licht.
Glühlampenlicht hat einen großen Rotanteil. Es macht mollig warm und man kann wunderbar damit vor dem TV einpennen.
Kaltes Licht aus einer Sparlampe oder LED hat einen größen Blauanteil, es eigenet sich daher gut als Arbeitsbeleuchtung da von davon nicht so müde wird. Das ist auch schon ewigkeiten bewiesen, fragt mich nicht wie der Fachbegriff dafür ist.

Die meisten Menschen die ich kenne finden kaltes Licht eklig und setzen sich lieber zum Arbeiten ins "Rotlicht". Wahrscheinlich bin ich deshalt der einzige in meiner Familie der stduiert, da alle andern immer so schnell müde werden ;)

Nun gibt es noch das warme Licht von Leuchtstofflampen. Nun, die meisten wissen nicht mal, dass es das gibt. Leider habe ich so eine Lampe leider noch nie in Wirklichkeit gesehen.

Nun etwas zu LEDs. Vor einem Jahr noch wollte ich alles mit LEDs bestücken. Das war ein großer Reinfall. Aber es liegt nicht an der Technik der LED, die ist super.
Also zur Lichtfarbe der LED. Hier unterscheide ich auch wieder nur zwischen warmen und kalten Licht. Das kalte Licht einer LED empfinde ich noch als etwas blauer als die einer Sparlampe. Warmlicht LEDs habe ich leider keine.

Weisses Licht ist ein Gemisch aus allen Farben. Mit LEDs kann man nun nicht alle Farben erzeugen, so hat das resultierende weisse Licht im Farbspektrum Lücken in denen es dunkler ist. Das ist das, was dieses LED Licht so komisch macht. Im Studium habe ich mir mal das Licht einer weissen LED unter dem Spektrometer (oder wie das Ding heisst) angeschaut und da sieht es ehr kontinuierlich aus und hat keine Lücken. Jedenfalls wird sich das in der Zukunft nicht mehr ändern IMO, da die Forschung ehr Richtung OLED geht.

OLEDs sind LEDs aus organischem Material. Und davon wird es bestimmt genug geben. Der Grundstoff für LEDs ist in 10 Jahren alle. (googelt Nach den Materialien und wieviel es davon noch gibt wenn ihr es nicht glaubt).

Aber heute gibt es noch massig LEDs zu kaufen. Und zwar für den Bastler als auch schon fertig in die Glühlampenform eingebaut.

Es gibt LEDs für alle möglichen Fassungen und in allen möglichen Formen.
Ich habe mir LEDs für das 12V Halogen Seilsystem gekauft.
Und zwar 3 Lampen mit ja 36LEDs für 5 Eur. Die waren nach einem halben Jahr kaputt. Erst haben einzelne LEDs angefangen zu blinken und dann waren sie aus.
So, nun wird es etwas kompliziert. Leute die nichts mit Elektrotechnik anzufangen wissen mal weghöhren.
Es befinden sich immer 3LEDs in Reihe mit einem Vorwiderstand an einem Kondensator mit Gleichrichter. Die Frage ist, warum blinken einzelne 3er LED Gruppen wärend andere aus sind und wieder andere leuchten. Die Gruppen wechseln sich auch ab bis am Schluss alle aus sind. Der Vorgang dauert einige Woche.
Ich habe die Lampe also mit eine grossen Hammer Fachgerecht in einer Tüte geöffnet und die LEDs einzeln untersucht. Wenn man eine Gruppe einzeln mit Spannung versorgt oder einzelne LEDs, dann leuchten sie. Gleichrichter und Kondensator waren auch ok.
Erstmal stand ich zimlich auf dem Schlauch bis ich mich an ein Experiment erinnerte das ich mit 10 Jahren gemacht habe als es zu Weihnachten ein Elektronik Baukasten gab (der von Kosmos :D ). Das Experiment besagt, wenn man 2 unterschiedliche LEDs parallel schaltet, leuchtet entweder die eine oder die andere da sie unterschiedliche Durchlassspannungen haben.

Und genau das ist mit den LEDs in der Lampe passiert. Ihre Durchlassspannung hat sie verändern. Weitere Experimente aus meiner Jungend zeigten, dass wenn man eine LED mit mehr Power betreibt, sie irgendwann nicht mehr Leuchtet im normalen Betrieb. Legt man aber noch mehr Spannung an, leuchtet sie wieder. Bis es irgendwann BUMM macht und Raucht.

Also haben die LEDs in der Lampe Überspannung bekommen und sind so ganz langsam gegrillt worden. Die Überspannung kann nur aus dem Netz kommen und wurde dann durch den Konventionellen Traffo an die Lampen weitergegeben. Hätten wir einen elektronisch geregelten Traffo wäre das nicht passiert. Es stand aber auch nichts auf der Verpackung.

Also: Die LEDs sind durch falsche Benutzung kaputt gegangen. Hätte man eine Entsprechende Schutzschaltung eingebaut, würden die LEDs ihre 30000h oder mehr leuchten.

Ich habe noch weiter zwei Halogen LED Strahler gekauft. Sie haben jeweils eine Lumiled mit 1W. Einmal kaltes Licht mit einen verstellbaren Reflektor und einmal warmes Licht. Jede kostet 20Eur und das ist Hoffnungslos zu teuer. Nun, die Lampen leuchten heute noch. Ich weiss nicht ob sie eine Schutzschaltugen haben oder ob ihnen Spannungsspitzen nichts ausmachen. Ich hoffe ehr auf die Schutzschaltung da man auch Lumileds sehr leucht tod machen kann.
Für eine Raumbeleuchtung sind sie nicht geeignet, da sie einfach zu dunkel sind. Und das liegt wiederrum nicht an der LED sondern an den Hersteller. Die müssten mehr Lumileds in ein Gehäuse bauen. Dann kann man damit auch etwas ausleuchten. Momentan sind die Teile für die Preise nur als Spots zu benutzen.
So und das ganze jetzte in Zahlen. Eine 3 Watt LED macht so hell wie eine 20W Halogenlampe. Das habe ich mit einem Luxmeter nachgemessen, nur leider die Zahlen nicht mehr. Und für ein etwas grösseres Wohnzimmer braucht man schon eine große Hand voll 20W Lampen. Und drei mal soviel LED Lampen. 1000eur für Leuchtmittel ;) Naja, ich übertreibe.

Eigenbau hilft hier übrigends. Da kostet die 1W Lumiled nur noch 5Eur und die 3W Variante kaum etwas mehr. Das man nun kein Schickes Gehäuse hat ist der Preis, aber man weiss genau was man hat, kann die LEDs vor Überspannung schützen. Und wenn man noch etwas mehr Geld ausgibt, kauft man sich rote, grüne und blaue Lampen und verbindet sie mit einem Dimmer. Dann kann man wunderbare Farbeffekte erzielen. Und zwar nicht für eine einzelne Lampe sondern fürs ganze Zimmer :)
Natürlich gibt es das auch fertig zu kaufen, für 150Eur im Baumark mit Fernbedienung.

Fotos von meiner Konstruktion gibts leider nicht und ich kann auch keine machen da schon wieder zerlegt.

Zum Schluss möchte ich noch etwas zur Beleuchtungshelligkeit sagen. Nun, alle die ich kenne Sitzen in dunklen Löchern. Z.B. meine Schwester wenn sie Abends auf der Couch sitzt und Zeitung liest, da hat sie etwa 65 Lux. Nun eine Couch ist kein Arbeitsplatz wo man 1000-2000Lux haben sollte. Aber selbst im Flur sollte man schon 100Lux haben. Aber bei so 65Lux ist es so schwer für die Augen zu lesen. Das Problem ist aber, dass man den gesammten Raum erhellen müsste damit der Kontrast von dunklen zu hellen Ecken nicht so stark ist. Nun, ich möchte die Stromrechnung nicht bezahlen...

23.08.2009

Online Xmega Baud Rate Calculator

Filed under: Allgemein — Thomas @ 13:08

Nun gibt es auch einen Baudarten Berechner für die Xmega Mikrocontroller von Atmel. Er sieht vllt. optisch nicht super gut aus, aber dafür, dass ich nur ein bisschen HTML und PHP zusammengeworfen habe, funktioniert er ganz gut.

Hier ist noch der Link: http://avrcalc.elektronik-projekt.de/

20.07.2009

save opengl image with opencv

Filed under: Allgemein — Thomas @ 22:07

Hier meine Lösung um opengl Bilder mit opencv abzuspeichern um darauf später ein Video zu machen. Momentan wird noch jedes einzelne Bild abgespeichert und daraus mit mencoder ein Video erzeugt, vllt. geht das ja bald mit gstreamer einfacher.

Ich hätte auch eine andere Lib nutzen können die Bilder speichern kann, aber da ich opencv sowieso in der Bildverarbeitung brauche bietet sich das an.

Der Code ist vllt. nicht so ganz sauber, aber es funktioniert. Die Datei liegt im Anhang.

saveopenglimageswithopencvcpp.zip

19.06.2009

Das Oszilloskope ist da!

Filed under: Allgemein — Thomas @ 23:06

Nach 2 Monate und 8 Tage hab ich mein Oszi nun endlich bekommen. Nie wieder eBay, was da Teilweise herum läuft ist echt der Hammer. Habe dann auch gleich mein Account gekündigt.

Aber nun zum Oszi. Es ist ein Dumont 4511 50MHz mit einer Tüte voll Kabel und wahrscheinlich ist es in etwa so alt wie ich +5 Jahre. Aber es funktioniert und hat bunte Knöpfchen, mehr braucht es nicht. :)

Oszi
Tüte mit Kabel

09.06.2009

Volle Festplatte - Wo ist der Platz hin?

Filed under: Allgemein — Thomas @ 09:06

*selfnote*

Wenn die Festplatte mal wieder voll ist, frage man sich, wo denn die größten Datein liegen. MIt diesem Befehl kann man recht einfach feststelen, welches das größte Verzeichnis is.

du --max-depth=1 -h /

Eine Tiefe von 2 wäre nicht so toll, dann zeigt er auch die kleinen Unterverzeichnisse an. Besser ist es, man geht in das größte Verzeichnis rein und schaut dort nacht.

07.06.2009

Werobot

Filed under: Allgemein — Thomas @ 22:06

werobot [1] - Weekend Robotics [1] bietet Schaltpläne, Software Dokumentation von verschiedenen privaten Roboter Projekten.

Ich werde versuchen den Bau unseres Roboters an den dort vorgestellten Fahrplan zu orientieren und gleichzeitig eine kompatible Schnittstelle zu anderen Robotern offen zu halten.

ATMega8, 8MHz
12B Bleiakku

IO Map
PB0 unsused
PB1 H-Bridge, Motor 1 side A (PWM/OC1A)
PB2 H-Bridge, Motor 2 side A (PWM/OC1B)
PB3 ISP, MOSI
PB4 ISP, MISO
PB5 ISP, SCK
PB6 XTAL1
PB7 unused (XTAL2)

PC0 unused
PC1 unused
PC2 unused
PC3 unused
PC4 unused (I²C, SDA)
PC5 unused (I²C, SDL)
PC6 RESET

PD0 Serial RxD
PD1 Serial TxD
PD2 Encoder 1 Channel A
PD3 Encoder 1 Channel B
PD4 Encoder 2 Channel A
PD5 Encoder 2 Channel B
PD6 H-Bridge, Motor 1 side B
PD7 H-Bridge, Motor 2 side B

Part 1.1 Build a chassis with two motors, caster, battery, and some space for sensors and electronics

Part 1.2 Build or buy the controller board

[1] http://werobot.sf.net/

« Newer PostsOlder Posts »

Powered by WordPress