robotica ms 10 lego 1

Upload: maru-pineda-valdez

Post on 17-Feb-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Robotica Ms 10 Lego 1

    1/39

    Robtica

    Prof. Reinaldo Bianchi

    Centro Universitrio da FEI2007

  • 7/23/2019 Robotica Ms 10 Lego 1

    2/39

    10a. Aula

  • 7/23/2019 Robotica Ms 10 Lego 1

    3/39

    Objetivos desta aula

    Programao real de !m ro"# m$vel. Breve introd!o a %rogramao &'C %ara

    ro"#s (E)*. Res!ltado es%erado+

    , Ro"# seg!idor de %ista reta ao final da a!la.

    Baseado em+,-!la do %rofessor Pa!lo antos.

    , /Programming (ego Ro"ots1 de ar3 *vermars.

  • 7/23/2019 Robotica Ms 10 Lego 1

    4/39

    O rob a ser usado

    4r5s sensores+, 6 e so de l!8

    9E&*R:(I);4!e9E&*R:4*UC;!e acionam os sensores eat!adores do ro"#.

    , Permitem ligar e desligar os motores1aD!star a %ot5ncia dos mesmos.

    , Permitem definir os sensores !sados e ler

    os valores dos mesmos. Usados em conD!nto com os comandos

    de controle de fl!o.

  • 7/23/2019 Robotica Ms 10 Lego 1

    14/39

    E!tradas e Sa/das

    4odo controle do ro"# = reali8ado so"re entradas e sa@das.

    *U4:-1 *U4:B e *U4:C+, o as sa@das de controle do ro"#.

    E&*R:61 E&*R:2 E

    E&*R:+, o as entradas de sensores do ro"#.

  • 7/23/2019 Robotica Ms 10 Lego 1

    15/39

    Co#a!dos de co!trole do #otor

    OnFwd(OUT_A);

    , Inicia a sa@da -

    , e !m motor estiver conectado a %orta -1 ele serligado no sentido direto com mima velocidade.

    On"#(OUT_A$OUT_C);

    , Reverte as sa@das - e C.

    , e eistirem motores ligados a estas sa@das1 elessero acionados no sentido reverso com mimavelocidade.

  • 7/23/2019 Robotica Ms 10 Lego 1

    16/39

    Co#a!dos de co!trole do #otor

    O&&(OUT_A$OUT_C);

    , ?esliga os motores.

    *t+owr(&or,a).,- fora = !m nmero inteiro entre 0 e 7+

    G 7 = o mais r%ido.

    G 0 o mais lento1 mas ainda com movimento.

  • 7/23/2019 Robotica Ms 10 Lego 1

    17/39

    Co#a!do $ait'

    * comando Hait fa8 com >!e a tarefa%are %or !m determinado tem%o1 dado

    em cent=simos de seg!ndos. Wait(400); &ote >!e as sa@das so mantidas no

    mesmo estado %elo tem%o em >!e aes%era d!rar.

  • 7/23/2019 Robotica Ms 10 Lego 1

    18/39

    e2i!i!do u# se!sor

    Para definir !m sensor = necessrioes%ecificar a %orta e o ti%o do sensor+

    - *t*nsor(*E.*O"_*E.*O"_TOUC1);G ?efine !m sensor de to>!e na %orta 2.

    - *t*nsor(*E.*O"_2*E.*O"_L31T);

    G ?efine !m sensor de l!8 na %orta 6.

    Para !sar o sensor+, Use o nome da %orta como varivel+- *E.*O"_55 2

  • 7/23/2019 Robotica Ms 10 Lego 1

    19/39

    Se!sor de to)ue

    Usado %ara detectarto>!es o! "arreiras.

    Retorna+, 0 se a"erto

    , 6 se %ressionado.

    * sensor maissim%les %oss@vel

  • 7/23/2019 Robotica Ms 10 Lego 1

    20/39

    Ee#,lo se!sor de to)ue

    -nda at= "ater em algo e o sensor deto>!e for %ressionado+

    taskmain()

    { *t*nsor(*E.*O"_2*E.*O"_TOUC1);

    OnFwd(OUT_A$OUT_C);

    until(*E.*O"_255 2);

    O&&(OUT_A$OUT_C);

  • 7/23/2019 Robotica Ms 10 Lego 1

    21/39

    Se!sor de lu

    Usado %ara coresem o"Detos1 no chao

    e distncias. Retorna+

    , 0 m@nimo.

    , 0 mimo.

    &a %rtica+, J 0 = %reto

    , K 0 = "ranco

  • 7/23/2019 Robotica Ms 10 Lego 1

    22/39

    Co#a!dos de co!trole de 2luo.

    &'C %oss!i comandos de controle de fl!oig!ais as ling!agens %rocedimentais

    convencionais1 como ling!agem C o! Pascal+, if... else, Hhile

    , do ... Hhile

    , re%eat ... !ntil, e o!tras.

  • 7/23/2019 Robotica Ms 10 Lego 1

    23/39

    $re,eat'

    taskmain()

    {

    repeat(4)

    {

    OnFwd(OUT_A$OUT_C);

    Wait(6O7E_T36E);

    On"#(OUT_C);

    Wait(TU"._T36E);

    O&&(OUT_A$OUT_C);

  • 7/23/2019 Robotica Ms 10 Lego 1

    24/39

    $do ... 4ile'intmo#_tim t!rn_tim tota_tim;

    taskmain()

    {

    tota_tim 5 0;

    do

    {

    mo#_tim 5 "andom(200); t!rn_tim 5 "andom(200);

    OnFwd(OUT_A$OUT_C);

    Wait(mo#_tim);

    On"#(OUT_C);

    Wait(t!rn_tim);

    tota_tim $5 mo#_tim; tota_tim $5 t!rn_tim;

    while(tota_tim 8 000);

    O&&(OUT_A$OUT_C);

  • 7/23/2019 Robotica Ms 10 Lego 1

    25/39

    $4ile' e $i25else'

    9d&in 6O7E_T36E 200

    9d&in TU"._T36E :

    taskmain()

    {

    while(true){

    OnFwd(OUT_A$OUT_C);

    Wait(6O7E_T36E);

    if("andom(2) 55 0){

    On"#(OUT_C);

    else{

    On"#(OUT_A); Wait(TU"._T36E);

    A!da e "ira aleatoria#e!te ,ara es)uerda ou direita

  • 7/23/2019 Robotica Ms 10 Lego 1

    26/39

    6u!78o ra!do#

    - f!no random 9< gera !m nmeroaleat$rio entre 0 e o nmero %assado

    como %armetro da f!no+, "andom(

  • 7/23/2019 Robotica Ms 10 Lego 1

    27/39

    O,eradores

    *%eradores relacionais+, M M1 J1 JM1 K 1 KM

    , AM 9diferente< *%eradores Booleanos+

    , NN 9conD!no l$gicae#,lates

  • 7/23/2019 Robotica Ms 10 Lego 1

    34/39

    Aviso+ !8o ,erca seu te#,o?

    C*PI(E E ?EPURE EUPR*)R-- -&4E ?E 4E4T(*

    &* R*BVAA Caso contrrio1 voc5 s$ desco"rir os

    erros de%ois de !m "om tem%o...

    -tra%alha a todos...

  • 7/23/2019 Robotica Ms 10 Lego 1

    35/39

    >are2a da aula de 4oje

    Fa8er o ro"# andar em linha reta1seg!indo a %ista1 corrigindo os

    event!ais desvios. ?ividir a t!rma em e>!i%es de 2 al!nosA

    , Cada d!%la deve fornecer !m nome %ara a

    s!a e>!i%e.

  • 7/23/2019 Robotica Ms 10 Lego 1

    36/39

    =ista usada.

    -o final do c!rso 9W a!las!i%e>!e fi8er o traDeto a seg!ir no menor

    tem%o ser a cam%eA

  • 7/23/2019 Robotica Ms 10 Lego 1

    37/39

    Ee#,lo b-sico

    Eem%lo de ro"# >!e anda at= m!dar a cor dese! sensor9d&in T1"E*1OL' 40

    taskmain()

    {

    *t*nsor(*E.*O"_*E.*O"_L31T);

    OnFwd(OUT_A$OUT_C);

    while(true)

    {

    if(*E.*O"_> T1"E*1OL')

    {

    On"#(OUT_C); until(*E.*O"_85 T1"E*1OL');

    OnFwd(OUT_A$OUT_C);

  • 7/23/2019 Robotica Ms 10 Lego 1

    38/39

    Co!clus8o

    * Controle de ro"#s reais no = tocom%licado.

    Usem material das a!las de controle9a!la Q< e das a!las de ro"$tica m$vel.

    ?ific!ldade+

    , Ro"# no = sim%lesmente diferencial1 mas%oss!i desli8amento.

    , *!tros ti%os de ro"#s nas %r$imas a!las.

  • 7/23/2019 Robotica Ms 10 Lego 1

    39/39

    6i#