   (vec (map s [:x :y :theta])))
 
 (def *base-poses*
- {"bottle1"  [6.409466889875168 11.530285568135294 4.710902006993992]
-  "bottle2"  [6.209466889875168 11.530285568135294 4.710902006993992]
-  "bottle3"  [5.809466889875168 11.530285568135294 4.710902006993992]
-  "bottle4"  [5.609466889875168 11.530285568135294 4.710902006993992]
-  "bottle5"  [4.909466889875168 11.530285568135294 4.710902006993992]
-  "bottle6"  [4.786408482748747 11.540439761096412 4.753068777678795]
+ {"bar1"     [6.437874062648721 11.352025609433628 4.669874589982046]
+  "bar2"     [5.661619892642673 11.37858467149445 4.668634133660416]
+  "bar3"     [4.804873093623918 11.504700687986952 4.569583493240115]
+;  "bottle1"  [6.409466889875168 11.530285568135294 4.710902006993992]
+;  "bottle2"  [6.209466889875168 11.530285568135294 4.710902006993992]
+;  "bottle3"  [5.809466889875168 11.530285568135294 4.710902006993992]
+;  "bottle4"  [5.609466889875168 11.530285568135294 4.710902006993992]
+;  "bottle5"  [4.909466889875168 11.530285568135294 4.710902006993992]
+;  "bottle6"  [4.786408482748747 11.540439761096412 4.753068777678795]
   "sink"     [9.775719015305087 7.97835357846113 4.7050955900786775]
              ;[9.925816301291352 8.226765986011085 4.7293563029386245]
   "trash"    [3.5361214867946433 11.34070696450406 4.693141702363712]

     (defn ~'go-base [~'s] 
       (move-base-to-state ~'nh (if (string? ~'s) (apply make-robot-base-state (safe-get* *base-poses* ~'s)) ~'s)))
     
     (defn ~'go-arm 
       ([~'j] (~'go-arm ~'j 1.0))  
       ([~'j ~'speed-mul]
	  (move-arm-directly-to-state ~'nh (arm-joint-state true ~'j) 10 (* 0.1 ~'speed-mul))))
     (defn ~'go-arm-traj 
       ([~'j] (~'go-arm-traj ~'j 1.0))
       ([~'j speed-mul#]

  )

(defn close-gripper 
  ([nh] (close-gripper nh 60 false))
  ([nh force empty?] 
     (apply-gripper-force nh true (- force))
     (when-not empty? (attach-bottle nh))
