Pavouk Hiwonder
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Re: Pavouk Hiwonder
Já to psal jen z hlavy a na rychlo, takže jestli tam budou někde drobné problémy (jako závorky a středníky a tak), tak se omlouvám a ber hlavně jako ideu, jak to udělat a dolaď si to po svém
Re: Pavouk Hiwonder
Hlavní myšlenka je rozmotat ten tvůj postup
tady je NĚKDE
POKUD nějaká podmínka
.. TAK vstaň
.. JINAK chvíli čekej a pak skoč někam.
když ses dostal sem, tak cosi dalšího
na postup
DOKUD jiná podmínka
.. DĚLEJ čekání
vstaň
cosi dalšího
tady je NĚKDE
POKUD nějaká podmínka
.. TAK vstaň
.. JINAK chvíli čekej a pak skoč někam.
když ses dostal sem, tak cosi dalšího
na postup
DOKUD jiná podmínka
.. DĚLEJ čekání
vstaň
cosi dalšího
Re: Pavouk Hiwonder
Jsem rád, že jsi se dal cestou smyček a funkcí. Seznam se s příkazy continue a break pro smyčky a return pro funkce.
continue; - pokud program ve smyčce narazí na příkaz continue; tak udělá to, že zbytek smyčky už neprovede a vrátí se na její začátek.
break; - pokud program ve smyčce narazí na příkaz break; tak udělá to, že zbytek smyčky už neprovede a skočí na první příkaz za konec smyčky.
return [proměnná]; - pokud program během funkce narazí na return, ukončí funkci a vrátí na další příkaz po volání funkce, pokud je zadaná i proměnná tak výsledek funkce je uložen do návratové proměnné funkce
continue; - pokud program ve smyčce narazí na příkaz continue; tak udělá to, že zbytek smyčky už neprovede a vrátí se na její začátek.
break; - pokud program ve smyčce narazí na příkaz break; tak udělá to, že zbytek smyčky už neprovede a skočí na první příkaz za konec smyčky.
return [proměnná]; - pokud program během funkce narazí na return, ukončí funkci a vrátí na další příkaz po volání funkce, pokud je zadaná i proměnná tak výsledek funkce je uložen do návratové proměnné funkce
Re: Pavouk Hiwonder
Díky moc kluci za reakce (především gilhad a kiRRow, ostatní jsou stejně asi mrtví jenom jim zůstala ruka na compu a mačká tlačítko a tak se neustále zvyšuje zobrazení a sledovanost )
Zpět k pavoučkovi. Vy jste borci na programování, nevím jestli se věnujete i mechanice. Ten pavouček není žádný drobek a já při programování musím myslet i na další faktory - silná serva, gyroskop a jeho zrychlení, osvětlení, zvuky a hromadu dalších. Po úpravě jedné podmínky nebo smyčky nebo nějaké další prkotiny musím pavoučka (4,5 kg čisté váhy ) nějak opět otestovat jestli ta úprava funguje/nefunguje. Rozjezd a start a další prvotní funkce - 20A záběr na serva a pořádný záběr na baterku. Pokud toto udělám 20x za večer .... téměř každý druhý den ji dobíjím
gilhad píše "hlavně rozmotat můj postup"
a to je ten problém - neustále projekt vylepšuji a po odladění jedné věci tam chci okamžitě vrazit další funkci a nebo ji nějak vylepšit .
Musím myslet na velké rozměry pavoučka, rychle běhá a je docela silný takže nezná překážku. Mám zjištěné, že nějaký jednoduchý program prostě nefunguje, i když by měl. Proto jsou tam např. vložené delay "uklidnění". Fakt to není jednoduché.
AI inteligenci se zatím pokouším "nahradit" vložením náhody při současné kontrole vnějších vlivů (světlo, zvuk, PIR atd). U psa nebo kočky taky nikdy nevíte co udělá
Zpět k pavoučkovi. Vy jste borci na programování, nevím jestli se věnujete i mechanice. Ten pavouček není žádný drobek a já při programování musím myslet i na další faktory - silná serva, gyroskop a jeho zrychlení, osvětlení, zvuky a hromadu dalších. Po úpravě jedné podmínky nebo smyčky nebo nějaké další prkotiny musím pavoučka (4,5 kg čisté váhy ) nějak opět otestovat jestli ta úprava funguje/nefunguje. Rozjezd a start a další prvotní funkce - 20A záběr na serva a pořádný záběr na baterku. Pokud toto udělám 20x za večer .... téměř každý druhý den ji dobíjím
gilhad píše "hlavně rozmotat můj postup"
a to je ten problém - neustále projekt vylepšuji a po odladění jedné věci tam chci okamžitě vrazit další funkci a nebo ji nějak vylepšit .
Musím myslet na velké rozměry pavoučka, rychle běhá a je docela silný takže nezná překážku. Mám zjištěné, že nějaký jednoduchý program prostě nefunguje, i když by měl. Proto jsou tam např. vložené delay "uklidnění". Fakt to není jednoduché.
AI inteligenci se zatím pokouším "nahradit" vložením náhody při současné kontrole vnějších vlivů (světlo, zvuk, PIR atd). U psa nebo kočky taky nikdy nevíte co udělá
Re: Pavouk Hiwonder
no další jednoduchý nádech inteligence mu dá to, že si bude umět pamatovat (nemyslím mapování prostoru, ale třeba jen posledních pár akcí, co dělal a jak dopadl) ... nebo mu dovolíš mít náladu ... když bude opatrný bude chodit třeba pomalu a častěji zkoumat prostor ... jak ho naštveš, tak se rozběhne
myslím že hodně inspirace bys mohl najít v chování umělého zvířátka v obyčejném tamagoči
... aby nám tady za pár let nezačli běhat replikátoři
myslím že hodně inspirace bys mohl najít v chování umělého zvířátka v obyčejném tamagoči
... aby nám tady za pár let nezačli běhat replikátoři
Re: Pavouk Hiwonder
jo, to už mě taky napadlo. "prostor" jsem se pokoušel zmapovat počtem kroků např. 5 kroků vpřed, otočka vlevo o 180° a zpět 5 kroků. Samozřejmě to nefunguje. Nožky sem tam proklouznou, sem tam se zadrhne o koberec apod, ale snahu to mělo
Dnes mi to nějak nemyslí, na upravené kódy od gilhad se pořádně podívám až zítra.
Dnes mi to nějak nemyslí, na upravené kódy od gilhad se pořádně podívám až zítra.
Re: Pavouk Hiwonder
tak se probírám tím kódem od gilhad. V prvé řadě tam ve while .... chybí závorka:
Zdá se že to bude fungovat. Nejvíc mě štve pomalý náběh PIR senzoru. Ten než se "zahřeje" tak to trvá i minutu a mezitím mi tam dělá signálama pěkný bordel. Pak už to funguje pěkně.
Kód: Vybrat vše
while ( not ( ( (digitalRead(11) == HIGH) or (cekani > 800 ) or (random(100) == 1) ) and (naklon == 0 )) ) {
OLED (); // výpis na oled displej
cekani = cekani + 1; // počítadlo čekání v PIR
test_naklonu(); //kontrola náklonu pomocí gyroskopu pro další průchod smyčkou
} // konec while
// povstání a lehnutí
Re: Pavouk Hiwonder
S tím tamagoči jsi mě zaskočil, úplně jsem na tu hračku zapoměl. Pokusil jsem se někde najít jejich algoritmus vyhodnocování podnětů. Možná je to jen jednoduché skládání podmínek. Zaujalo mě proč je "životnost" jen nějaký omezený počet dní. Resetovat? Koupit nový ? Pokud by byl algoritmus univerzální tak nemusí být omezený časem jen by asi bylo náročnější vytvářet nové reakce -např puberta jinak by se to dál nerozvíjelo a jenom se krmil a ošetřoval atd.kiRRow píše: ↑06 pro 2024, 18:43no další jednoduchý nádech inteligence mu dá to, že si bude umět pamatovat (nemyslím mapování prostoru, ale třeba jen posledních pár akcí, co dělal a jak dopadl) ... nebo mu dovolíš mít náladu ... když bude opatrný bude chodit třeba pomalu a častěji zkoumat prostor ... jak ho naštveš, tak se rozběhne
myslím že hodně inspirace bys mohl najít v chování umělého zvířátka v obyčejném tamagoči
... aby nám tady za pár let nezačli běhat replikátoři
Ale nápad to není špatný !
Re: Pavouk Hiwonder
Tak pokud je smysl té hračky simulovat starání se o mazlíčka, tak k tomu bohužel i patří i to, že ať se staráš sebelépe, vždy ti nakonec umře věkem.
Další model simulování nějaké té inteligence bys mohl třeba najít u návštěvníků zábavného parku u hry Roller Coaster Tycoon 2. Rozhodují se na základě statů (nálada, hlad, žízeň ... ), ale i dle vlivu prostředí (prší, zima, svítí slunce). Mají také své vrozené vlastnosti, které ovlivňuji jejich rozhodování (míra odolnosti, touha po adrenalinu atd)
I když to vypadá složitě, tak ty rozhodovací algorytmy jsou lehké. Složitost je v jejich mazanosti a vzájemném propojení. Např, pokud narazím do zdi, tak se mi zhorší nálada, pokud ale narazím do zdi a mám ještě k tomu hlad, tak se mi nálada zhoršuje daleko rychleji. Pokud narážím moc často, zhoršuje se mi rychleji a rychleji. Pokud jsem dlouho nenarazil, trochu se mi nálada zlepší, když nemám hlad, tak se mi zlepší více.
Osobnost, zase můžeš napsat nějak takhle, když mám špatnou náladu a jsem vznětlivý, tak je mnohem větší šance, že se dostanu do útočného módu, než když jsem trpělivý pavouček.
Ten program pak spíše vypadá potom jako rovnice z manuálu pro výpočty hry typu dračí doupě.
Další model simulování nějaké té inteligence bys mohl třeba najít u návštěvníků zábavného parku u hry Roller Coaster Tycoon 2. Rozhodují se na základě statů (nálada, hlad, žízeň ... ), ale i dle vlivu prostředí (prší, zima, svítí slunce). Mají také své vrozené vlastnosti, které ovlivňuji jejich rozhodování (míra odolnosti, touha po adrenalinu atd)
I když to vypadá složitě, tak ty rozhodovací algorytmy jsou lehké. Složitost je v jejich mazanosti a vzájemném propojení. Např, pokud narazím do zdi, tak se mi zhorší nálada, pokud ale narazím do zdi a mám ještě k tomu hlad, tak se mi nálada zhoršuje daleko rychleji. Pokud narážím moc často, zhoršuje se mi rychleji a rychleji. Pokud jsem dlouho nenarazil, trochu se mi nálada zlepší, když nemám hlad, tak se mi zlepší více.
Osobnost, zase můžeš napsat nějak takhle, když mám špatnou náladu a jsem vznětlivý, tak je mnohem větší šance, že se dostanu do útočného módu, než když jsem trpělivý pavouček.
Ten program pak spíše vypadá potom jako rovnice z manuálu pro výpočty hry typu dračí doupě.
Re: Pavouk Hiwonder
Díky kirRRow, ale bohužel žádné PC hry nehraji, mám dojem že je to jen přenesení myšlenek do virtuálního světa ale žádné praktické využití pro normální reálný svět. Takže za mě ztracený čas. Ale je to jen můj názor, ztratit čas se dá i jinýma kravinama a kolikrát jsou daleko horší než ty hry.
Ovšem, jako inspirace je to k zamyšlení. Bylo by zajímavé vědět jak postupují vývojáři těchto her. Určitě jsou to borci a chtěl bych "vidět do jejich hlavy" .
Ovšem, jako inspirace je to k zamyšlení. Bylo by zajímavé vědět jak postupují vývojáři těchto her. Určitě jsou to borci a chtěl bych "vidět do jejich hlavy" .
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host