package Ġeu . f jet land . loom os ocket server . data Ċ Ċ import Ġeu . f jet land . loom os ocket server . loom o . Lo omo Real Sense Ċ import Ġorg . json . JSONObject Ċ Ċ class ĠData Resp once Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ ĠData Ġreturn Ġtypes ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ ĠAll Ġnew Ġreturn Ġstructures Ġmust Ġbe Ġregister d Ġin Ġlist ĊĠĠĠĠĠĠĠĠ Ġ* Ġ Ġat Ġthe Ġend Ġof Ġthe Ġcompanion Ġobject Ġto Ġbe Ġaction able Ġtr ugh Ġtcp ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDATA _ LBL Ġ= Ġ" dat " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTIME _ LBL Ġ= Ġ" time " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE Ġ= Ġ" img " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ TYPE Ġ= Ġ" type " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ TYPE _ COLOR Ġ= Ġ" Color " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ TYPE _ COLOR _ SMALL Ġ= Ġ" Color Small " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ TYPE _ DEPTH Ġ= Ġ" Depth " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ SIZE Ġ= Ġ" size " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ WIDTH Ġ= Ġ" width " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ HEIGHT Ġ= Ġ" height " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS UR ROUND INGS Ġ= Ġ" s Sur " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS UR ROUND INGS _ IR LEFT Ġ= Ġ" irl " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS UR ROUND INGS _ IR RIGHT Ġ= Ġ" ir r " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS UR ROUND INGS _ UL TR ASON IC Ġ= Ġ" uss " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW HE EL _ SPEED Ġ= Ġ" s WS " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW HE EL _ SPEED _ L Ġ= Ġ" vl " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠW HE EL _ SPEED _ R Ġ= Ġ" vr " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D Ġ= Ġ" s P 2 d " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D _ X Ġ= Ġ" x " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D _ Y Ġ= Ġ" y " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D _ TH Ġ= Ġ" th " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D _ VL Ġ= Ġ" vl " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPO SE 2 D _ VA Ġ= Ġ" va " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHEAD _ WORLD Ġ= Ġ" s HP w " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHEAD _ JO INT Ġ= Ġ" s HP j " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHEAD _ P ITCH Ġ= Ġ" p " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHEAD _ ROLL Ġ= Ġ" r " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHEAD _ Y AW Ġ= Ġ" y " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ IM U Ġ= Ġ" s BP " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ IM U _ P ITCH Ġ= Ġ" p " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ IM U _ ROLL Ġ= Ġ" r " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ IM U _ Y AW Ġ= Ġ" y " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ TICK Ġ= Ġ" s BT " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ TICK _ L Ġ= Ġ" l " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ TICK _ R Ġ= Ġ" r " ĊĊĠĠĠĠĠĠĠ Ġval ĠDAT ALIST Ġ= ĠlistOf ( SUR ROUND INGS , ĠW HE EL _ SPEED , ĠPO SE 2 D , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHEAD _ WORLD , ĠHEAD _ JO INT , ĠBASE _ IM U , ĠBASE _ TICK , ĠIMAGE ) ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ ĠData Ġto Ġjson ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġsens Sur round ings 2 JSON ( data : ĠS ens Sur round ings ) Ġ: ĠJSONObject { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , Ġdata . label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( SUR ROUND INGS _ IR LEFT , Ġdata . IR _ Left ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( SUR ROUND INGS _ IR RIGHT , Ġdata . IR _ Right ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( SUR ROUND INGS _ UL TR ASON IC , Ġdata . Ul tra S onic ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Wheel Speed 2 JSON ( data Ġ: ĠS ens Wheel Speed ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , Ġdata . label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( W HE EL _ SPEED _ L , Ġdata . Speed Left ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( W HE EL _ SPEED _ R , Ġdata . Speed Right ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Head Pose World 2 JSON ( data : ĠS ens Head Pose World ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠHEAD _ WORLD ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ P ITCH , Ġdata . pitch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ ROLL , Ġdata . roll ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ Y AW , Ġdata . yaw ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Head Pose Joint 2 JSON ( data : ĠS ens Head Pose Joint ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠHEAD _ JO INT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ P ITCH , Ġdata . pitch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ ROLL , Ġdata . roll ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( HEAD _ Y AW , Ġdata . yaw ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Base Pose 2 JSON ( data Ġ: ĠS ens Base Im u ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠBASE _ IM U ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( BASE _ IM U _ P ITCH , Ġdata . pitch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( BASE _ IM U _ ROLL , Ġdata . roll ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( BASE _ IM U _ Y AW , Ġdata . yaw ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Base Tick 2 JSON ( data Ġ: ĠS ens Base Tick ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠBASE _ TICK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( BASE _ TICK _ L , Ġdata . left ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( BASE _ TICK _ R , Ġdata . right ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Pose 2 D 2 JSON ( data Ġ: ĠS ens Pose 2 D ) Ġ: ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠPO SE 2 D ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( POSE 2 D _ X , Ġdata . x ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( POSE 2 D _ Y , Ġdata . y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( POSE 2 D _ TH , Ġdata . theta ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( POSE 2 D _ VL , Ġdata . linear Velocity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( POSE 2 D _ VA , Ġdata . angular Velocity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġdata Ġ 2 Ġjson Ġstring ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĊĠĠĠĠĠĠĠ Ġfun Ġsens Image 2 JSON string ( data : ĠImage Response ) Ġ: ĠString { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( DATA _ LBL , ĠIMAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( IMAGE _ SIZE , Ġdata . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( IMAGE _ TYPE , Ġdata . type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( IMAGE _ WIDTH , Ġdata . width ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . put ( IMAGE _ HEIGHT , Ġdata . height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjson . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠS ens Sur round ings ( ĊĠĠĠ Ġval ĠIR _ Left Ġ: ĠInt , ĊĠĠĠ Ġval ĠIR _ Right Ġ: ĠInt , ĊĠĠĠ Ġval ĠU l tra S onic Ġ: ĠInt , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . SUR ROUND INGS ) Ċ Ċ data Ġclass ĠS ens Wheel Speed ( ĊĠĠĠ Ġval ĠSpeed Left Ġ: ĠFloat , ĊĠĠĠ Ġval ĠSpeed Right Ġ: ĠFloat , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . W HE EL _ SPEED Ċ ) Ċ Ċ data Ġclass ĠS ens Head Pose World ( ĊĠĠĠ Ġval Ġpitch Ġ: ĠFloat , ĊĠĠĠ Ġval Ġroll Ġ: ĠFloat , ĊĠĠĠ Ġval Ġyaw Ġ: ĠFloat , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . HEAD _ WORLD Ċ ) Ċ Ċ data Ġclass ĠS ens Head Pose Joint ( ĊĠĠĠ Ġval Ġpitch Ġ: ĠFloat , ĊĠĠĠ Ġval Ġroll Ġ: ĠFloat , ĊĠĠĠ Ġval Ġyaw Ġ: ĠFloat , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . HEAD _ JO INT Ċ ) Ċ Ċ data Ġclass ĠS ens Base Im u ( ĊĠĠĠ Ġval Ġpitch Ġ: ĠFloat , ĊĠĠĠ Ġval Ġroll Ġ: ĠFloat , ĊĠĠĠ Ġval Ġyaw Ġ: ĠFloat , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . BASE _ IM U Ċ ) Ċ Ċ data Ġclass ĠS ens Base Tick ( ĊĠĠĠ Ġval Ġleft Ġ: ĠInt , ĊĠĠĠ Ġval Ġright Ġ: ĠInt , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . BASE _ TICK Ċ ) Ċ Ċ data Ġclass ĠS ens Pose 2 D ( ĊĠĠĠ Ġval Ġx Ġ: ĠFloat , ĊĠĠĠ Ġval Ġy Ġ: ĠFloat , ĊĠĠĠ Ġval Ġtheta Ġ: ĠFloat , ĊĠĠĠ Ġval Ġlinear Velocity Ġ: ĠFloat , ĊĠĠĠ Ġval Ġangular Velocity : ĠFloat , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . POSE 2 D Ċ ) Ċ Ċ data Ġclass ĠImage Response ( ĊĠĠĠ Ġvar Ġtype Ġ: ĠString Ġ= ĠData Resp once . IMAGE _ TYPE _ COLOR _ SMALL , ĊĠĠĠ Ġvar Ġsize Ġ: ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġwidth Ġ: ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġheight Ġ: ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġval Ġlabel Ġ: ĠString Ġ= ĠData Resp once . IMAGE Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠData Resp once . IMAGE _ TYPE _ COLOR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= ĠL oom o Real Sense . COLOR _ WIDTH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= ĠL oom o Real Sense . COLOR _ HEIGHT ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= ĠL oom o Real Sense . SMALL _ COLOR _ WIDTH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= ĠL oom o Real Sense . SMALL _ COLOR _ HEIGHT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }