Robo4you Competition Library¶
+Competition Robot Library¶
CompLib is the library used in the robo4you competition 2021.
Contents¶
-
-
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Seeding diff --git a/lib/Api.html b/lib/Api.html index e534725..9cb7028 100644 --- a/lib/Api.html +++ b/lib/Api.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Seeding diff --git a/lib/Aruco.html b/lib/Aruco.html index c397ebb..6222aea 100644 --- a/lib/Aruco.html +++ b/lib/Aruco.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco
-
diff --git a/lib/Display.html b/lib/Display.html
index b5c5910..5b9bd55 100644
--- a/lib/Display.html
+++ b/lib/Display.html
@@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco @@ -182,7 +182,7 @@
-
-static
write
(line: int, text: <module 'string' from '/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/string.py'>)¶
+static Write a string of text to the integrated display.
- Parameters diff --git a/lib/Encoder.html b/lib/Encoder.html index f71104c..504184f 100644 --- a/lib/Encoder.html +++ b/lib/Encoder.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/IRSensor.html b/lib/IRSensor.html index 623679d..fb443d2 100644 --- a/lib/IRSensor.html +++ b/lib/IRSensor.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/Linefollower.html b/lib/Linefollower.html index ad012fd..b38ff76 100644 --- a/lib/Linefollower.html +++ b/lib/Linefollower.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/Logging.html b/lib/Logging.html index 32230d2..9e3a7f0 100644 --- a/lib/Logging.html +++ b/lib/Logging.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/Motor.html b/lib/Motor.html index dbb2589..2dfed60 100644 --- a/lib/Motor.html +++ b/lib/Motor.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/Servo.html b/lib/Servo.html index f480147..309d857 100644 --- a/lib/Servo.html +++ b/lib/Servo.html @@ -82,7 +82,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/lib/Vision.html b/lib/Vision.html index 3b18d12..26745b5 100644 --- a/lib/Vision.html +++ b/lib/Vision.html @@ -81,7 +81,7 @@
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/objects.inv b/objects.inv index 9e191b0..1df15be 100644 --- a/objects.inv +++ b/objects.inv @@ -2,8 +2,8 @@ # Project: CompLib # Version: # The remainder of this file is compressed using zlib. -xڥKo0| -KkRUSomRhjk FIʷ_?x@7^`LfxYtޤn3FDO^T]-".8a-A]x -Ju+f5TQ^mv 3.`ނQ}iUջ7~k=Yv#)i+,Iy!/Tsz~1[2 xNwO>:ƶ@X[T .o~ jgar{NOOʴ TXK6E_\Q=Nu,"gyj4q-.j~[Xp1c[JmR"w~I'HGTI?3C'ԏZz5f2rx):ޟ M~Bpd|2Θ:Z% -TQԽ$~AעX@ܠ%hgΘ 9AʚLz2sԽ$CvNc"kZ uvv)2z mĘtR((/;Bs/|Wz3h^S!x?hb4ցYÀ4a}:^226g -fH!1jL K9Ր$:&Iup˘UnwDyà?\]@<67tj
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco @@ -165,12 +165,13 @@ from compLib.Motor import * def forward(): - for port in range(0, 4): - Motor.power(port, 30); + Motor.power(1, -30); + Motor.power(2, 30); + def backward(): - for port in range(0, 4): - Motor.power(port, -30); + Motor.power(1, 30); + Motor.power(2, -30); def main(): print("hallo ich bin ein roboter beep buup") @@ -197,7 +198,7 @@ Next - Previous + Previous
-
-
-
-
-
-
-
-
-
-
-
-
-
-
:5$;"O/iڗ>.!T]JGqS"P +8ױ% 3C'G3e%/(PϹBzs.{Sȅ +iiĥûjv,>,QwW@ܠ%i'ΘM眇HIꖁ̂b2qԿdCj1_5:e; cj^Δ A_|:xHRA~өIv`甎 qgN&ާߌ9ݘY/ \ No newline at end of file diff --git a/other/usage.html b/other/usage.html index 0b3bafa..2c14375 100644 --- a/other/usage.html +++ b/other/usage.html @@ -36,7 +36,7 @@ - + @@ -82,7 +82,7 @@ -
-
-
-
write
(line: int, text: str)¶
-
-
-
-
-
-
- Robo4you Competition Library +
- Competition Robot Library
- Usage
- Api
- Aruco diff --git a/searchindex.js b/searchindex.js index 3e1dc95..a2f2778 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/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/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_opponent:[1,1,1,""],get_position:[1,1,1,""],get_scores:[1,1,1,""]},"compLib.Api.Seeding":{get_park:[1,1,1,""],pay_park:[1,1,1,""],simon_says:[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.Vision":{__Streaming:[10,0,1,""]},"compLib.Vision.__Streaming":{get_frame:[10,1,1,""],publish_frame:[10,1,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"]},objtypes:{"0":"py:class","1":"py:method"},terms:{"001":[6,10],"100":[6,8],"2021":0,"204":1,"403":1,"480":2,"500":6,"640":2,"750":6,"9898":10,"break":[6,8],"class":[0,1,5,10],"enum":8,"float":8,"function":2,"import":[1,2,3,5,6,7,8,10,11],"int":[1,3,4,5,8],"return":[1,2,4,5,7,8,10],"static":[1,3,4,5,7,8],"true":[2,5,6,8,10],"while":[2,5,6,10],BUT:10,For:10,NOT:10,The:[2,10],Use:10,Using:0,Will:4,With:2,__main__:[2,6,11],__name__:[2,6,11],__stream:10,access:[3,5],accuraci:5,act:2,activ:8,active_break:[6,8],all:[1,4,8],all_off:8,allow:8,alwai:1,analog:0,api:0,arrai:8,aruco:0,aruco_dict:2,aruco_paramet:2,automat:10,back:1,back_mult:6,backward:11,base:2,becaus:10,beep:11,between:[3,4,5,8],bin:11,bit:[5,10],black:6,bool:5,bot:6,bottom:2,bottom_left_calibr:6,bottom_middle_calibr:6,bottom_right_calibr:6,browser:10,buffer:10,buup:11,calibr:6,call:0,cam:10,camera:10,can:[1,2,7,10],captur:10,cellar:3,center:2,charact:3,check:[1,8],chessboard:0,clear:[3,4],clear_al:4,code:1,color_bgr2grai:[2,10],color_break:6,come:10,commun:[1,7],competit:7,complib:[0,1,2,3,4,5,6,7,8,10,11],connect:[4,8,10],control:8,convert:10,coordin:[1,2],copi:2,corner:[2,10],correct:1,creat:10,criteria:10,current:[1,4,8],curv:8,cv2:[2,10],cvtcolor:[2,10],datastructur:1,debug:7,def:[2,6,11],degre:1,desiredid:2,detect:0,detectmark:2,detectorparameters_cr:2,dict:1,dict_6x6_250:2,dictionari:1,dictionary_get:2,differ:[3,5],displai:[0,10],document:[0,10],doesn:6,done:10,doubl:0,doubleelim:1,draw:10,drawchessboardcorn:10,drawdetectedmark:2,drive:[0,1,6],easi:2,ein:11,element:8,elif:[1,6],elimin:0,els:[1,2,6],emitt:5,encod:0,exactli:8,exampl:0,fail:1,fals:6,field:1,find:10,findchessboardcorn:10,follow:6,follow_till_lin:6,format:[5,6],forward:11,found:2,frame:[2,10],framework:3,from:[1,2,3,4,5,6,7,8,10,11],game:1,get:[1,2,7,8,10],get_fram:[2,10],get_goal:1,get_item:1,get_logg:7,get_motor_curv:8,get_oppon:1,get_park:1,get_posit:1,get_scor:1,getnormalizedtagposit:2,gettagcenterfromfram:2,gettagposit:2,global:8,goal:1,grab:10,grai:[2,10],grayscal:10,hallo:11,handl:10,height:2,hello:3,here:10,hold:1,hopefulli:1,how:[2,10],http:10,ich:11,ids:2,imag:10,includ:1,indexerror:[3,4,5,8],info:8,infrar:0,initi:6,instanc:10,instantli:6,integr:3,interfac:10,internet:10,irsensor:5,irwrapp:6,item:1,json:1,lag:10,left:[2,5,6],level:7,lib:3,librari:7,like:[1,10],line:[0,6],linear:8,linefollow:0,list:1,littl:10,local:3,log:0,log_metr:8,logger:7,logstash:7,logstashlog:7,look:[1,10],main:11,make:1,manual:7,max:[6,8],mayb:0,middl:[5,6],might:10,min:6,mode:8,modul:[0,1,3],more:8,motor:[0,1,4,6,11],motormod:8,move:1,must:8,need:10,newest:10,next:1,none:[2,10],normal:2,note:10,now:1,object:[1,7],off:[5,6],one:5,onto:[6,10],opencv:0,oppon:1,organ:7,output:10,own:10,pai:1,paramet:[2,3,4,5,8,10],park:1,parkingsapc:1,pass:6,pay_park:1,percent:8,percentag:8,pixel:2,point:[1,10],port:[4,8,11],posit:[0,2,4,10],power:[6,8,11],power_raw:8,print:[1,2,5,6,11],process:10,proport:8,provid:10,publish:10,publish_fram:[2,10],put:6,pwm:8,python3:3,python:[3,7],quit:2,rais:[3,4,5,8],rang:[2,11],raspberri:10,raw:[4,8],read:[4,5],read_raw:4,realtim:10,recogn:0,record:10,rejectedimgpoint:2,request:1,reset:4,respond:1,ret:10,right:[2,5,6],robot:[1,3,5,11],rotat:1,roughli:8,rtmp:10,run:10,sai:1,same:2,score:1,screen:2,screenshot:10,second:10,see:8,seed:0,self:1,sensor:[0,3,6],server:[1,10],servo:0,set:[5,8],set_debug:7,set_motor_curv:8,shape:2,should:[1,7,8,10],show:[2,10],similar:1,simon:1,simon_sai:1,simpl:[0,2],sleep:[6,11],some:[1,10],someth:1,specif:8,specifi:[2,4,8],speed:[6,8],start:4,statu:1,straight:0,straight_spe:6,stream:[0,2],string:3,success:1,tag:0,tag_id:2,take:10,term_criteria_ep:10,term_criteria_max_it:10,test:[0,10],text:3,thi:[1,2,7,10],tick:8,till:6,time:[2,3,6,11],top:2,tupl:1,turn:[0,5,8],turn_spe:6,type:[1,5,7],usag:0,use:[2,7,10],used:[0,1,4,7,8],using:[1,10],usr:3,valu:[5,8],valueerror:8,veri:2,version:3,view:10,vision:[0,2],wai:2,wait:10,want:[2,10],web:10,webserv:10,websit:10,whatev:10,when:[7,10],which:[1,4,5,8,10],width:2,world:3,write:0,yet:1,you:[2,10],your:10,your_raspi_ip:10,yourself:10,zip:2,zone:1},titles:["Robo4you Competition Library","Api","Aruco","Display","Encoder","Infrared Sensor","Linefollower Examples","Logging","Motor","Servo","Vision","Usage"],titleterms:{"class":[3,4,7,8],Using:10,analog:5,api:1,aruco:2,call:1,chessboard:10,competit:0,content:0,detect:10,displai:3,document:[3,4,7,8],doubl:1,drive:8,elimin:1,encod:4,exampl:[1,2,3,5,6,7,8,10],infrar:5,librari:0,line:3,linefollow:6,log:7,mayb:8,modul:10,motor:8,opencv:10,posit:1,recogn:2,robo4y:0,seed:1,sensor:5,servo:9,simpl:6,straight:8,stream:10,tag:2,test:5,turn:7,usag:11,vision:10,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/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/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_opponent:[1,1,1,""],get_position:[1,1,1,""],get_scores:[1,1,1,""]},"compLib.Api.Seeding":{get_park:[1,1,1,""],pay_park:[1,1,1,""],simon_says:[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.Vision":{__Streaming:[10,0,1,""]},"compLib.Vision.__Streaming":{get_frame:[10,1,1,""],publish_frame:[10,1,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"]},objtypes:{"0":"py:class","1":"py:method"},terms:{"001":[6,10],"100":[6,8],"204":1,"403":1,"480":2,"500":6,"640":2,"750":6,"9898":10,"break":[6,8],"class":[0,1,5,10],"enum":8,"float":8,"function":2,"import":[1,2,3,5,6,7,8,10,11],"int":[1,3,4,5,8],"return":[1,2,4,5,7,8,10],"static":[1,3,4,5,7,8],"true":[2,5,6,8,10],"while":[2,5,6,10],BUT:10,For:10,NOT:10,The:[2,10],Use:10,Using:0,Will:4,With:2,__main__:[2,6,11],__name__:[2,6,11],__stream:10,access:[3,5],accuraci:5,act:2,activ:8,active_break:[6,8],all:[1,4,8],all_off:8,allow:8,alwai:1,analog:0,api:0,arrai:8,aruco:0,aruco_dict:2,aruco_paramet:2,automat:10,back:1,back_mult:6,backward:11,base:2,becaus:10,beep:11,between:[3,4,5,8],bin:11,bit:[5,10],black:6,bool:5,bot:6,bottom:2,bottom_left_calibr:6,bottom_middle_calibr:6,bottom_right_calibr:6,browser:10,buffer:10,buup:11,calibr:6,call:0,cam:10,camera:10,can:[1,2,7,10],captur:10,center:2,charact:3,check:[1,8],chessboard:0,clear:[3,4],clear_al:4,code:1,color_bgr2grai:[2,10],color_break:6,come:10,commun:[1,7],competit:7,complib:[1,2,3,4,5,6,7,8,10,11],connect:[4,8,10],control:8,convert:10,coordin:[1,2],copi:2,corner:[2,10],correct:1,creat:10,criteria:10,current:[1,4,8],curv:8,cv2:[2,10],cvtcolor:[2,10],datastructur:1,debug:7,def:[2,6,11],degre:1,desiredid:2,detect:0,detectmark:2,detectorparameters_cr:2,dict:1,dict_6x6_250:2,dictionari:1,dictionary_get:2,differ:[3,5],displai:[0,10],document:[0,10],doesn:6,done:10,doubl:0,doubleelim:1,draw:10,drawchessboardcorn:10,drawdetectedmark:2,drive:[0,1,6],easi:2,ein:11,element:8,elif:[1,6],elimin:0,els:[1,2,6],emitt:5,encod:0,exactli:8,exampl:0,fail:1,fals:6,field:1,find:10,findchessboardcorn:10,follow:6,follow_till_lin:6,format:[5,6],forward:11,found:2,frame:[2,10],from:[1,2,3,4,5,6,7,8,10,11],game:1,get:[1,2,7,8,10],get_fram:[2,10],get_goal:1,get_item:1,get_logg:7,get_motor_curv:8,get_oppon:1,get_park:1,get_posit:1,get_scor:1,getnormalizedtagposit:2,gettagcenterfromfram:2,gettagposit:2,global:8,goal:1,grab:10,grai:[2,10],grayscal:10,hallo:11,handl:10,height:2,hello:3,here:10,hold:1,hopefulli:1,how:[2,10],http:10,ich:11,ids:2,imag:10,includ:1,indexerror:[3,4,5,8],info:8,infrar:0,initi:6,instanc:10,instantli:6,integr:3,interfac:10,internet:10,irsensor:5,irwrapp:6,item:1,json:1,lag:10,left:[2,5,6],level:7,librari:7,like:[1,10],line:[0,6],linear:8,linefollow:0,list:1,littl:10,log:0,log_metr:8,logger:7,logstash:7,logstashlog:7,look:[1,10],main:11,make:1,manual:7,max:[6,8],mayb:0,middl:[5,6],might:10,min:6,mode:8,modul:[0,1],more:8,motor:[0,1,4,6,11],motormod:8,move:1,must:8,need:10,newest:10,next:1,none:[2,10],normal:2,note:10,now:1,object:[1,7],off:[5,6],one:5,onto:[6,10],opencv:0,oppon:1,organ:7,output:10,own:10,pai:1,paramet:[2,3,4,5,8,10],park:1,parkingsapc:1,pass:6,pay_park:1,percent:8,percentag:8,pixel:2,point:[1,10],port:[4,8],posit:[0,2,4,10],power:[6,8,11],power_raw:8,print:[1,2,5,6,11],process:10,proport:8,provid:10,publish:10,publish_fram:[2,10],put:6,pwm:8,python:7,quit:2,rais:[3,4,5,8],rang:2,raspberri:10,raw:[4,8],read:[4,5],read_raw:4,realtim:10,recogn:0,record:10,rejectedimgpoint:2,request:1,reset:4,respond:1,ret:10,right:[2,5,6],robot:[1,3,5,11],rotat:1,roughli:8,rtmp:10,run:10,sai:1,same:2,score:1,screen:2,screenshot:10,second:10,see:8,seed:0,self:1,sensor:[0,3,6],server:[1,10],servo:0,set:[5,8],set_debug:7,set_motor_curv:8,shape:2,should:[1,7,8,10],show:[2,10],similar:1,simon:1,simon_sai:1,simpl:[0,2],sleep:[6,11],some:[1,10],someth:1,specif:8,specifi:[2,4,8],speed:[6,8],start:4,statu:1,str:3,straight:0,straight_spe:6,stream:[0,2],string:3,success:1,tag:0,tag_id:2,take:10,term_criteria_ep:10,term_criteria_max_it:10,test:[0,10],text:3,thi:[1,2,7,10],tick:8,till:6,time:[2,3,6,11],top:2,tupl:1,turn:[0,5,8],turn_spe:6,type:[1,5,7],usag:0,use:[2,7,10],used:[1,4,7,8],using:[1,10],valu:[5,8],valueerror:8,veri:2,view:10,vision:[0,2],wai:2,wait:10,want:[2,10],web:10,webserv:10,websit:10,whatev:10,when:[7,10],which:[1,4,5,8,10],width:2,world:3,write:0,yet:1,you:[2,10],your:10,your_raspi_ip:10,yourself:10,zip:2,zone:1},titles:["Competition Robot Library","Api","Aruco","Display","Encoder","Infrared Sensor","Linefollower Examples","Logging","Motor","Servo","Vision","Usage"],titleterms:{"class":[3,4,7,8],Using:10,analog:5,api:1,aruco:2,call:1,chessboard:10,competit:0,content:0,detect:10,displai:3,document:[3,4,7,8],doubl:1,drive:8,elimin:1,encod:4,exampl:[1,2,3,5,6,7,8,10],infrar:5,librari:0,line:3,linefollow:6,log:7,mayb:8,modul:10,motor:8,opencv:10,posit:1,recogn:2,robot:0,seed:1,sensor:5,servo:9,simpl:6,straight:8,stream:10,tag:2,test:5,turn:7,usag:11,vision:10,write:3}}) \ No newline at end of file