From 7249bc357cf48e01396eda3e6cc7384858d1246d Mon Sep 17 00:00:00 2001 From: Lucas Federico Torroba Hennigen Date: Thu, 22 Mar 2018 15:11:46 +0000 Subject: [PATCH 1/4] add configuration file --- .gitignore | 1 + planning/Config.example.py | 2 ++ planning/Controller.py | 21 +++++++++++---------- planning/Tracker.py | 8 +++++--- 4 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 planning/Config.example.py diff --git a/.gitignore b/.gitignore index 722d5e7..dfd4696 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .vscode +planning/Config.py diff --git a/planning/Config.example.py b/planning/Config.example.py new file mode 100644 index 0000000..50b7eaf --- /dev/null +++ b/planning/Config.example.py @@ -0,0 +1,2 @@ +class Config: + BASE_URL = diff --git a/planning/Controller.py b/planning/Controller.py index 975e71e..5ae54ca 100644 --- a/planning/Controller.py +++ b/planning/Controller.py @@ -5,10 +5,11 @@ import json import math from math import sqrt +from Config import Config -base = 'http://18.219.63.23/edge' - -post = 'http://18.219.63.23/post' +conf = Config +base = conf.BASE_URL + '/edge' +post = conf.BASE_URL + '/post' class Controller: @@ -34,18 +35,18 @@ def run(self): def deliver(self, delivery): id = delivery['id'] data = {'state': 'IN_PROGRESS'} - r = requests.patch("http://18.219.63.23/development/delivery/" + str(id), json=data) + r = requests.patch(conf.BASE_URL + "/development/delivery/" + str(id), json=data) self.toTarget(delivery['from']['name'].lower()) data = {'state': 'AWAITING_PICKUP'} - r = requests.patch("http://18.219.63.23/development/delivery/" + str(id), json=data) + r = requests.patch(conf.BASE_URL + "/development/delivery/" + str(id), json=data) data = {'state': 'IN_PROGRESS'} - r = requests.patch("http://18.219.63.23/development/delivery/" + str(id), json=data) + r = requests.patch(conf.BASE_URL + "/development/delivery/" + str(id), json=data) self.toTarget(delivery['to']['name'].lower()) data = {'state': 'COMPLETED'} - r = requests.patch("http://18.219.63.23/development/delivery/" + str(id), json=data) + r = requests.patch(conf.BASE_URL + "/development/delivery/" + str(id), json=data) - r = requests.delete('http://18.219.63.23/development/delivery/' + str(id)) + r = requests.delete(conf.BASE_URL + '/development/delivery/' + str(id)) def toTarget(self, name): @@ -125,7 +126,7 @@ def drawPath(self,frame): return frame def getDelivery(self): - url = "http://18.219.63.23/development/deliveries" + url = conf.BASE_URL + "/development/deliveries" r = requests.get(url) queue = json.loads(r.text) return queue[0] @@ -136,7 +137,7 @@ def sendInstructions(self): self.plan = self.toTarget(fro) #self.plan = self.planner.plan('YELLOW') instructions = self.pointConversion(self.plan) - url = "http://ec2-18-219-63-23.us-east-2.compute.amazonaws.com/edge/instructions" + url = conf.BASE_URL + "/edge/instructions" r = requests.post(url, json = instructions) print(r.text) diff --git a/planning/Tracker.py b/planning/Tracker.py index 017f6a2..5cef5fe 100644 --- a/planning/Tracker.py +++ b/planning/Tracker.py @@ -2,7 +2,9 @@ import numpy as np import requests import math +from Config import Config +conf = Config class Tracker: def __init__(self, rd): self.robotDetector = rd @@ -85,17 +87,17 @@ def checkOrientation(self,frame): def go(self,correction): print("correction",correction) - post = 'http://18.219.63.23/flaskapp/post?onOff=1&turnAngle=0.0&correction='+str(correction) + post = conf.BASE_URL + '/flaskapp/post?onOff=1&turnAngle=0.0&correction='+str(correction) r = requests.get(post) #print("go",r.text) def stop(self): - post = 'http://18.219.63.23/flaskapp/post?onOff=0&turnAngle=0.0&correction=0' + post = conf.BASE_URL + '/flaskapp/post?onOff=0&turnAngle=0.0&correction=0' r = requests.get(post) #print("stop",r.text) def turn(self, d): - post = 'http://18.219.63.23/flaskapp/post?onOff=1&turnAngle='+str(d)+'&correction=0' + post = conf.BASE_URL + '/flaskapp/post?onOff=1&turnAngle='+str(d)+'&correction=0' r = requests.get(post) #print("turn",r.text) From e33daa730f4868bf3a00e9d7f733ba0703c96ff5 Mon Sep 17 00:00:00 2001 From: Lucas Federico Torroba Hennigen Date: Thu, 22 Mar 2018 16:08:23 +0000 Subject: [PATCH 2/4] fix the default BASE_URL This now points to our server --- planning/Config.example.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/planning/Config.example.py b/planning/Config.example.py index 50b7eaf..6d02e75 100644 --- a/planning/Config.example.py +++ b/planning/Config.example.py @@ -1,2 +1,2 @@ class Config: - BASE_URL = + BASE_URL = "http://18.219.63.23" From 01438f447b771060b034760f75de34426fc87983 Mon Sep 17 00:00:00 2001 From: Lucas Federico Torroba Hennigen Date: Thu, 22 Mar 2018 20:22:50 +0000 Subject: [PATCH 3/4] remove cached and compiled files --- __pycache__/alpha.cpython-35.pyc | Bin 6805 -> 0 bytes __pycache__/pathfinding.cpython-35.pyc | Bin 2371 -> 0 bytes __pycache__/video.cpython-35.pyc | Bin 9368 -> 0 bytes analysis/WallDetector.pyc | Bin 4440 -> 0 bytes analysis/__init__.pyc | Bin 1159 -> 0 bytes analysis/__pycache__/Camera.cpython-35.pyc | Bin 1689 -> 0 bytes analysis/__pycache__/PathDetector.cpython-35.pyc | Bin 5531 -> 0 bytes .../__pycache__/RobotDetector.cpython-35.pyc | Bin 3115 -> 0 bytes .../__pycache__/TargetDetector.cpython-35.pyc | Bin 3821 -> 0 bytes analysis/__pycache__/WallDetector.cpython-35.pyc | Bin 3952 -> 0 bytes analysis/__pycache__/__init__.cpython-35.pyc | Bin 897 -> 0 bytes planning/__pycache__/Controller.cpython-35.pyc | Bin 5325 -> 0 bytes planning/__pycache__/Planner.cpython-35.pyc | Bin 2800 -> 0 bytes planning/__pycache__/Tracker.cpython-35.pyc | Bin 3533 -> 0 bytes planning/__pycache__/__init__.cpython-35.pyc | Bin 577 -> 0 bytes 15 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 __pycache__/alpha.cpython-35.pyc delete mode 100644 __pycache__/pathfinding.cpython-35.pyc delete mode 100644 __pycache__/video.cpython-35.pyc delete mode 100644 analysis/WallDetector.pyc delete mode 100644 analysis/__init__.pyc delete mode 100644 analysis/__pycache__/Camera.cpython-35.pyc delete mode 100644 analysis/__pycache__/PathDetector.cpython-35.pyc delete mode 100644 analysis/__pycache__/RobotDetector.cpython-35.pyc delete mode 100644 analysis/__pycache__/TargetDetector.cpython-35.pyc delete mode 100644 analysis/__pycache__/WallDetector.cpython-35.pyc delete mode 100644 analysis/__pycache__/__init__.cpython-35.pyc delete mode 100644 planning/__pycache__/Controller.cpython-35.pyc delete mode 100644 planning/__pycache__/Planner.cpython-35.pyc delete mode 100644 planning/__pycache__/Tracker.cpython-35.pyc delete mode 100644 planning/__pycache__/__init__.cpython-35.pyc diff --git a/__pycache__/alpha.cpython-35.pyc b/__pycache__/alpha.cpython-35.pyc deleted file mode 100644 index e5fa2d4a0f5f9dccd797e246d1880d5d77cb03e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6805 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 Z+h=d)C^KW8oPKC?db)7l%G+bF{|`e-4w?V} diff --git a/__pycache__/pathfinding.cpython-35.pyc b/__pycache__/pathfinding.cpython-35.pyc deleted file mode 100644 index 4f5e12a6266db6ed83c0a4f5634f8d40e4ffbfcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2371 zcmZ8i+iu%N5S`^sqAt$GMjYiKF^UE$(bh%^v;~T^2vDOgT0kw}A_3SM0xhm2DikR% zSFvN*eW>#@{h5BizV<0UkcR*TdS+?)Mv2Se%5Dk3X4x~vCgM6hvFus0i_Mr#37}4 z4Xxaw6#urB+mv=F?OM4*67mY232Z57H@fu>IH(^9<5dSrzY};HvTAub5T4_%c#un| zvBSt?*N(u1SJyi5DP2MY>`QPBp1B(}P3zZ0PexghO4T27Hu&NvJNh1Xbq~XdpcA42 z1jh0Vg*@C*$$Vm^7i{~R6jDzgo@`CZncS+<`PR0q zUg>ha^&+dXve=rR zk>s_d4m`kSs>Q=?9ykwId~*5~N3HnC*jVx0juVK$?f4zf>W55gzIX!LZJ@tEi$Kqa zP6cT}I5d_W(k_z@H8Sqyh~UP-5R+KErSDF}}R zSdWTES)yD8{o&AQK&K7D46MD+y9R7vp~1q)rPC(!W*X8-lQjYlK8kw9Gu>M14}PYX z=P+Qlj<)wIhHx|`-DbR41j9O9t@kcKV9)Kn9g8KTQ*4Ju5zs4#)O+i=bMCIkUPJ1k zyXfu>9fCS@ggAIlFAx5qmt3U4&Qxjk73W&H7>sBc`XD|t;;HK3Jz6ndnhmvLhQ+?E zSmTv*S(s4CB+auzR>sW=ZG4p!V`&;n&hum_jbF|4OvlY6O$SApLNQl7FO zSfQTqz-uGt644DLCY&Y3B+)u4tSg&4p|-GUxUAf3dHfR=I6hleZe6WhUic$Lww5_% zF4vzxJtNUT#u6JnTg{wmSX}BcpV{iu6!nN)=mu9UcBsE*XF^zGXpJd>=t2MZ(e9)K zZ7RLNZF*y*%Gt*6Pxm%-iN}|F-_(b53s~d!VWua8JlU6d^;^`kP08}4?ra}nj%{zo zo##3ZM%j3wWL+m-s*=Olt0v`P_&Tf5M6+Z0BW73J zHpvMsUt8j#+Y+lneF5EZX!qFEM>^{Ar&Ax6>eW&0_RcKP^Ssn~wvW#vOL0&?)l;mE zJ=iCfYHAbjS0du_vu9_WTsi7Xgw1Dl$N!E`w_>7p#4T~#58Tz&&cjXvjeGTfI{(Xf diff --git a/__pycache__/video.cpython-35.pyc b/__pycache__/video.cpython-35.pyc deleted file mode 100644 index 1f3146017309031a7d6d9519da82d120e0e73752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9368 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 diff --git a/analysis/__pycache__/Camera.cpython-35.pyc b/analysis/__pycache__/Camera.cpython-35.pyc deleted file mode 100644 index e827624f6cb9eb72ee3bb7462b2183e10fdab2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1689 zcmZ`(&2HO95S}F|QBo+`L24BS3M2(m1Z;r{=sD;Q9Jn|8pdbO%1_Y~JJB%rc-lY=T zkkNzF7wDnrwa32FUVHK@^we*br0f_e#U0Jg&fk7B!|`x9_~G!c*`EQ?KXmKy!GDis zz5|hX1?5Du4KHZsIk`u6l(3QP%gV z3g`_|aVIQ6Duj^!!Sy!WY7Q8Owr5mTWyP_v9i0}(%68MTRE4y`TrW%O&)Wf#lA z`YV_k6+nSo{_HVa46Gpi&KuaFeIbulfV5J{G@iVNZ$#%q8 zd?B8Anct8uULw_10o>$+$mzhJ%Cx%bdk-6?SU7;Ug`vj{E*p5+a_VI}KVZrrj zBZ~HxP1I1UT%|_+Ptea{{^hNp?JXOtgSgMLUZ5~ZVh2gGSjtt-e3T@ot2D1qwEHe` z3%h#hhs-@#oc*pnVV?8^fItc~KaRwtA5t`R*j{>OSPQQ>+&F+;~N4gDOLJ aa50?5$DG>U(>lLzxgdsTA`+3<_WlD(NjxL~ diff --git a/analysis/__pycache__/PathDetector.cpython-35.pyc b/analysis/__pycache__/PathDetector.cpython-35.pyc deleted file mode 100644 index 1b38622a39c8712584ff2c1e3fcc0e62f8d1ebc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5531 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 AoB#j- diff --git a/analysis/__pycache__/RobotDetector.cpython-35.pyc b/analysis/__pycache__/RobotDetector.cpython-35.pyc deleted file mode 100644 index 559277760a2b6543f5d45d33b32a103a1029a244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3115 zcmb7GO>Y}z5T18;{cR^{o1{*QXb*^DKAJXMKtfIWk$%wDt(=0uim*1`t+T1U4)1Q- zIEqi{0mQKqXE?&IK;pu0crOTXK)!S00?*7kjvYXhwRd)Q-tT#ync4YLDc`^QZT*W9 z(XTXi+0a*TM~e_1{)*Z}b#z1O z(oMJHYu8Nqp}W!c*ZepR!d7H5Ek9lh_I#6W`(Z2IG^uBS7jIT9<3xV@vF4S(Bb~$J zkEO-UZpUAYyzRvse)J^nZZCcuL_s%PbVIk@i-Krz;s_VFdnVgx1Yr<28fo4>3sO0i zS9|l5T@Sl86?ef^z|Gy|*uO)G1=$0YoOb-&TR@bkFK&SwUh*||Xe&i0h?b( zLx%cU>gTAR=R@sd>O8Nc@Bm|GVc^GO3)q#ads!fKJ_1C8pWp?}{u%tq;%gQu2$K(D zU>gI8XuyCmZ*e&*6(_JINi{XOlk)s-ZN=0XuGj*ijRZPyWS1s?v9R3uD1H9)_7D~T{Wk! z-@baM+PM1gVeP>ujkP=XAKqIv#f|Px=z)nfkiJsTSza?0bljF-&vxAC$+h+lxcS7_ zq2D%k&}r2R8!!zQFwSP+Yom6J>KXOSs7+yNBJz9)_777jIs-u%^PeOr$<)La^oC}c^0Qxlvyl5m`n%hA&ev76vmZ|fT>^Q z7KfqK=U7$ujn&-6-8%-A$uM(jzV|-5MNCjqfJl|qv{i;Y4$-jp%Rp3MlqMi5{X0ZR z+ZjM70sfB=WfLfX)Fec}Y>1%PCm@=tjs@aT1WM?Q(9so~S-;8REr|aay#IlYew*ig zhvywbMqgwr1EaZm>Psvxv*3(>6h|h@?&e^Wd_0DZH4SXa*71CP*!^ac(+FSu9EH%Q zcmegXGM6qI6)`oeV@T$)%`wChOizG7(od2+Vny_pL{CzdkziwFY-ORSSB>ND29Xfk zq`bJd?N@R~Sxuk9@v$EGzEhe0|&x$pP0O5^@Wp)LuHgDWP>tt0T&!` z8&U(jvQXfsg~Ed-_$-5pVpj*Fn6IP~pU9Er@Eq1A6b2_~I`grlI(V zw}%fU?*w@#$vZ{fEO~R}&69VUS}3OpF~Aea%HWBTkDqc?65nqajqA&mfs{6myP@gI z%7E7xz9E5f+2FVH=g$4SJmA_PZ!JmMfiUDod#7 z(MbqW_QWrz_FkEE{^U1dwUX!0wh%?X(J=W&qto?v+N>8Fjn8-7cG9BRHBw*4;)Zj# zUS=VFK1w2@v1>J>%8ioZi&imJyjaW^i___1PTDGtNrgL|?Osx2q~!3Ju``Y)GuaQ4 P&0S&6L_BR#6|KJjC{;@e diff --git a/analysis/__pycache__/TargetDetector.cpython-35.pyc b/analysis/__pycache__/TargetDetector.cpython-35.pyc deleted file mode 100644 index e2961646e8644ab3b62938e10401f8dd496bcd58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3821 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 Mp&+8@imF)u0+R7D9RL6T diff --git a/analysis/__pycache__/__init__.cpython-35.pyc b/analysis/__pycache__/__init__.cpython-35.pyc deleted file mode 100644 index e2a958b2a08d388b3b51a4722fa6618876616bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 897 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 F{{rT2D)#^Y diff --git a/planning/__pycache__/Planner.cpython-35.pyc b/planning/__pycache__/Planner.cpython-35.pyc deleted file mode 100644 index 0106903153dd1fbed4af3140937c4a8e4a532648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2800 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 Date: Thu, 22 Mar 2018 20:25:37 +0000 Subject: [PATCH 4/4] add files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index dfd4696..fcedc30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ .vscode planning/Config.py + +*.pyc +__pycache__