HuskyLens. Aprenentatge per codi
HuskyLens. Aprenentatge per codi
funcions d'aprenentatge en husky.py
def learn (id_num=1) # activa mode d'aprenentatge. Li passes un ID
learn(1) (per exemple) i aquell objecte/cara queda guardat amb ID=1
1) posar mode cara:
ok = husky.set_algorithm(husky.ALGO_FACE)
2) aprendre ID=1
ok2 = husky.learn(1)
tenir present que l'aprenentatge per codi no és persistent, s'hauria de fer cada cop que es reinicii el robot. potser millor fer-ho des de la huskylens.
def forget()
# oblida el que ha après per l’algorisme actual
a test.py:
ok = husky.set_algorithm(husky.ALGO_FACE)
ok2 = husky.forget()
Aprenentatge per software
En rebre XGO:C
posa la HuskyLens en FACE Recognition, fa forget() (neteja aprenentatges) i aprèn 2 cares guardant-les com ID 1 i ID 2.
(Ho fa guiant-te amb la pantalla: “1” i “2”, i espera que hi hagi una cara detectada abans de fer learn().)
En rebre XGO:D
entra en mode “seguiment per cares”:
camina quan veu ID 1 i s’atura quan veu ID 2.
(També pots parar amb XGO:STOP en qualsevol moment.)
Nota important (pràctica): a HuskyLens, el learn() acostuma a aprendre “el que està detectant / seleccionant”. Amb el teu husky.py, el que farem és: esperar detecció (block) i llavors enviar learn(id). Això acostuma a funcionar bé.
XGO:C → aprenentatge HuskyLens (2 cares)
XGO:D → caminar amb cara 1 / parar amb cara 2
# Funcions HuskyLens provades a test.py
def aprendre_2_cares():
xgo.set_algorithm (xgo.FACE) # posa la HuskyLens en FACE Recognition
display.show('1') # ajuda visual
while xgo.get_block() is None:
sleep(100)
xgo.learn(1) # apren i associa ID1 a l'aprés
music.pitch(1000, 500)
display.show('2') # ajuda visual
while xgo.get_block() is None:
sleep(100)
xgo.learn(2) # apren i associa ID2 a l'aprés
music.pitch(1000, 500)
display.clear()
def caminar_amb_1_i_parar_amb_2():
xgo.set_algorithm(xgo.FACE)
while True:
blk = xgo.get_block()
if blk:
if blk["id"] == 1:
xgo.caminar(0xA5)
elif blk["id"] == 2:
xgo.stop()
return
sleep(100)