new_contents: #!/usr/bin/env python
  
  import rospy
  from autobot.msg import drive_param
  from autobot.msg import wall_dist
  from autobot.msg import pathFinderState
  from autobot.msg import detected_object
  from autobot.srv import *
  from pathFinder import PathConfig
  
  """
  This node is responsible for configuring the pathFinder node
  when an object is detected.
  
  TODO:
  - [ ] Implement callbacks
  - [ ] Think of the best way to store images in between decision intervals
  """
  
  PATH_STATE = PathConfig()
  PUB_DRIVE = rospy.Publisher('drive_parameters', drive_param, queue_size=10)
  DECISION_RATE_SEC = 0.5
  
  
  def srvTogglePathFinder(state):
      try:
          rospy.wait_for_service('togglePathFinder', timeout=0.2)
          srv = rospy.ServiceProxy('togglePathFinder', TogglePathFinder)
          srv(state)  # ignore ACK response
      except rospy.ROSException, e:
          # print "Service called failed: %s" % e
          pass
  
  
  def zeroVelocity():
      global velocity
      velocity = 0
      stdscr.addstr(4, 16, '%.2f' % velocity)
      srvTogglePathFinder(False)
  
  
  def setWallDist(wall, dist):
      try:
          rospy.wait_for_service('adjustWallDist')
          adjustWall = rospy.ServiceProxy('adjustWallDist', AdjustWallDist)
          cmd = wall_dist()
          cmd.wall = wall
          cmd.dist = dist
          resp = adjustWall(cmd)
          return resp
      except rospy.ROSException, e:
          # print "Service called failed: %s" % e
          pass
  
  
  def convertWallToString(wall):
      # WALL_LEFT=0
      # WALL_FRONT=1
      # WALL_RIGHT=2
      if (wall is wall_dist.WALL_LEFT):
          return "Left"
      elif (wall is wall_dist.WALL_RIGHT):
          return "Right"
      elif (wall is wall_dist.WALL_FRONT):
          return "Front"
      else:
          return "Unknown"
  
  
  def pathFinderUpdated(status):
      global PATH_STATE
      PATH_STATE.velocity = status.velocity
      PATH_STATE.wallToWatch = status.hug.wall
      PATH_STATE.desiredTrajectory = status.hug.dist
      PATH_STATE.enabled = status.enabled
  
  
  def onDecisionInterval(event):
      """
      Makes pathing decision based on list of objects detected
      """
      pass
  
  
  def onObjectDetected(msg):
      """
      message type == detected_object.msg
  
      m.class: str
      m.distance: float32
      m.box: bounding_box
      """
      pass
  
  
  if __name__ == '__main__':
      global DECISION_RATE_SEC
      rospy.Subscriber("pathFinderStatus", pathFinderState, pathFinderUpdated)
      rospy.Subscriber("drive_parameters", drive_param, driveParamsUpdated)
      rospy.Subscriber("object_detector", detected_object, onObjectDetected)
      rospy.Timer(rospy.Duration(DECISION_RATE_SEC), callback=onDecisionInterval)
      rospy.spin()
  
subject: Add bare navigation node