From 16a3609f9fd0df4036afc885e17548fd1d78d120 Mon Sep 17 00:00:00 2001 From: Konstantin Lampalzer Date: Sun, 9 Jan 2022 18:41:17 +0100 Subject: [PATCH] Update documentation --- _sources/lib/Odom.rst.txt | 50 ++++++ _sources/lib/Robot.rst.txt | 11 ++ genindex.html | 84 +++++++++- index.html | 16 +- lib/Api.html | 4 +- lib/Aruco.html | 4 +- lib/Display.html | 4 +- lib/Encoder.html | 48 +++++- lib/IRSensor.html | 4 +- lib/Linefollower.html | 4 +- lib/Logging.html | 4 +- lib/Motor.html | 8 +- lib/Odom.html | 329 +++++++++++++++++++++++++++++++++++++ lib/QC.html | 12 +- lib/Robot.html | 278 +++++++++++++++++++++++++++++++ lib/Servo.html | 8 +- lib/Vision.html | 4 +- objects.inv | Bin 918 -> 1135 bytes other/usage.html | 4 +- search.html | 4 +- searchindex.js | 2 +- 21 files changed, 854 insertions(+), 28 deletions(-) create mode 100644 _sources/lib/Odom.rst.txt create mode 100644 _sources/lib/Robot.rst.txt create mode 100644 lib/Odom.html create mode 100644 lib/Robot.html diff --git a/_sources/lib/Odom.rst.txt b/_sources/lib/Odom.rst.txt new file mode 100644 index 0000000..b448509 --- /dev/null +++ b/_sources/lib/Odom.rst.txt @@ -0,0 +1,50 @@ +.. _lib_odom: + +Odometry +****** + +Class Documentation +==================== + +.. autoclass:: compLib.Odom.Odometry + :members: + +.. autoclass:: compLib.Odom.Odom + :members: + + +Examples +========= + +Getting actual distance driven +------------------------------ + +.. code-block:: python + + import time + import math + from compLib.Motor import Motor + from compLib.Encoder import Encoder + from compLib.Odom import Odom, Odometry + + # distance in meters + # speed in % of max speed + def drive_example(distance, speed): + Odom.update() + odom = Odom.get_odom() + while abs(odom.get_x()) < distance: + Odom.update() + odom = Odom.get_odom() + + Motor.power(4, speed) + Motor.power(1, -speed) + + print(f" Forward: {odom.get_x()} m") + print(f" Right: {odom.get_y()} m") + print(f" Turned: {math.degrees(odom.get_orientation())} degrees") + + Motor.active_break(1) + Motor.active_break(4) + time.sleep(0.1) + Encoder.clear_all() + Odom.clear() \ No newline at end of file diff --git a/_sources/lib/Robot.rst.txt b/_sources/lib/Robot.rst.txt new file mode 100644 index 0000000..c7aa712 --- /dev/null +++ b/_sources/lib/Robot.rst.txt @@ -0,0 +1,11 @@ +.. _lib_robot: + +Robot +****** + +Class Documentation +==================== + +.. autoclass:: compLib.Robot.Robot + :members: + :private-members: \ No newline at end of file diff --git a/genindex.html b/genindex.html index 390b8a9..ac8bcaa 100644 --- a/genindex.html +++ b/genindex.html @@ -90,7 +90,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -166,12 +168,16 @@ | D | E | G + | H | I | L | M + | O | P | R | S + | T + | U | W @@ -187,10 +193,14 @@
    @@ -202,6 +212,8 @@ @@ -246,21 +258,37 @@
  • get_items() (compLib.Api.DoubleElim static method)
  • - - + + + +

    H

    + +
    @@ -276,10 +304,12 @@

    L

    @@ -293,6 +323,18 @@
    +

    O

    + + + +
    +

    P

    +
  • read_all() (compLib.Encoder.Encoder static method) +
  • @@ -349,8 +399,32 @@ +

    T

    + + + +
    + +

    U

    + + +
    +

    W

    +
    @@ -226,6 +228,14 @@ +
  • Odometry +
  • Quality Control
  • +
  • Robot +
  • Servo
  • Vision @@ -458,7 +460,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Aruco.html b/lib/Aruco.html index d0375a5..a0197c0 100644 --- a/lib/Aruco.html +++ b/lib/Aruco.html @@ -98,7 +98,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -267,7 +269,7 @@ This way it is quite simple to act on the position of the tag.

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Display.html b/lib/Display.html index e9490bb..91b1f8b 100644 --- a/lib/Display.html +++ b/lib/Display.html @@ -99,7 +99,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -237,7 +239,7 @@ The display is split into 4 Rows and 16 Columns. Each function call changes one

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Encoder.html b/lib/Encoder.html index 758ade4..07baa68 100644 --- a/lib/Encoder.html +++ b/lib/Encoder.html @@ -95,7 +95,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -191,6 +193,26 @@

    Reset all encoder positions to 0

    +
    +
    +static handle_wrap(raw_value, port)
    +

    Handle overflow and underflow of int for encoders.

    +
    +
    Parameters
    +
      +
    • raw_value – Raw value which was read on port

    • +
    • port – Port, which the motor is connected to. Between 1 and 4

    • +
    +
    +
    Raises
    +

    IndexError

    +
    +
    Returns
    +

    Current encoder position

    +
    +
    +
    +
    static read(port: int) → int
    @@ -208,6 +230,30 @@
    +
    +
    +static read_all()
    +

    Read all encoders at once. +This is faster than read as it only uses one SPI call for all encoders!

    +
    +
    Returns
    +

    Tuple of all current encoder positions

    +
    +
    +
    + +
    +
    +static read_all_raw()
    +

    Read all encoders at once. +This is faster than read_raw as it only uses one SPI call for all encoders!

    +
    +
    Returns
    +

    Tuple of all current raw encoder positions

    +
    +
    +
    +
    static read_raw(port: int) → int
    @@ -251,7 +297,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/IRSensor.html b/lib/IRSensor.html index a04d877..b0a1a5a 100644 --- a/lib/IRSensor.html +++ b/lib/IRSensor.html @@ -98,7 +98,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -243,7 +245,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Linefollower.html b/lib/Linefollower.html index 096bd9f..f4d9e47 100644 --- a/lib/Linefollower.html +++ b/lib/Linefollower.html @@ -95,7 +95,9 @@
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -262,7 +264,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Logging.html b/lib/Logging.html index 14221c5..57414a5 100644 --- a/lib/Logging.html +++ b/lib/Logging.html @@ -99,7 +99,9 @@
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -233,7 +235,7 @@ Competition organizers

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Motor.html b/lib/Motor.html index 267e387..cb6e3c5 100644 --- a/lib/Motor.html +++ b/lib/Motor.html @@ -35,7 +35,7 @@ - + @@ -99,7 +99,9 @@ +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -300,7 +302,7 @@ so that it’s roughly proportional to the speed

    @@ -211,7 +213,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/lib/Vision.html b/lib/Vision.html index ec09a7e..1f9d175 100644 --- a/lib/Vision.html +++ b/lib/Vision.html @@ -91,7 +91,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
    • Opencv Stream
    • @@ -296,7 +298,7 @@ point your raspberry pi camera to a chessboard and it should be detected.

      - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

      diff --git a/objects.inv b/objects.inv index 6256a71275e82dfede387001e1a445a1d320707d..b1d3a88401d105bb01da9bbc378208e33e1d7fb4 100644 GIT binary patch delta 1032 zcmV+j1o!)v2k!`wc7K>nlbawI$M1d$XWDDh>9w~uwcSj!yIGTMj|?hnn4(y~&HC-j zi!X>~qvoP0|KB5!Kk$&4X2lLi>#qe~f2Ugt0&wUrb8~QATmHJOnKYnxkAS4u4Qkjs>Rq;s89R49)1k z-umFA-|K)-g7b8)UNb1_aqE~M$OfOBjGvjDNYn8kk7`4rPu0Y& z?`{v8>Z!b5K8P%%p|5Ah;(8T~%5-|Ddn#ma_0{c)sd|rC!&t~A7ew;6_&fOK6kd9e zzPv0!^|GrABAAb{?>5Kd8>Wa(q3rp=aN@qCr z*Jgobk-(81#%+ z4-13*xql0S9oTHc&GY?_APgQh!MuSzAofbl)pdobdXLac$;DH|G`=imNBE7oRIdRz z2)SKkBYS79m_X_&^uk~^Trp+@Dde#T^V7sYDavu4pf{h3L-@Mg2f2)dK zCrfCoM3!PBn}dWII5Vqd;}~R>SEu|oXP*LmS${AZR>pLoQZH+rDtcBr?rQBU-LD@! zD{pi4b~@+R51ySYxj-+8l4Byrm!ZTrFEzQtIeMXl=ndGR?K%^orw-m=RuIHJE3FxX zu(BP$e(>5&(p7gmr>~1%vl_d?c7^tvrCdv&Hm>k#V`NVyBv@4PN6!VL#A|1?3v|=m zn18}+=aH-ICYP^^UT0NTY8lu!WhDl%_E>A--dR&Vtdyd58%Qh<^@!eCPf?B1auh(8 zqk44jh@j|3Y55Ca#yfxY@P3-E_*Oe&H$Ysw^@0ryrvvtwiw@MOd*i@hcH0XpL=C@P98JGPO}PA?ru{3Rvsc9%*e%3O1_NyMVXe z?NQd&peUnieGFbZANMeODOOyqt4*EJWMpA3s#R0b%_FLBCiTrD3ghTxsCGlDkjdZzq>Yczo)E=3TP}==#0-(tq*WZvo`{ C!2TKl delta 813 zcmV+|1JeBO2$lzsc7K=4ZsQ;nhWCC7q|P>}y6tY%c2TJ#wT))B2-_zPDmEU#N&WW2 z#TUSCV|z9+hW|Uh?ZkL`rmr7)@_Y>q(XD<_Fp( z*(|azK;eQDX4n$ciRUX}s-TpcX$=7voaWm@@Ve#|RBCg8ntw~GD6cjLkQo=SVgj#T zhl}>>0FcwFSgW^#%ZMoW^0E174vd~bwA<){h?Eqt4K9fSLD$%_rx}&2CjCfd%}Con z<2CM^uW|c~0TGif7vmS957Kh{smgc`qJPGt?whZ1UyOPkjtOJiLkJ-G|It{G%kl`% z?+2(P7egUlyMIA&9i1Qing9~i3jT!`QW1I5&%$`Ud&V>9o0szT#4%llsTEeok~VRq zO|d-GFRt`#?Qc94*Yq8+Cz;Y&3a5H6J|=xG;TgmHc-(^8Ol3+qYs4A0gsAytX4RL1 zv({e%U&<|*+&13>h%F!gX^RHN>3r-`Nj89aiveTJj;@x$z*1rN#_mX%SKGyq*A9XK@pH^ca zNVj@T^ndya$dRkGqTeUh?fAQLYEPC|Hj5p^%gaGYZGc*c+| zTIJhAEPH!!nzx29s#?91l@gpKgXLpjJO{`YlhIYN)bkp0Wh2Ib^DB;upImpkX~jruu~1* z!spRj0p@2i!*#mOXeG~Q@><>Q`iA~!Linefollower Examples
    • Logging
    • Motor
    • +
    • Odometry
    • Quality Control
    • +
    • Robot
    • Servo
    • Vision
    @@ -209,7 +211,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/search.html b/search.html index 3236058..c9ff7ee 100644 --- a/search.html +++ b/search.html @@ -92,7 +92,9 @@
  • Linefollower Examples
  • Logging
  • Motor
  • +
  • Odometry
  • Quality Control
  • +
  • Robot
  • Servo
  • Vision
  • @@ -182,7 +184,7 @@

    - © Copyright 2021, robo4you + © Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS)

    diff --git a/searchindex.js b/searchindex.js index 625b3a7..81a25e5 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","lib/Api","lib/Aruco","lib/Display","lib/Encoder","lib/IRSensor","lib/Linefollower","lib/Logging","lib/Motor","lib/QC","lib/Servo","lib/Vision","other/usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","lib/Api.rst","lib/Aruco.rst","lib/Display.rst","lib/Encoder.rst","lib/IRSensor.rst","lib/Linefollower.rst","lib/Logging.rst","lib/Motor.rst","lib/QC.rst","lib/Servo.rst","lib/Vision.rst","other/usage.rst"],objects:{"compLib.Api":{DoubleElim:[1,0,1,""],Position:[1,0,1,""],Seeding:[1,0,1,""]},"compLib.Api.DoubleElim":{get_goal:[1,1,1,""],get_items:[1,1,1,""],get_meteoroids:[1,1,1,""],get_opponent:[1,1,1,""],get_position:[1,1,1,""],get_scores:[1,1,1,""]},"compLib.Api.Seeding":{get_cargo:[1,1,1,""],get_delivery:[1,1,1,""],get_garbage:[1,1,1,""],get_material:[1,1,1,""],list_cargo:[1,1,1,""]},"compLib.Display":{Display:[3,0,1,""]},"compLib.Display.Display":{clear:[3,1,1,""],write:[3,1,1,""]},"compLib.Encoder":{Encoder:[4,0,1,""]},"compLib.Encoder.Encoder":{clear:[4,1,1,""],clear_all:[4,1,1,""],read:[4,1,1,""],read_raw:[4,1,1,""]},"compLib.IRSensor":{IRSensor:[5,0,1,""]},"compLib.IRSensor.IRSensor":{read:[5,1,1,""],set:[5,1,1,""]},"compLib.LogstashLogging":{Logging:[7,0,1,""]},"compLib.LogstashLogging.Logging":{get_logger:[7,1,1,""],set_debug:[7,1,1,""]},"compLib.Motor":{Motor:[8,0,1,""]},"compLib.Motor.Motor":{active_break:[8,1,1,""],all_off:[8,1,1,""],get_motor_curve:[8,1,1,""],power:[8,1,1,""],power_raw:[8,1,1,""],pwm:[8,1,1,""],set_motor_curve:[8,1,1,""]},"compLib.Servo":{Servo:[10,0,1,""]},"compLib.Servo.Servo":{set_position:[10,1,1,""],setup_position:[10,1,1,""]},"compLib.Vision":{__Streaming:[11,0,1,""]},"compLib.Vision.__Streaming":{get_frame:[11,1,1,""],publish_frame:[11,1,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"]},objtypes:{"0":"py:class","1":"py:method"},terms:{"001":11,"100":[6,8],"200":1,"403":1,"404":1,"413":1,"480":2,"503":1,"640":2,"900":6,"906":6,"9898":11,"break":8,"class":[0,1,5,10,11],"enum":8,"float":[8,10],"function":[1,2,3],"import":[1,2,3,5,6,7,8,9,11,12],"int":[1,3,4,5,8,10],"return":[1,2,4,5,7,8,11],"static":[1,3,4,5,7,8,10],"true":[2,5,6,8,9,11],"while":[1,2,5,6,9,11],BUT:11,For:11,NOT:11,The:[1,2,3,11],There:1,Use:11,Using:0,Will:4,With:2,__main__:[2,12],__name__:[2,12],__stream:11,access:[3,5],accuraci:5,act:2,activ:8,active_break:8,adjust:6,all:[1,4,8],all_off:8,allow:8,alreadi:1,alwai:1,analog:0,angl:10,api:0,arrai:8,aruco:0,aruco_dict:2,aruco_paramet:2,automat:11,backward:12,base:2,becaus:11,been:1,beep:12,between:[3,4,5,8,10],bin:12,bit:[5,11],blue:1,bool:5,bottom:2,browser:11,buffer:11,buup:12,call:[0,3],cam:11,camera:11,can:[2,7,11],captur:11,cargo:1,center:2,chang:3,charact:3,check:8,chessboard:0,clear:[3,4],clear_al:4,code:1,color:1,color_bgr2grai:[2,11],color_break:6,column:3,come:11,commun:[1,7],competit:7,complib:[1,2,3,4,5,6,7,8,9,10,11,12],connect:[4,8,10,11],control:[0,8,10],convert:11,coordin:[1,2],copi:2,corner:[2,11],correct:1,count:1,creat:11,criteria:11,current:[1,4,8],curv:8,cv2:[2,9,11],cvtcolor:[2,11],datastructur:1,debug:7,def:[1,2,6,12],degre:1,deliv:1,desiredid:2,detect:0,detectmark:2,detectorparameters_cr:2,dict:1,dict_6x6_250:2,dictionari:1,dictionary_get:2,differ:5,displai:[0,6,11],document:[0,11],done:11,doubl:0,doubleelim:1,draw:11,drawchessboardcorn:11,drawdetectedmark:2,drive:[0,1,6],drive_spe:6,dure:10,each:3,easi:2,ein:12,either:1,element:8,elif:[1,6],elimin:0,els:[1,2],emitt:5,encod:[0,6,9],error:6,exactli:8,exampl:0,field:1,find:11,findchessboardcorn:11,first:1,follow:[1,6],format:5,forward:12,found:2,frame:[2,9,11],from:[1,2,3,4,5,6,7,8,9,11,12],game:1,gameboard:1,get:[2,7,8,11],get_cargo:1,get_deliveri:1,get_fram:[2,9,11],get_garbag:1,get_goal:1,get_item:1,get_logg:7,get_materi:1,get_meteoroid:1,get_motor_curv:8,get_oppon:1,get_posit:1,get_scor:1,getdeliveri:1,getgarbag:1,getgoal:1,getitem:1,getmateri:1,getmeteoroid:1,getnormalizedtagposit:2,getop:1,getpo:1,getscor:1,gettagcenterfromfram:2,gettagposit:2,global:8,goal:1,grab:11,grai:[2,11],grayscal:11,green:1,hallo:12,handl:11,has:1,have:1,height:2,hello:3,here:[1,11],hold:1,hopefulli:1,how:[2,11],http:11,ich:12,ids:2,imag:11,includ:1,indexerror:[3,4,5,8],info:8,infrar:0,instanc:11,integr:3,interfac:11,internet:11,irsensor:[5,6,9],item:1,json:1,judg:1,lag:11,last:1,lasterror:6,left:[2,5],leftspe:6,len:1,let:1,level:7,librari:7,like:[1,11],line:[0,1],linear:8,linefollow:0,list:1,list_cargo:1,listcargo:1,littl:11,load:1,log:0,log_metr:8,logger:7,logstash:7,logstashlog:7,look:[1,11],main:[6,12],make:1,manual:7,max:[6,8],mayb:0,meteoroid:1,middl:5,might:11,min:6,mode:8,modul:0,more:8,motor:[0,4,6,12],motormod:8,must:8,need:[1,11],newest:11,next:1,none:[2,11],normal:2,note:11,now:1,object:[1,7],off:5,offset:10,onc:1,one:[3,5],onto:11,opencv:0,oppon:1,opponent_posit:1,organ:7,output:11,own:11,packag:1,paramet:[1,2,3,4,5,8,10,11],percent:8,percentag:8,pick:1,pixel:2,point:[1,11],port:[4,8,10],posit:[0,2,4,10,11],possibl:1,power:[6,8,9,12],power_raw:8,print:[1,2,5,6,9,12],process:[10,11],program:1,proport:8,provid:11,publish:11,publish_fram:[2,9,11],put:1,pwm:8,python:7,qualiti:0,quit:2,rais:[3,4,5,8],rang:[2,6,9],raspberri:11,raw:[4,8],read:[4,5,6,9],read_raw:4,realtim:11,recogn:0,record:11,red:1,rejectedimgpoint:2,request:1,reset:4,respond:1,ret:11,right:[2,5],rightspe:6,robot:[1,3,5,10,12],rotat:1,roughli:8,row:3,rtmp:11,run:[1,11],same:2,score:1,screen:2,screenshot:11,second:[1,11],see:8,seed:0,self:1,sensor:0,sensorsblack:6,server:[1,11],servo:0,set:[5,6,8,9,10],set_debug:7,set_motor_curv:8,set_posit:[9,10],setup:10,setup_posit:[9,10],shape:2,should:[1,7,8,11],show:[2,11],simpl:[0,2],sleep:[1,6,9,12],sleeptim:6,some:[1,11],soon:1,specif:8,specifi:[1,2,4,8],speed:8,split:3,start:[1,4],statu:1,str:[1,3],straight:0,stream:[0,2,9],string:[1,3],tag:0,tag_id:2,take:11,taken:1,term_criteria_ep:11,term_criteria_max_it:11,test:[0,11],text:3,thi:[1,2,7,11],tick:8,time:[1,2,3,6,9,12],too:1,top:2,tupl:1,turn:[0,5,8],two:1,type:[1,5,7],until:1,usag:0,use:[1,2,7,11],used:[1,4,7,8,10],using:11,valu:[5,8],valueerror:8,veri:2,view:11,vision:[0,2],wai:2,wait:[1,11],wait_for_start:1,want:[2,11],web:11,webserv:11,websit:11,whatev:11,when:[7,11],which:[1,4,5,8,11],width:2,world:3,write:0,yellow:1,you:[1,2,11],your:[1,11],your_raspi_ip:11,yourself:11,zip:2,zone:1},titles:["Competition Robot Library","Api","Aruco","Display","Encoder","Infrared Sensor","Linefollower Examples","Logging","Motor","Quality Control","Servo","Vision","Usage"],titleterms:{"class":[3,4,7,8],Using:11,analog:5,api:1,aruco:2,call:1,chessboard:11,competit:0,content:0,control:9,detect:11,displai:3,document:[3,4,7,8],doubl:1,drive:8,elimin:1,encod:4,exampl:[1,2,3,5,6,7,8,11],infrar:[5,9],librari:0,line:3,linefollow:6,log:7,mayb:8,modul:11,motor:[8,9],opencv:11,posit:1,qualiti:9,recogn:2,robot:0,seed:1,sensor:5,servo:[9,10],simpl:6,straight:8,stream:11,tag:2,test:[5,9],turn:7,usag:12,vision:[9,11],write:3}}) \ No newline at end of file +Search.setIndex({docnames:["index","lib/Api","lib/Aruco","lib/Display","lib/Encoder","lib/IRSensor","lib/Linefollower","lib/Logging","lib/Motor","lib/Odom","lib/QC","lib/Robot","lib/Servo","lib/Vision","other/usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","lib/Api.rst","lib/Aruco.rst","lib/Display.rst","lib/Encoder.rst","lib/IRSensor.rst","lib/Linefollower.rst","lib/Logging.rst","lib/Motor.rst","lib/Odom.rst","lib/QC.rst","lib/Robot.rst","lib/Servo.rst","lib/Vision.rst","other/usage.rst"],objects:{"compLib.Api":{DoubleElim:[1,0,1,""],Position:[1,0,1,""],Seeding:[1,0,1,""]},"compLib.Api.DoubleElim":{get_goal:[1,1,1,""],get_items:[1,1,1,""],get_meteoroids:[1,1,1,""],get_opponent:[1,1,1,""],get_position:[1,1,1,""],get_scores:[1,1,1,""]},"compLib.Api.Seeding":{get_cargo:[1,1,1,""],get_delivery:[1,1,1,""],get_garbage:[1,1,1,""],get_material:[1,1,1,""],list_cargo:[1,1,1,""]},"compLib.Display":{Display:[3,0,1,""]},"compLib.Display.Display":{clear:[3,1,1,""],write:[3,1,1,""]},"compLib.Encoder":{Encoder:[4,0,1,""]},"compLib.Encoder.Encoder":{clear:[4,1,1,""],clear_all:[4,1,1,""],handle_wrap:[4,1,1,""],read:[4,1,1,""],read_all:[4,1,1,""],read_all_raw:[4,1,1,""],read_raw:[4,1,1,""]},"compLib.IRSensor":{IRSensor:[5,0,1,""]},"compLib.IRSensor.IRSensor":{read:[5,1,1,""],set:[5,1,1,""]},"compLib.LogstashLogging":{Logging:[7,0,1,""]},"compLib.LogstashLogging.Logging":{get_logger:[7,1,1,""],set_debug:[7,1,1,""]},"compLib.Motor":{Motor:[8,0,1,""]},"compLib.Motor.Motor":{active_break:[8,1,1,""],all_off:[8,1,1,""],get_motor_curve:[8,1,1,""],power:[8,1,1,""],power_raw:[8,1,1,""],pwm:[8,1,1,""],set_motor_curve:[8,1,1,""]},"compLib.Odom":{Odom:[9,0,1,""],Odometry:[9,0,1,""]},"compLib.Odom.Odom":{clear:[9,1,1,""],get_odom:[9,1,1,""],update:[9,1,1,""]},"compLib.Odom.Odometry":{get_orientation:[9,1,1,""],get_x:[9,1,1,""],get_y:[9,1,1,""]},"compLib.Robot":{Robot:[11,0,1,""]},"compLib.Robot.Robot":{ARBOR_LENGTH_M:[11,2,1,""],ARBOR_LENGTH_MM:[11,2,1,""],LEFT_PORT:[11,2,1,""],RIGHT_PORT:[11,2,1,""],TICKS_PER_METER:[11,2,1,""],TICKS_PER_TURN:[11,2,1,""],WHEEL_CIRCUMFERENCE_MM:[11,2,1,""]},"compLib.Servo":{Servo:[12,0,1,""]},"compLib.Servo.Servo":{set_position:[12,1,1,""],setup_position:[12,1,1,""]},"compLib.Vision":{__Streaming:[13,0,1,""]},"compLib.Vision.__Streaming":{get_frame:[13,1,1,""],publish_frame:[13,1,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute"},terms:{"001":13,"05307840487532":11,"100":[6,8],"100hz":9,"12418":11,"139":11,"200":1,"223":11,"2770":11,"360":11,"403":1,"404":1,"413":1,"480":2,"503":1,"568799001412":11,"640":2,"900":6,"906":6,"9898":13,"break":8,"class":[0,1,5,12,13],"enum":8,"float":[8,9,12],"function":[1,2,3],"import":[1,2,3,5,6,7,8,9,10,13,14],"int":[1,3,4,5,8,12],"return":[1,2,4,5,7,8,9,13],"static":[1,3,4,5,7,8,9,12],"true":[2,5,6,8,10,13],"while":[1,2,5,6,9,10,13],BUT:13,For:13,NOT:13,The:[1,2,3,13],There:1,Use:13,Using:0,Will:4,With:2,__main__:[2,14],__name__:[2,14],__stream:13,abs:9,access:[3,5],accuraci:5,act:2,activ:8,active_break:[8,9],actual:0,adjust:6,after:11,all:[1,4,8,9],all_off:8,allow:8,alreadi:1,alwai:1,analog:0,angl:12,api:0,arbor_length_m:11,arbor_length_mm:11,arrai:8,aruco:0,aruco_dict:2,aruco_paramet:2,automat:13,axi:9,backward:[9,14],base:2,becaus:13,been:1,beep:14,between:[3,4,5,8,9,11,12],bin:14,bit:[5,13],blue:1,bool:5,bottom:2,browser:13,buffer:13,buup:14,call:[0,3,4,9],cam:13,camera:13,can:[2,7,13],captur:13,cargo:1,center:2,chang:3,charact:3,check:8,chessboard:0,circumfer:11,clear:[3,4,9],clear_al:[4,9],code:1,color:1,color_bgr2grai:[2,13],color_break:6,column:3,come:13,commun:[1,7],competit:7,complib:[1,2,3,4,5,6,7,8,9,10,11,12,13,14],connect:[4,8,12,13],control:[0,8,12],convert:13,coordin:[1,2,9],copi:2,corner:[2,13],correct:1,count:1,creat:13,criteria:13,current:[1,4,8,9],curv:8,cv2:[2,10,13],cvtcolor:[2,13],datastructur:1,debug:7,def:[1,2,6,9,14],degre:[1,9,11],deliv:1,desiredid:2,detect:0,detectmark:2,detectorparameters_cr:2,dict:1,dict_6x6_250:2,dictionari:1,dictionary_get:2,differ:5,displai:[0,6,13],distanc:[0,11],document:[0,13],done:13,doubl:0,doubleelim:1,draw:13,drawchessboardcorn:13,drawdetectedmark:2,drive:[0,1,6,11],drive_exampl:9,drive_spe:6,driven:0,dto:9,dure:12,each:3,easi:2,ein:14,either:1,element:8,elif:[1,6],elimin:0,els:[1,2],emitt:5,encod:[0,6,9,10],error:6,exactli:8,exampl:0,faster:4,field:1,find:13,findchessboardcorn:13,first:1,follow:[1,6],format:5,forward:[9,14],found:2,frame:[2,10,13],from:[1,2,3,4,5,6,7,8,9,10,13,14],game:1,gameboard:1,get:[0,2,7,8,13],get_cargo:1,get_deliveri:1,get_fram:[2,10,13],get_garbag:1,get_goal:1,get_i:9,get_item:1,get_logg:7,get_materi:1,get_meteoroid:1,get_motor_curv:8,get_odom:9,get_oppon:1,get_orient:9,get_posit:1,get_scor:1,get_x:9,getdeliveri:1,getgarbag:1,getgoal:1,getitem:1,getmateri:1,getmeteoroid:1,getnormalizedtagposit:2,getop:1,getpo:1,getscor:1,gettagcenterfromfram:2,gettagposit:2,global:8,goal:1,grab:13,grai:[2,13],grayscal:13,green:1,hallo:14,handl:[4,13],handle_wrap:4,has:1,have:1,height:2,hello:3,here:[1,13],hold:[1,9],hopefulli:1,how:[2,13],http:13,ich:14,ids:2,imag:13,includ:1,indexerror:[3,4,5,8],info:8,inform:9,infrar:0,instanc:13,integr:3,interfac:13,internet:13,irsensor:[5,6,10],item:1,json:1,judg:1,lag:13,last:1,lasterror:6,least:9,left:[2,5,9,11],left_port:11,leftspe:6,len:1,let:1,level:7,librari:7,like:[1,13],line:[0,1],linear:8,linefollow:0,list:1,list_cargo:1,listcargo:1,littl:13,load:1,log:0,log_metr:8,logger:7,logstash:7,logstashlog:7,look:[1,13],loop:9,main:[6,14],make:1,manual:7,math:9,max:[6,8,9],mayb:0,meteoroid:1,meter:[9,11],middl:5,might:13,millimet:11,min:6,mode:8,modul:0,more:8,motor:[0,4,6,9,11,14],motormod:8,movement:9,must:[8,9],need:[1,13],newest:13,next:1,none:[2,9,13],normal:2,note:13,now:1,object:[1,7],odom:9,odometri:0,off:5,offset:12,onc:[1,4],one:[3,4,5,11],onli:4,onto:13,opencv:0,oppon:1,opponent_posit:1,organ:7,orient:9,output:13,overflow:4,own:13,packag:1,paramet:[1,2,3,4,5,8,12,13],per:11,percent:8,percentag:8,pick:1,pixel:2,point:[1,13],port:[4,8,11,12],posit:[0,2,4,9,12,13],possibl:1,power:[6,8,9,10,14],power_raw:8,print:[1,2,5,6,9,10,14],process:[12,13],program:1,proport:8,provid:13,publish:13,publish_fram:[2,10,13],put:1,pwm:8,python:7,qualiti:0,quit:2,radian:9,rais:[3,4,5,8],rang:[2,6,10],raspberri:13,raw:[4,8],raw_valu:4,read:[4,5,6,10],read_al:4,read_all_raw:4,read_raw:4,realtim:13,recogn:0,record:13,red:1,rejectedimgpoint:2,request:1,reset:4,respond:1,ret:13,right:[2,5,9,11],right_port:11,rightspe:6,robot:[1,3,5,9,12,14],rotat:1,roughli:8,row:3,rtmp:13,run:[1,13],same:2,score:1,screen:2,screenshot:13,second:[1,13],see:8,seed:0,self:1,sensor:0,sensorsblack:6,server:[1,13],servo:0,set:[5,6,8,9,10,12],set_debug:7,set_motor_curv:8,set_posit:[10,12],setup:12,setup_posit:[10,12],shape:2,should:[1,7,8,9,13],show:[2,13],simpl:[0,2],sleep:[1,6,9,10,14],sleeptim:6,some:[1,13],soon:1,specif:8,specifi:[1,2,4,8],speed:[8,9],spi:4,split:3,start:[1,4,9],statu:1,str:[1,3],straight:0,stream:[0,2,10],string:[1,3],system:9,tag:0,tag_id:2,take:13,taken:1,term_criteria_ep:13,term_criteria_max_it:13,test:[0,13],text:3,than:4,theta:9,thi:[1,2,4,7,13],tick:[8,11],ticks_per_met:11,ticks_per_turn:11,time:[1,2,3,6,9,10,14],too:1,top:2,track:9,tupl:[1,4],turn:[0,5,8,9,11],two:[1,11],type:[1,5,7],underflow:4,until:1,updat:9,usag:0,use:[1,2,7,13],used:[1,4,7,8,9,12],uses:4,using:13,valu:[4,5,8],valueerror:8,veri:2,view:13,vision:[0,2],wai:2,wait:[1,13],wait_for_start:1,want:[2,13],web:13,webserv:13,websit:13,whatev:13,wheel:11,wheel_circumference_mm:11,when:[7,9,13],which:[1,4,5,8,13],width:2,world:3,write:0,yellow:1,you:[1,2,13],your:[1,13],your_raspi_ip:13,yourself:13,zip:2,zone:1},titles:["Competition Robot Library","Api","Aruco","Display","Encoder","Infrared Sensor","Linefollower Examples","Logging","Motor","Odometry","Quality Control","Robot","Servo","Vision","Usage"],titleterms:{"class":[3,4,7,8,9,11],Using:13,actual:9,analog:5,api:1,aruco:2,call:1,chessboard:13,competit:0,content:0,control:10,detect:13,displai:3,distanc:9,document:[3,4,7,8,9,11],doubl:1,drive:8,driven:9,elimin:1,encod:4,exampl:[1,2,3,5,6,7,8,9,13],get:9,infrar:[5,10],librari:0,line:3,linefollow:6,log:7,mayb:8,modul:13,motor:[8,10],odometri:9,opencv:13,posit:1,qualiti:10,recogn:2,robot:[0,11],seed:1,sensor:5,servo:[10,12],simpl:6,straight:8,stream:13,tag:2,test:[5,10],turn:7,usag:14,vision:[10,13],write:3}}) \ No newline at end of file