From 7b95888e9f94d6b0b68796b46a10b39e71388e21 Mon Sep 17 00:00:00 2001 From: vivek-shankar Date: Fri, 23 Dec 2016 12:25:37 -0500 Subject: [PATCH] try catch for possible division by zero --- .gitignore | 1 + src/roscontroller.cpp | 9 +- src/test.basm | 175 ++++++++++++++++++++++++++++++ src/test.bdbg | Bin 0 -> 8092 bytes src/test.bo | Bin 0 -> 572 bytes src/test1.basm | 240 +++++++++++++++++++++--------------------- src/test1.bdbg | Bin 7571 -> 7797 bytes 7 files changed, 303 insertions(+), 122 deletions(-) create mode 100644 src/test.basm create mode 100644 src/test.bdbg create mode 100644 src/test.bo diff --git a/.gitignore b/.gitignore index e69de29..a7c46f8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +src/test* diff --git a/src/roscontroller.cpp b/src/roscontroller.cpp index b911019..97fb3ee 100644 --- a/src/roscontroller.cpp +++ b/src/roscontroller.cpp @@ -42,7 +42,7 @@ namespace rosbzz_node{ /*run once*/ ros::spinOnce(); /*loop rate of ros*/ - ros::Rate loop_rate(1); + ros::Rate loop_rate(10); /*sleep for the mentioned loop rate*/ loop_rate.sleep(); timer_step+=1; @@ -204,9 +204,14 @@ namespace rosbzz_node{ latitude=neighbours_pos_payload[0]; longitude = neighbours_pos_payload[1]; altitude=neighbours_pos_payload[2]; - neighbours_pos_payload[0]=sqrt(pow(latitude,2.0)+pow(longitude,2.0)+pow(altitude,2.0)); + try { + neighbours_pos_payload[0]=sqrt(pow(latitude,2.0)+pow(longitude,2.0)+pow(altitude,2.0)); neighbours_pos_payload[1]=atan(longitude/latitude); neighbours_pos_payload[2]=atan((sqrt(pow(latitude,2.0)+pow(longitude,2.0)))/altitude); + } catch (std::overflow_error e) { + std::cout << e.what() << " Error in convertion to spherical coordinate system "; + } + return neighbours_pos_payload; } diff --git a/src/test.basm b/src/test.basm new file mode 100644 index 0000000..c0422e6 --- /dev/null +++ b/src/test.basm @@ -0,0 +1,175 @@ +!19 +'init +'i +'a +'val +'step +'neighbors +'listen +'Take +'print +'Got ( +', +') from robot # +'key +'uav_takeoff +'uav_land +'broadcast +'no +'reset +'destroy + + pushs 0 + pushcn @__label_1 + gstore + pushs 4 + pushcn @__label_2 + gstore + pushs 17 + pushcn @__label_13 + gstore + pushs 18 + pushcn @__label_14 + gstore + nop + +@__label_0 + +@__exitpoint + done + +@__label_1 + pushs 1 |3,2,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 1 |3,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |3,5,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |4,2,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |4,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |4,5,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 3 |5,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |5,6,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |5,7,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + ret0 |6,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + +@__label_2 + pushs 1 |11,6,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |11,6,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |11,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + eq |11,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + jumpz @__label_3 |11,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 5 |12,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |12,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 6 |12,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + tget |12,16,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 7 |12,17,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushl @__label_5 |13,3,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 2 |16,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |16,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 5 |17,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |17,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 6 |17,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + tget |17,16,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 12 |17,17,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushl @__label_6 |18,3,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 2 |22,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |22,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 8 |23,5,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |23,5,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 3 |23,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |23,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 1 |23,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |23,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 3 |24,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |24,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 23 |24,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + eq |24,14,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |24,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |24,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |24,26,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + eq |24,27,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + and |24,28,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + jumpz @__label_7 |24,30,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 13 |25,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |25,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |25,14,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |25,14,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |26,2,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 1 |26,3,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |26,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz +@__label_7 |28,6,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |28,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |28,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 10 |28,15,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + eq |28,17,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + jumpz @__label_9 |28,19,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 14 |28,27,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |28,27,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |28,30,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |28,30,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz +@__label_9 |29,6,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |29,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |29,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 0 |29,15,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + neq |29,16,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + jumpz @__label_11 |29,18,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |29,20,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 2 |29,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |29,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 1 |29,24,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + add |29,25,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |29,25,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz +@__label_11 |30,0,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + jump @__label_4 |31,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz +@__label_3 |31,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 5 |32,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |32,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 15 |32,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + tget |32,19,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 12 |32,20,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 23 |32,27,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 2 |32,30,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |32,30,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 5 |33,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |33,9,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 15 |33,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + tget |33,19,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 7 |33,20,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 16 |33,28,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 2 |33,33,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |33,33,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz +@__label_4 |34,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + ret0 |36,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + +@__label_5 + pushs 8 |14,11,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |14,11,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 9 |14,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 1 |14,24,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 10 |14,26,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 2 |14,36,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 11 |14,38,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 3 |14,59,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 6 |14,60,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |14,60,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + ret0 |15,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + +@__label_6 + pushs 8 |19,11,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gload |19,11,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 9 |19,12,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 1 |19,24,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 10 |19,26,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 2 |19,36,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 11 |19,38,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 3 |19,59,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushi 6 |19,60,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + callc |19,60,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + pushs 3 |20,10,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + lload 2 |20,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + gstore |20,23,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + ret0 |21,4,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + +@__label_13 + ret0 |40,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz + +@__label_14 + ret0 |44,1,/home/vivek/catkin_ws/src/rosbuzz/src/test.bzz diff --git a/src/test.bdbg b/src/test.bdbg new file mode 100644 index 0000000000000000000000000000000000000000..faa9e50e6603fde2edc287179a80f038f855d25f GIT binary patch literal 8092 zcmb`MPi%})6vaoUNQ)M&KU1{RsHTaU2^LEI+1RjQW5c4_X3!LkPPH-#8#XpJY_PE* z5h4*H5kiQ>zeuo95+Ou_1q&9ssW|=mZk+8s^WNs0&HKG`&%N)x`+d_sC6!v3njAC3 zGndNm8#qwN5BCih`t!ZrL;ZaRyGDxn;$UxnaG=<8xKv7h4;6|-xt>z#DdtTLbEk`p zXP7rF%!Q<6cy&C-tQldhvAm4aSbRxfEC^38;|wv(TQ6e_jGC~1r>J8k7`DE#ygF79 zL-pe&^p~5LSH!3i{Wwc`$%u?`%FB9@aV~<6H4*Z19*m|CL!}r?2kB@K8E-Jp>Z4j@ zR8;)mFKS*!Nr!qCrlF%Y#Grb50iI?9L#_2n=%@<}^VYlfH&AXD1(uhwkr<0b#wKDk zij4P|XE{|py$BuIu)fNuijbE}q(j{=)uh9G@#c0jbl5qnGCoDf%V%P!eq13>ZQpqP zs3lMB-t{uBl8*XNYhK2d2zl8`47GRoN_m+r#`29Ab3{fx*+4&u%1D^UzSo{)c2?{#A0WU>gj_Bd3i_-^`6@u!P7SK zRPD9LBY4_Pu~^UT-M4>9hwABL%8S}NJRyd9@2`lEmp$aE)x6i!9CTO=s;6n_u=VX6 z@#@%1v8Z{eBps&5tK$V2&8V}9Vdt5bv6?(pzr*Y&Khz$k3XHjvp`_IN_BHuozIgrU zh~UR%#9=W2mkh6tLlHb(i^b=K_0{{f20G>k27V^P8_OWYqV{9!5KCK`I!2+RIWX+$ zjinPh+RN1O7CNlA#m{7Tb-cqwdw){D!(7A4R;Oxx)ImqN^)Uj5onLBw)PrH?m;Gnp z_4EiB_KjZc3qOESZeDIsUes7Vk`6VNo6uo(p`K%z2zfagAukQ2L+!PXkq)&l`~rs6 zhx#q&Hs!_gVL#cQ7n3_Kxah+@rjx`}RHj_)UJO--G@E DL`$kI literal 0 HcmV?d00001 diff --git a/src/test.bo b/src/test.bo new file mode 100644 index 0000000000000000000000000000000000000000..d463c94437e1b31a9b63a0cad37dd2888a9934dc GIT binary patch literal 572 zcmb7AOHRWu5S>Cz`4&b9-ngS8mJ5rHQcJXhJ`b=ha2m02A6PwrL)iI zY)-@k=6VG$YI*O;Y0EO;O4SAA&Z^=;H6CgUPB+>^p&Re)3J~Z!`=AhGpW$bK5yPu3 zW=9OK8A1iL42S^QuV6 zL^g!OZK}wm9n6HoSyd!8CmX}zoGS9(4#EK(xxwCukk`wfc zo5>y%X*!*cl+IF>$zF0IGr1K5?7WE-LK$+zx5BvkDl1RJiBo_nhJpzkovU@z{ z%?a+A{9;_|rsi<5^{m%U#YPJJ}Hq%aiSw31Fhh&32#CDF#RGatf3V2DV$| za117YVlX*EPSAAja;C_M+-whGq|-*}w5kz5G$+My813(7ax@0mX#y)Z+c9&}8Oo8D zoDKrJE{M6A%uqRUvpuGCR;x}rsT}zUcsvH!St|i!afw>a337rl=}zZq46sE5iyKcK z1<%NdyyVOoOso{9*SOqFP7+v%xka|dU~-C_$Q}EVz{=(HQaN(7y^7)FwTbkEXzgDu z;x~2@b3`7G|Ln5?RCY3NBG_N$C8um3k7+NjpnWkS-f1FuRLI|->@tyU3&|!j*mp4^ zE}4_QW}Qru6ZziBm`KxoGH4>`lVT{#J=wD4M4t8^hzY(vbUPV|QBID^k=LzJ6X^;- z<=3}7Igy!sG7(HRyn(sFR;e6$XDh@grzM6+D~ZTVzM2TYZc*=@^Cp5mk-=Ud5v*PA zh}%sBO@{B=+#=tJNw3P}ksZVmY~!|Zxt&}jCMe4-a*0IbKIw`9_BVm;SDAE^6TEG> znLM#iM>_HY{W5_?`@5Z7Arbth;TD-9u=`c8n`40OArZ_KcR9}~9sF$N7I|SJh*rJ< zuUa`+J>{)n+C;!YPG`nM@B%4s)Z0x2a|HXW8|)4e!Ha@h&vQiFP3e^2tP@ALkbyXAfU&&T_F|L_0q+LBDBE3|5 z^7xsFv2tysHd(Ee2aXS(9vUoH&W`^7dbn1vH@;WLD%Cxuk$Qd3Al9YQyarJ+h)t=q zRfCwavZhp;)ga2oVsk3ZX%O$M40i_`r=8d1iOf?XYcwG@3}Q5N#TZT-?sPWG9}j&cT;A7C0L# zH6h3OQnR?Wt6pT0gBE(@Jcudz45qv2hA1P$C$^PKcv%FMh|p zI7TecVoo8`#6oPX`|(6tDUlW})Cb0*m`c&;PA^Wx?VKSy#nu`y79B~5xT3U^of{IA z(~DUWBDU5eN@T6ZqJxBpPqU%8opVMW18aXY&S0&~MD%{GMr$Jy&VE=U5xr-pM&O0IAP$Edi331g}1QYoO4`zk&