 (defn get-robot-position
   "Get the current position of the robot using the sensors if true"
   [robot use-sensors]
-  (call-service robot :motion "getRobotPosition"  [use-sensors]))
+  (->
+   (call-service robot :motion "getRobotPosition"  [use-sensors])
+   (.get)))
 
 (defn get-position
   "Get the current 6D position (x, y, z, wx, wy, wz) of named component, using the sensors if use-sensors is true"
   [robot name space use-sensors]
-  (call-service robot :motion "getPosition" [name space use-sensors]))
+  (->
+   (call-service robot :motion "getPosition" [name space use-sensors])
+   (.get)))
 
 (defn get-sensor-names
   "Get the names of the available sensors"
   [robot]
-  (call-service robot :motion "getSensorNames"))
+  (->
+   (call-service robot :motion "getSensorNames")
+   (.get)))
 
 ; text to speech
 (defn say

(defn get-joint-angles
  "Return a map of the current joint angles for a robot"
  [robot]
  (zipmap joint-names
          (call-service robot :motion "getAngles"
                      ["Body" true])))
(defn get-body-names
  "Return names of joints in the specified chain"
  [robot name]
  (call-service robot :motion "getBodyNames"  [name]))

;; broken - can't construct variant holding array of values
(defn set-joint-angles

(defn get-language
  "Get the currently defined text-to-speech language"
  [robot]
  (->
   (call-service robot :tts "getLanguage")
   (.get)))

(defn set-language
  "Set the language the robot should use"
