C++Guns – RoboBlog blogging the bot

04.05.2011

partDBQTclient

Filed under: Allgemein — Thomas @ 16:05

partDB ist eine Bauteilbibliothek
http://code.google.com/p/part-db/
http://www.grautier.com/grautier/index.php?/archives/77-Part-DB-V0.1.4RC5.html

Ich habe beschlossen einen Client auf Qt Basis zu schreiben der mit dem Webinterface und Datenbank kompatibel ist, so dass man beide parallel nutzen kann. Die neuste Version kann vom SVN gezogen werden
https://sourceforge.net/projects/partdbqtclient/
svn co https://partdbqtclient.svn.sourceforge.net/svnroot/partdbqtclient partdbqtclient

Hier einige Bilder

Hauptfenster

Hauptfenster

Edit Fenster

Edit Fenster

Widerstandsrechner

Widerstandsrechner

DB Export Fenster

DB Export Fenster

Connect Fenster

Connect Fenster

Statistik

Statistik

27.04.2011

katerFEMpresenter

Filed under: Allgemein — Thomas @ 12:04

Hab mir ein Programm geschrieben welches die FEM Netze anzeigen kann, die wir auf der Arbeit benutzen.

Eckdaten:
-geschrieben in C++. Für GUI QT. Für die Netze eine eigene Lib
-beliebig viele Netze in eigenem Fenster ladbar
-stufenlos zoomen
-Ausschnittsweise zoomen
-scrollen
-unterschiedliche colorierungen.
-tiefencolorierung
-"goto" funktion fuer elmente und nodes
-screenshot
-render elment und node nummer
-recent file list

Hier ein paar Bilder:

Hauptfenster

Hauptfenster

color elements

color elements

color nodes

color nodes

color depth

color depth

graph

graph


more content coming soon

25.04.2011

Libre/ Open Office

Filed under: Allgemein — Thomas @ 12:04

Es ist nicht möglich in Libre/ Open Office ein Graph mit X Error Bars zu plotten. Haben die nie implementiert. Das steht seit mindestens 2005 auf ihrer Liste
http://openoffice.org/bugzilla/show_bug.cgi?id=42946
Wir leben im 21. Jahrhundert und ich hab jetzt ne halbe Stunde meines Leben verschwendet herauszufinden das es nicht geht. Und da schauen mich die Leute an warum ich sowas komisches wie gnuplot/latex nutze. Einmal in die Fresse hauen bitte.

19.04.2011

Portal Cake

Filed under: Allgemein — Thomas @ 13:04

Happy Birthday to me :P

portalcake

04.04.2011

Etwas über C, Assember und Performance

Filed under: Allgemein — Tags: , — Thomas @ 21:04

Angenommen, ihr habt folgenden Code

int main()
{

  int i = 0;
  for(; i < 255; i++)
  {
    if(i != 10)
      printf("a");
    else
      printf("b");
  }

  return 0;
}

Angenommen, man ändert if(i != 10) zu if(i == 10). Läuft der Code schneller? Bei diesem Beispiel: Nein.

Ich habe mir den erzeugten ASM Code ausgeben lassen (--save-temps) und die Anzahl der Vergleiche und Sprünge verglichen. Beide male jeweils zwei. Schaltet man nun die Compileroptimierung ein (-O3), ändert sich der Code gewaltig. Es gibt nun ein Vergleich und ein Sprung für den Fall wenn die Variable i gleich 10 ist und zwei Vergleiche und ein Sprung wenn sie ungleich 10 ist. Ändert man den Code nun entsprechend, bleibt das Ergebnis gleich.

Wer es nicht glaub kann ja gern selbst den ASM Code sich anschauen ;) Das gilt aber nur für exakt dieses Beispiel. Schaltet man nun irgendwelche andere Optimierungen ein, oder benutzt Arrays statt der Laufvariable i, sieht alles wieder anders aus.

Interessant wäre es mal selbst Assembler Code zu schreiben der diese Aufgabe mit möglichst wenig Vergleiche und Sprünge in der Summe über die gesamte Laufzeit bewältigt.

02.04.2011

Radioaktivitätsmessnetz

Filed under: Allgemein — Thomas @ 21:04

Gugst du hier
http://odlinfo.bfs.de/

Aktor - rebuild

Filed under: Allgemein — Tags: — Thomas @ 21:04

Der letzte Aufbau war schon ganz gut, aber nicht perfekt. Z.B. ist die obere Platte zu kurz. Wir haben sie länger gemacht, so dass sie an zwei Stellen mit Klettband an der Hand fixiert werden kann. Einmal vor und einmal hinter dem Daumen. Allerdings ist sie schon fast zu lang geworden. Sie stört am Handgelenk und and den ersten Gelenken der Finger.

Das Klettband muss etwas schräg montiert werden. Und allgemein sollte man die Platte an die Form der Hand anpassen.

Die Befestigung der Servomotoren ist jetzt auch einfacher. Es sollte sogar noch Platz für ein dritten Motor da sein. Und vllt. noch eine dicke LED. Dann kann man den Datenhandschuh gleich als Taschenlampe benutzen :) Ich hab mir auch schon eine ausgesucht. Spannungsregler und Temperaturüberwachung ist gleich alles mit drauf auf der Platine. Dazu noch eine Linse mit 7° oder 15°.

Irgendwann muss da noch ein Servocontroller drauf. Und eine 5V Spannugsversorgung. 6 Servos ziehen ja schon ordentlich viel Strom. Aber wo das alles Platz finden soll, kann ich noch nicht sagen.

datenhandschuh_aktor3

18.03.2011

Firefox: Neuer Tab nebem dem aktuelle öffnen

Filed under: Allgemein — Thomas @ 16:03

Seit der Neuinstallation öffnet sich ein neuer Tag nicht neben dem aktuelle, sondern ganz am Ende der Leiste. Finde das ziemlich umständlich den neuen Tab dann erst suchen zu müssen. Also habe ich eben in about:config mal geschaut und folgende Option gefunden:

browser.tabs.insertRelatedAfterCurrent

einfach auf "true" schalten schon geht es :)

12.03.2011

Mechanische Finger

Filed under: Allgemein — Tags: — Thomas @ 20:03

Hier ist der nächste Prototyp vom Aktor. Haben wir in etwa 10h entworfen und zusammen geschraubt. Der Servo scheint stark genug zu sein. Die Hebelarme müssen anscheinend auch so lange sein. Die Servohalterung ist so schon ganz gut, allerdings muss die Aluplatte länger sein, damit sie richtig mit der Hand verbunden werden kann.
Und die Halterung am Finger ist noch zu locker. Da habe ich aber noch ein paar Optionen offen.

Am Wochenende gehts weiter, erstmal wieder den Baumarkt plündern :) Und morgen Schrumpfschlauch kaufen. Conrad konnte leider nicht wie gewünscht liefern.

datenhandschuh_aktor3_small

Servocontroller mit GUI

Filed under: Allgemein — Tags: , , — Thomas @ 02:03

So, nun habe ich in Qt ein Programm geschrieben, mit dem ich alle 8 Servos ueber USB/Serielle fernsteuern kann.

servocontrollerGUI

Momentan sieht der Datenhandschuh Aktor so aus. Da fehlt nur etwas Fantasie :D

servo-hand

« Newer PostsOlder Posts »

Powered by WordPress