Test cases all pass.  Wrist should be good.  Made it a bit snappier.
diff --git a/aos/common/control_loop/ControlLoop-tmpl.h b/aos/common/control_loop/ControlLoop-tmpl.h
index 80d592a..a15d909 100644
--- a/aos/common/control_loop/ControlLoop-tmpl.h
+++ b/aos/common/control_loop/ControlLoop-tmpl.h
@@ -64,8 +64,10 @@
         return;
       }
     }
-    position->Print(state, sizeof(state));
-    LOG(DEBUG, "position={%s}\n", state);
+    if (position) {
+      position->Print(state, sizeof(state));
+      LOG(DEBUG, "position={%s}\n", state);
+    }
   }
 
   bool outputs_enabled = false;