/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠSoft Bank ĠRobot ics ĠEurope Ċ Ġ* ĠSee ĠCOPYING Ġfor Ġthe Ġlicense Ċ Ġ*/ Ċ @ file : Jvm Name (" Frame Utils ") Ċ Ċ package Ġcom . soft bank robot ics . sample . attention state checker . utils Ċ Ċ import Ġcom . al de bar an . qi . sdk .` object `. act uation . Frame Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠProvide Ġthe Ġdistance Ġbetween Ġthe Ġtwo Ġspecified Ġframes , Ġin Ġmeters . Ċ Ġ* Ċ Ġ* Ġ@ return ĠThe Ġdistance Ġbetween Ġthe Ġtwo Ġspecified Ġframes , Ġin Ġmeters . Ċ Ġ*/ Ċ fun ĠFrame . distance From ( frame : ĠFrame ): ĠDouble Ġ{ ĊĠĠĠ Ġval Ġtranslation Ġ= Ġcompute Transform ( frame ). transform . translation ĊĠĠĠ Ġval Ġx Ġ= Ġtranslation . x ĊĠĠĠ Ġval Ġy Ġ= Ġtranslation . y ĊĠĠĠ Ġreturn ĠMath . sqrt ( x Ġ* Ġx Ġ+ Ġy Ġ* Ġy ) Ċ } Ċ Ċ /** Ċ Ġ* ĠProvide Ġan Ġobservable Ġdistance Ġbetween Ġthe Ġtwo Ġspecified Ġframes , Ġin Ġmeters . Ċ Ġ* Ċ Ġ* Ġ@ return ĠAn Ġobservable Ġof Ġthe Ġdistance Ġbetween Ġthe Ġtwo Ġspecified Ġframes , Ġin Ġmeters . Ċ Ġ*/ Ċ fun ĠFrame . distance Observable From ( frame : ĠFrame ): ĠObservable < Double > Ġ{ ĊĠĠĠ Ġreturn ĠObservable . interval ( 1 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġdistance From ( frame ) Ġ} Ċ } Ċ