Robotická stavebnice Brian

Robotická stavebnice Brian

Seznámení se stavebnicí, první kroky, návod na sestavení jednoduchého autíčka a ukázkový zdrojový kód pro robota sledujícího černou čáru.

Co je Brian?

Brian je robotická stavebnice určená pro výuku techniky, programování, automatizace a mechatroniky. Žákům umožňuje propojit mechanickou konstrukci, senzory, motory a vlastní program. Díky tomu si mohou prakticky vyzkoušet, jak funguje jednoduchý autonomní robot.

Stavebnice vychází z koncepce známých výukových robotických systémů. Umožňuje práci s motory, světelnými, dotykovými, ultrazvukovými a dalšími senzory. Programovat lze buď vizuálně v prostředí BriVis, nebo textově v jazyce Python / MicroPython.

Hlavní myšlenka: žák nepracuje jen s hotovou hračkou, ale s reálným technickým systémem. Navrhne konstrukci, zapojí senzory a motory, vytvoří program, otestuje chování robota a postupně jej ladí.

Co stavebnice obsahuje

Konstrukce

Konstrukční díly

Dílky pro stavbu podvozku, ramen, držáků, převodů a dalších mechanických částí robota.

Pohon

Motory

Velké motory slouží například pro pohon kol nebo pásů. Střední motor se hodí pro menší mechanismy, ramena nebo doplňkové pohyby.

Senzory

Senzory

Světelný/barevný senzor měří odražené světlo a barvy, dotykový senzor rozpozná stisk, ultrazvukový senzor měří vzdálenost a gyroskopický senzor sleduje natočení robota.

Řízení

Kostka Brian

Kostka Brian je „mozek“ robota. Připojují se k ní senzory, motory, USB-C kabel a microSD karta s programy.

Jak Brian funguje

Robot se skládá ze tří základních částí:

  1. Konstrukce – podvozek, držáky, převody, kola nebo pásy.
  2. Elektronika – kostka Brian, motory a senzory.
  3. Program – pravidla, podle kterých robot reaguje na okolí.

U line followeru robot čte hodnotu ze světelného/barevného senzoru. Tmavá čára odráží méně světla, světlý podklad odráží více světla. Program podle této hodnoty rozhoduje, jestli má jet rovně, nebo zatočit.

Postup: jak začít

1. Připravte kostku Brian

  • Kostku Brian nabijte pomocí USB-C kabelu.
  • Zkontrolujte, že je vložena microSD karta.
  • Zapněte kostku stiskem prostředního otočného tlačítka.
  • V menu se pohybujte otáčením kolečka a potvrzujte jeho stiskem.

2. Připojte motory a senzory

Pro ukázkové autíčko použijeme toto zapojení:

Součást Port Poznámka
Levý motor A Velký motor pro levou stranu pohonu.
Pravý motor B Velký motor pro pravou stranu pohonu.
Světelný / barevný senzor S3 Senzor směřuje dolů na podložku s černou čárou.
Poznámka: Pokud použijete jiné porty, je potřeba je upravit také ve zdrojovém kódu.

3. Postavte line follower autíčko

  1. Postavte jednoduchý podvozek se dvěma poháněnými koly nebo pásy.
  2. Na podvozek pevně upevněte kostku Brian.
  3. Levý a pravý motor zapojte do portů A a B.
  4. Světelný/barevný senzor upevněte dopředu směrem dolů.
  5. Senzor by měl být co nejblíže k podložce, aby měření neovlivňovalo okolní světlo.
  6. Na bílý papír nebo podložku připravte výraznou černou čáru.

Pro přesnou stavbu lze využít obrázkový návod „Brian Line Follower“, který je vložený níže v části s příručkami.

4. Připravte programovací prostředí

Začátečníkům doporučujeme začít v prostředí BriVis, které umožňuje skládat program z bloků podobně jako ve Scratchi. Pokročilejší žáci mohou použít Python ve Visual Studio Code.

  • Otevřete BriVis: https://brivis.voltavian.com
  • Vytvořte nový program.
  • Sestavte bloky pro senzory a motory.
  • Program stáhněte nebo nahrajte do úložiště kostky Brian.
  • Na kostce Brian otevřete microSD kartu, vyberte program a spusťte jej.

Line follower: princip programu

Program používá jednoduché pravidlo:

  • Pokud senzor vidí tmavou plochu / černou čáru, robot jede rovně.
  • Pokud senzor vidí světlou plochu, robot začne zatáčet a hledá čáru.

Hodnota 50 je prahová hodnota. V praxi ji můžete upravit podle konkrétní podložky, osvětlení a vzdálenosti senzoru od země. Pokud robot reaguje špatně, změřte si hodnotu na bílé ploše a na černé čáře a prahovou hodnotu nastavte přibližně doprostřed.

Ladění: Když robot zatáčí na opačnou stranu, prohoďte motory v portech A/B, případně upravte rychlosti motorů v části programu run_at_speed(...).

Zdrojový kód: jednoduché line follower autíčko

Následující program je ukázková verze pro zapojení: levý motor A, pravý motor B, světelný/barevný senzor S3.

# Line follower pro stavebnici Brian
# Zapojení:
# - levý motor: port A
# - pravý motor: port B
# - světelný / barevný senzor: port S3

from time import sleep

from brian.sensors.EV3 import ColorSensorEV3
from brian.sensors import SensorPort, SensorIsNotReadyError
from brian.motors import EV3LargeMotor
from brian.motors import MotorPort


# Prahová hodnota mezi světlou plochou a černou čárou.
# Podle konkrétní podložky ji můžete upravit.
THRESHOLD = 50

# Rychlosti motorů ve stupních za sekundu.
FORWARD_SPEED = 300
SEARCH_SPEED = 100


# Inicializace senzoru a motorů
light_sensor = ColorSensorEV3(SensorPort.S3)

motor_l = EV3LargeMotor(MotorPort.A)
motor_r = EV3LargeMotor(MotorPort.B)

motor_l.wait_until_ready()
motor_r.wait_until_ready()


def read_light():
    """
    Bezpečné čtení hodnoty odraženého světla.
    Pokud senzor ještě není připravený, program počká a zkusí čtení znovu.
    """
    while True:
        try:
            light_sensor.wait_until_ready()
            return light_sensor.reflected_value()
        except SensorIsNotReadyError:
            sleep(0.02)


while True:
    value = read_light()

    if value < THRESHOLD:
        # Senzor vidí tmavou čáru – robot jede rovně.
        motor_l.run_at_speed(FORWARD_SPEED)
        motor_r.run_at_speed(FORWARD_SPEED)
    else:
        # Senzor vidí světlou plochu – robot zatáčí a hledá čáru.
        motor_l.run_at_speed(0)
        motor_r.run_at_speed(SEARCH_SPEED)

    sleep(0.01)

Co si žáci na úloze vyzkouší

Mechanická konstrukce

Žáci řeší stabilitu podvozku, umístění kostky, vedení kabelů a správné uchycení senzoru.

Práce se senzory

Pochopí, že senzor neposílá „pravdu“, ale naměřenou hodnotu, kterou je nutné správně interpretovat.

Programování

Vyzkouší si podmínku, nekonečný cyklus, proměnné, čtení senzoru a řízení rychlosti motorů.

Ladění systému

Učí se testovat, hledat chyby, měnit prahové hodnoty a sledovat, jak úprava programu ovlivní chování robota.

Časté problémy a řešení

Problém Možná příčina Řešení
Robot nejede. Motory nejsou připojené, kostka není nabitá nebo program neběží. Zkontrolujte baterii, porty A/B a spuštění programu z microSD karty.
Robot reaguje opačně. Motory jsou prohozené nebo se točí opačným směrem. Prohoďte porty motorů nebo upravte rychlosti v programu.
Robot nevidí černou čáru. Senzor je příliš vysoko, čára je málo kontrastní nebo je špatná prahová hodnota. Přibližte senzor k podložce a upravte hodnotu THRESHOLD.
Robot cuká nebo se pohybuje nepravidelně. Program používá jednoduché řízení bez plynulé regulace. Vyzkoušejte plynulejší variantu s P regulací podle příručky Brian.

Další krok: plynulejší sledování čáry

Základní program používá jednoduché rozhodování podle jedné prahové hodnoty. Pro plynulejší jízdu lze později použít takzvanou P regulaci. Robot si změří aktuální hodnotu senzoru, porovná ji s cílovou hodnotou mezi černou a bílou a podle velikosti odchylky upraví rychlost levého a pravého motoru.

Žáci tak mohou přirozeně přejít od jednoduché podmínky if / else k základům regulace, automatizace a mechatroniky.

Využití ve výuce

Stavebnice Brian je vhodná pro úvod do programování, automatizace, elektrotechniky, CAD, mechatroniky a robotiky. Žáci na jednoduchém příkladu vidí celý technický proces: návrh, konstrukci, zapojení, programování, testování i ladění.

Práce s robotem navíc podporuje týmovou spolupráci. Jeden žák může řešit konstrukci, druhý zapojení, další program a společně pak hledají, proč se robot nechová podle očekávání. Právě tato fáze testování a oprav je pro technické vzdělávání velmi důležitá.