Beachten Sie, dass ich den Entfernungssensor "UTM-30LX" von Hokuyo Electric mit Python verschoben habe.
Ich fragte mich, ob URG mit Python funktionieren würde, und als ich danach suchte, fand ich eine gute Bibliothek, also versuchte ich es.
Quellcode vorerst
Test_LRF_v1.py
import pyurg
import matplotlib.pyplot as plt
import time
def draw():
urg = pyurg.Urg()
urg.set_urg('COM5')
plt.ion()
axis = plt.gca()
while True:
status = urg.request_me(0,1080,num = 1)
urg.check_status(status)
dist, intensity, timestamp = urg.get_distance_and_intensity()
x,y = urg.convert_to_x_y(dist)
plt.plot(x,y)
plt.draw()
axis.clear()
time.sleep(0.01)
if __name__=="__main__":
draw()
Zeigen Sie es vorerst einfach an, und von dort aus wird nichts Besonderes getan.
import pyurg
import matplotlib.pyplot as plt
import time
Bibliotheksimport. Pyurg (um URG zu verwenden) matplotlib (auf Grafik zeichnen) Zeit zu schlafen)
def draw():
urg = pyurg.Urg()
urg.set_urg('COM5')
plt.ion()
axis = plt.gca()
while True:
status = urg.request_me(0,1080,num = 1)
urg.check_status(status)
dist, intensity, timestamp = urg.get_distance_and_intensity()
x,y = urg.convert_to_x_y(dist)
plt.plot(x,y)
plt.draw()
axis.clear()
time.sleep(0.01)
urg ist mit COM5 verbunden. Rufen Sie den interaktiven Modus mit plt.ion () auf.
status = urg.request_me(0,1080,num = 1) Fordern Sie eine Messanforderung an, um im ME-Modus zu drängen. (In diesem Fall messen Sie die Schritte 0-1080 einmal.)
urg.get_distance_and_intensity() Erhalten Sie die Daten unter urg.convert_to_x_y(dist) Konvertieren Sie in x, y Daten mit.
Wenn Sie danach zeichnen und zeichnen, wird das Diagramm angezeigt.
Da mit while eine Endlosschleife erstellt wird, kann diese beim Aktualisieren der Daten in chronologischer Reihenfolge angezeigt werden.
Es funktioniert so.
Recommended Posts