Rotary Motion - Test Aufbaute
Ziel des ersten Test Aufbaus war es, den weißen Indikator präzise zu drehen. Dazu wurde eine simple 90°-Übersetzung verwendet. Jedoch konnte man es durch das Getriebe erstmal nicht Präzise drehen.
Dieses Problem lösen wir software-technisch:
import color as col
from ..gsgr.enums import Attachment
from ..gsgr.movement import run_attachment
import motor
import time
from ..gsgr.config import cfg
display_as = "P"
color = col.RED
def run():
run_attachment(Attachment.FRONT_RIGHT, -300, 0.5, stall=True) #1. gegen eine Blockade drehen
run_attachment(Attachment.FRONT_RIGHT, 300, 60, stall=True, when_i_say_duration_i_mean_degrees=True) #2. Wieder positionieren
run_attachment(Attachment.FRONT_RIGHT, 500, 90, stall=True, when_i_say_duration_i_mean_degrees=True) #3. erste Bewegung
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 500, 180, stall=True, when_i_say_duration_i_mean_degrees=True)
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 300, -45, stall=True, when_i_say_duration_i_mean_degrees=True) #4. Kompensation des Richtungswechels
run_attachment(Attachment.FRONT_RIGHT, 500, -90, stall=True, when_i_say_duration_i_mean_degrees=True) #5. dritte Bewegung
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 500, -90, stall=True, when_i_say_duration_i_mean_degrees=True)
- Um die Zähne des Getriebecontainer (18947) und des Getriebezahnrads (35185) an einander zu drehen
- Um die Zähne des Getriebecontainer (18947) und des Getriebezahnrads (35185) auf die andere Seite an einander zu drehen
- Bewegung auf erste Position
- Bei Richtungswechsel muss um 45 Grad gedreht werden, um die Zähne des Getriebecontainer (18947) und des Getriebezahnrads (35185) auf die andere Seite an einander zu drehen
- Bewegung auf dritte Position
Das Problem kann man auch hardware-technisch lösen:
import color as col
from ..gsgr.enums import Attachment
from ..gsgr.movement import run_attachment
import motor
import time
from ..gsgr.config import cfg
display_as = "P"
color = col.RED
def run():
run_attachment(Attachment.FRONT_RIGHT, -300, 0.5, stall=True)
run_attachment(Attachment.FRONT_RIGHT, 300, 90, stall=True, when_i_say_duration_i_mean_degrees=True)
run_attachment(Attachment.FRONT_RIGHT, 100, 90, stall=True, when_i_say_duration_i_mean_degrees=True)
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 1000, 180, stall=True, when_i_say_duration_i_mean_degrees=True)
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 1000, -100, stall=True, when_i_say_duration_i_mean_degrees=True)
time.sleep(1)
run_attachment(Attachment.FRONT_RIGHT, 1000, -90, stall=True, when_i_say_duration_i_mean_degrees=True)
Es muss nicht mehr der Richtungswechsel einkalkuliert werden, da durch die Spannung des Gummis die Zähne des Getriebecontainer (18947) und des Getriebezahnrads (35185) schon an einander gedrückt werden.