WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

3D Umgebung (live)

 

Fat_Tony
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 29.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2009, 18:30     Titel: 3D Umgebung (live)
  Antworten mit Zitat      
Guten Tag zusammen,
ich plane im Moment einen recht simplen 3D-Umgebungsscanner.

Zum Grundprinzip:
Ich habe vor einen Entfernungssensor (Ultraschal oder Infrarot oder etwas in der Richtung) auf einer in 2 Richtungen beweglichen (Rechts/Links , Oben/Unten) und von einem MikroController gesteuerten Arm zu befestigen.
Der Mikrocontroller soll nun die Entfernung messen und sie anhand von Winkel und Neigung in eine Position umrechnen. Diese Position soll nun über zB RS232 an den PC gesandt werden wo sie in Matlab in ein 3D-Diagram als Pixel eingetragen werden soll.
Anschließend fährt der Arm einen Schritt weiter und wiederholt den Vorgang.
So in etwa soll es dann einmal aussehen, natürlich in wesentlich kleiner und mit einer schlechteren Auflösung:
Bild

Jetzt zu meiner Frage, wie realisier ich das am besten in Matlab ?
Am liebsten wäre es mir wenn das ganze live geschehen würde.
Ich hatte auch schon dran gedacht die Werte erst einmal zwischen zu speichern ( zB in einer Exceltabelle) und sie anschließend Printen zu lassen.

Hab in Matlab bislang nur in Zusammenhang mit Regelungstechnik Erfahrung sammeln können.
Kenne mich daher nur wenig bis gar nicht mit dem Senden und empfangen von Daten aus oder mit dem erstellen einer 3D Umgebung.

Wäre euch für eure Hilfe sehr dankbar.

Gruß Dennis.
Private Nachricht senden Benutzer-Profile anzeigen


Fat_Tony
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 29.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2009, 12:00     Titel:
  Antworten mit Zitat      
Mittlerweile bin ich meinem Ziel schon etwas näher gekommen.
Matlab empfängt die Koordinaten und zeichnet sie auch in Diagramm ein (im Moment noch nur 6 Punkte).
Hier mal mein m-File :
Code:
%% Empfagen
delete(instrfindall);

global out

ser_connect = serial('COM1',...
                     'Baudrate', 9600,...
                     'Parity', 'none',...
                     'Databits', 8,...
                     'StopBits', 1);
ser_connect.Flowcontrol = 'hardware';        %handshaking aktiviert                          
ser_connect.ReadAsyncMode = 'manual';        %asynchrone Datenübermittlung
ser_connect.BytesAvailableFcnCount = 20;     %
ser_connect.BytesAvailableFcnMode = 'byte';  %Es wird eine BytesAvailableFcnMode erzeugt, wenn bestimmte Anzahl an bytes
                                             %verfügbar sind
get(ser_connect) ;                           %der Port wird automatisch konfiguriert
fopen(ser_connect);                          %verbindet den seriellen Port mit dem Device

k = 0;

while k < 6
   
out = fscanf(ser_connect);                
A = eval(out);

x = A(1,1);
y = A(1,2);
z = A(1,3);

% disp(x);
% disp(y);
% disp(z);

plot3 (y,x,z,'.','MarkerSize',10)

hold on

k = k+1;

end

fclose(ser_connect);
delete(ser_connect);
clear ser_connect;


Jedoch wird das Diagramm immer erst nach durchlauf der while-schleife ausgegeben.
Es muss doch möglich sein das schon nach dem ersten plot3() das Diagramm geöffnet wird?

Ein weiteres Problem ist das Manchmal noch Daten im OutputBuffer liegen.
Wie kann ich den denn vorweg einmal löschen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.12.2009, 19:52     Titel:
  Antworten mit Zitat      
Hallo,

zum Diagramm: probier mal DRAWNOW nach dem plot3-Befehl.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Fat_Tony
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 29.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2009, 17:35     Titel:
  Antworten mit Zitat      
Ja das funktioniert Smile
Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.