Line Follower simples

Para os mais especializados em mecânica e electrónica em LEGO.
Responder
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4335
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Line Follower simples

Mensagem por CyberX »

Imagem

Isto nasceu há 2 anos para ser um "saco de porrada" para o sumo robot do AVCampos e ficou esquecido numa caixa desde então.
Decidi dar-lhe um propósito mais condigno com uma modificação ultra-rápida, sem quaisquer modificações no hardware apenas adaptando muito ligeiramente o código para "line follower" que há 4 anos usei para ensaiar uma versão muito muito inicial do Pybricks no Robot Inventor hub

https://github.com/orgs/pybricks/discussions/149

o facto de praticamente não ter de alterar o código (e o que alterei foi essencialmente por ter mudado de hub, de RI para Technic) mostra o quão fiável é usar uma plataforma de desenvolvimento sólida e fiável como o Pybricks. Se estivesse a usar uma App da LEGO, passados 4 anos, tinha de reinstalar a App, chafurdar no file system do telemóvel antigo para extrair o programa antigo e introduzi-lo no novo para depois descobrir serem versões incompatíveis - sim, é uma crítica à LEGO.

o código:

Código: Selecionar todos

from pybricks.hubs import TechnicHub
from pybricks.parameters import Port, Color, Direction, Button
from pybricks.pupdevices import Motor, ColorDistanceSensor
from pybricks.tools import wait

hub = TechnicHub()
mL = Motor(Port.A, Direction.COUNTERCLOCKWISE)
mR = Motor(Port.B)
s = ColorDistanceSensor(Port.D)

SPEED = 50
TIME = 1
THRESHOLD = 10
KP = 2.5

hub.system.set_stop_button(None)
while not Button.CENTER in hub.buttons.pressed():
    pass

while True:
    v = s.reflection()
    print(v)
    steering = (v - THRESHOLD) * KP
    mR.dc(SPEED + steering)
    mL.dc(SPEED - steering)
a variável THRESHOLD foi ajustada aqui no pavilhão dos Leões de Porto Salvo, tive de a baixar bastante para o robot "apanhar" a linha do tapete de papel do NXT

a variável SPEED também foi reduzida substancialmente para evitar uma versão fast and furious e permitir a coexistência com outros line followers (mas provavelmente ainda terei de a diminuir mais)

Video fresquinho:
Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Avatar do Utilizador
CyberX
Sócio
Sócio
Mensagens: 4335
Registado: 10 mar 2014, 20:09
Localização: Mira Sintra
Contacto:

Re: Line Follower simples

Mensagem por CyberX »

Não há fome de line followers que não dê em fartura

Jorge Pereira
«De génio, criança e louco... porquê só 1 pouco?»
Responder