lehrkraefte:blc:informatik:glf20:robotik:mgr:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf20:robotik:mgr:start [2021/03/25 23:09]
michael.greminger
lehrkraefte:blc:informatik:glf20:robotik:mgr:start [2021/03/26 12:09] (current)
michael.greminger
Line 1: Line 1:
 ====== Robotik ====== ====== Robotik ======
  
-{{lehrkraefte:blc:informatik:glf20:robotik:mgr:introduction.pdf}}+{{lehrkraefte:blc:informatik:glf20:robotik:mgr:presentation.pdf}}
  
 ===== Begriffe, Definitionen ===== ===== Begriffe, Definitionen =====
Line 33: Line 33:
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
 <code python> <code python>
-kommt bald...+from simrobot import *   
 +RobotContext.enableTrace(True) 
 +robot = LegoRobot() 
 +gear = Gear(); 
 +robot.addPart(gear); 
 + 
 +gear.forward() 
 +for i in range(3): 
 +    gear.rightArc(0.15) 
 +    Tools.delay(4000) 
 +    gear.right(1100) 
 +robot.exit() 
 </code>   </code>  
 </hidden> </hidden>
Line 42: Line 53:
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
 <code python> <code python>
-kommt bald...+from simrobot import *   
 +RobotContext.enableTrace(True) 
 +robot = LegoRobot() 
 +gear = Gear(); 
 +robot.addPart(gear); 
 + 
 +radius = 0.05 
 +gear.forward() 
 +while not robot.isEscapeHit(): 
 +    gear.rightArc(radius) 
 +    Tools.delay(2000) 
 +    radius = radius * 1.1 
 +robot.exit()
 </code>   </code>  
 </hidden> </hidden>
Line 71: Line 94:
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
 <code python> <code python>
-kommt bald...+from simrobot import * 
 +from random import randrange 
 +RobotContext.useBackground("sprites/border.gif"
 +RobotContext.setStartPosition(350 + randrange(50), 250) 
 +RobotContext.setStartDirection(135+randrange(90)) 
 +   
 +robot = LegoRobot() 
 +gear = Gear() 
 +robot.addPart(gear) 
 +ls = LightSensor(SensorPort.S3) 
 +robot.addPart(ls) 
 +ls.activate(True) 
 +gear.forward() 
 + 
 +while not robot.isEscapeHit(): 
 +   v = ls.getValue() 
 +   if v > 500: 
 +      break 
 +   Tools.delay(100)      
 +robot.exit()
 </code>   </code>  
 </hidden> </hidden>
Line 86: Line 128:
 Mit welchen Werten ist der Roboter am schnellsten am Ziel? Mit welchen Werten ist der Roboter am schnellsten am Ziel?
 Mit welchen Werten folgt der Roboter möglichst exakt der Linie? Mit welchen Werten folgt der Roboter möglichst exakt der Linie?
 +<hidden Lösungsvorschlag>
 +<code python>
 +kommt bald...
 +</code>  
 +</hidden>
 +
 +===== Ultraschallsensor =====
 +Mit dem Ultraschallsensor ist es möglich, die Entfernung von Hindernissen zu messen. Der Sensor muss auch zum Roboter hinzugefügt werden und zwar mit folgenden Zeilen
 +<code python>
 +us = UltrasonicSensor(SensorPort.S1)
 +robot.addPart(us)
 +</code>  
 +Ausgelesen wird der Sensor mit 
 +<code python>
 +distance = us.getDistance()
 +</code>  
 +==== Aufgaben ====
 +=== Aufgabe 5 ===
 +Wir wollen die Aufgabe 4 so erweitern, dass wir ein Hindernis einbauen. Der Roboter soll wieder so lange der Linie folgen, bis der Benutzer <ESC> drückt oder die Distanz zum Hindernis kleiner als 30 ist. Wir simulieren das Hindernis mit folgenden Zeilen
 +<code python >  
 +mesh_hbar = [[200, 10], [-200, 10], [-200, -10], [200, -10]]
 +RobotContext.useTarget("sprites/bar0.gif", mesh_hbar, 250, 100)
 +</code>  
 +Somit beginnt unser Lösung mit folgenden Zeilen
 +<code python >  
 +from simrobot import *
 +RobotContext.useBackground("sprites/border.gif")
 +RobotContext.setStartPosition(250, 490)
 +mesh_hbar = [[200, 10], [-200, 10], [-200, -10], [200, -10]]
 +RobotContext.useTarget("sprites/bar0.gif", mesh_hbar, 250, 100)
 +</code>  
 +
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
 <code python> <code python>
  • lehrkraefte/blc/informatik/glf20/robotik/mgr/start.1616710168.txt.gz
  • Last modified: 2021/03/25 23:09
  • by michael.greminger