1. 24 May, 2005 8 commits
    • Russ Fish's avatar
    • Leigh B. Stoller's avatar
      Have the locpiper save dynamic obstacles (internally) so that when a · 30b6f8f9
      Leigh B. Stoller authored
      new client connects, we can dump the current set to the applet. I'm
      still holding off on putting them into the DB (really do not think
      this is the right thing to do, but I can be convinced otherwise).
      
      Change battery code in the locpiper so that if the data for a robot is
      more then 10 minutes old, stop sending updates for that robot.
      
      For the applet, add a little daemon thread that checks to see if
      battery updates have stopped, and if so, change the color of the robot
      to blue (cold and stale). This makes it more clear which robots are
      working and which are turned off.
      
      Fix collision detection code so that we test for the center of a robot
      overlapping with an obstacle, rather then radius of the area it sweeps
      (Tim said this was the correct thing to do).
      30b6f8f9
    • Robert Ricci's avatar
      Escape the shell arguments individually, instead of as a group - doing · dcd8d01f
      Robert Ricci authored
      the latter gives us one big argument with spaces, etc. escaped.
      dcd8d01f
    • Robert Ricci's avatar
      Add port speed and duplex the the -b/-B options, so that Mike can · b0999364
      Robert Ricci authored
      monkey around with autodetection to attempt to get carrier on
      unresponsive interfaces.
      b0999364
    • Timothy Stack's avatar
      · cf9ae072
      Timothy Stack authored
      Add topography as an event object type, we use this to notify applets
      about dynamic obstacles.  Some event-sched fixes are also included.
      
      	* lib/libtb/tbdefs.h, lib/libtb/tbdefs.c: Add TOPOGRAPHY object
      	and CREATE event.
      
      	* robots/emc/emcd.c: Some cleanup for the events that get sent for
      	dynamic obstacles.
      
      	* tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in,
      	tbsetup/ns2ir/topography.tcl: Add Topography's to the virt_agents
      	table.
      
      	* event/sched/error-record.c: Fix the format for the filenames
      	generated by the program-agent.
      
      	* event/sched/event-sched.c: Mark the start of TIME, change how
      	rmcd/vmcd get restarted, and fix the ordering of some events on
      	startup.
      
      	* event/sched/simulator-agent.h, event/sched/simulator-agent.cc:
      	Record when TIME starts, change how the report is generated, and
      	the current time to log messages.
      
      	* event/sched/rpc.h, event/sched/rpc.cc: Add the "virtual"
      	topography name to the emcd.config, it's used when sending events
      	concerning dynamic obstacles.
      cf9ae072
    • Timothy Stack's avatar
    • Leigh B. Stoller's avatar
      Oops, turn of debugging mode. · eaecd483
      Leigh B. Stoller authored
      eaecd483
    • Leigh B. Stoller's avatar
      Checkpoint new dynamic obstacle stuff that Tim requested. This is not · 959742d6
      Leigh B. Stoller authored
      well tested, but will get tested now!
      
      The gist is that Tim now generates TOPOGRAPHY events that define an
      dynamic obstacle that is drawn in the applet and added to the list of
      obstacles to be checked for collisons (when submitting moves).
      959742d6
  2. 23 May, 2005 5 commits
    • Russ Fish's avatar
      Run-scripts for /etc/init.d · e84b8467
      Russ Fish authored
      e84b8467
    • Russ Fish's avatar
    • Timothy Stack's avatar
    • Leigh B. Stoller's avatar
      Add a set_time_limit(0) call. I'm thinking this is why the webcams stop · ca5b55f1
      Leigh B. Stoller authored
      spewing after a while.
      ca5b55f1
    • Timothy Stack's avatar
      · a1000b60
      Timothy Stack authored
      Some RMCD debugging and improvements.
      
      	* robots/emc/GNUmakefile.in, robots/rmcd/GNUmakefile.in: Fix some
      	of the dependencies.
      
      	* robots/emc/emcd.c: Bump default speed for events to 0.2 m/s.
      	Send an event when a dynamic obstacle is updated.
      
      	* robots/emc/emcd.h: Send position updates three times a second.
      
      	* robots/mtp/listNode.h, robots/mtp/listNode.c: Add a function to
      	prepend a list onto another.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.h, robots/mtp/mtp.c: Add
      	support for sending updates concerning dynamically detected
      	obstacles.
      
      	* robots/rmcd/masterController.h, robots/rmcd/masterController.c:
      	When a robot is stationary, add it as an obstacle.  Play with the
      	pause time a bit.
      
      	* robots/rmcd/obstacles.h, robots/rmcd/obstacles.c: Add robots as
      	a third type of obstacle.  Do not expand static obstacles when the
      	robot detects something with its sensors.  Add some more checks to
      	make sure the obstacle list is sane.  When
      	creating/growing/removing dynamic obstacles, send a notification
      	to emcd so it can be passed on to the applet.  More comments.
      
      	* robots/rmcd/pathPlanning.h, robots/rmcd/pathPlanning.c: When
      	monkeying with the obstacle list, we need to make sure the
      	obstacles are put back in the right order (dynamic before static).
      	More comments.
      
      	* robots/rmcd/pilotConnection.c: Add some more stuff to the
      	SIGINFO print out.
      
      	* robots/rmcd/rmcd.c: Initialize the emcd mtp handle for sending
      	updates for obstacles.
      
      	* robots/mtp/mtp_dump.c, robots/vmcd/visionTrack.c: Remove macros
      	that are now defined elsewhere.
      a1000b60
  3. 20 May, 2005 9 commits
    • Mike Hibler's avatar
      Yet another jail option: ipdivert · 103766db
      Mike Hibler authored
      to enable use of divert sockets in jails.
      
      Change tmcd to pass back an indication that divert sockets should be enabled.
      103766db
    • Russ Fish's avatar
      Add camera checker daemon. · 392a65b2
      Russ Fish authored
      392a65b2
    • Leigh B. Stoller's avatar
      Oops, flip back to user after the fork. · 57501b7d
      Leigh B. Stoller authored
      In case I didn't mention it; this script is setuid so it can kill
      itself later on the swapout path. It drops privs right away.
      57501b7d
    • David G Andersen's avatar
    • Leigh B. Stoller's avatar
      Checkpoint some robot changes. · 5f67fe09
      Leigh B. Stoller authored
      * New robot event listener:
      
          * It is intended to be started and stopped from the experiment
            swapin path instead of as a global daemon. It takes the pid/eid
            of the experiment, and will deal with events only for those
            nodes that are allocated to the experiment. We have some long
            range plans of time sharing the robot lab, so I figured we might
            as get a little bit of a start on that.
      
          * Once it fires up, it subscribes to the usual assortment of
            events, just like the loclistener does.
      
          * It then binds a socket on which to listen for connections from
            the web server.
      
          * Then it loops, looking for events and for connections from the
            web server. Connections from the web server are for forwarding
            the event stream in real time to whatever applets are currently
            viewing the robot lab.
      
          * As each event comes in, it is parsed, entered into the DB (nodes
            and location_info table), and fired out (in a textual form) to
            all the applet listeners. The web interface just acts as pipe in
            this case for the data.
      
          * The event stream is also duplicated to a file in the experiment
            directory (the same stuff that is piped to the applet), named by
            the current resource record ID. I hope to use this stream to
            playback the motion in the applet (coupled with webcam images
            once I figure out how to sync them).
      
      * tbswap: Start and stop the new listener.
      
      * Robotrack: I changed the interface for how we actually communicate
        the event data. Much more reasonable then it was (a comma separated
        string of numbers!).
      
      * new database fields in the experiments table to hold the process ID
        of the listener and the port it is listening on. The port is not
        used yet, as the robot lab is still not shared. Will need to revist
        this later. Currently uses a fixed port number.
      
      * www/robotrack/robopipe.php3: Killed most of the old code and replace
        with simple socket connect to the listener.
      5f67fe09
    • Leigh B. Stoller's avatar
      Change to stats gathering code. Generate a new experiment_resources · c5b79546
      Leigh B. Stoller authored
      record for each swapin (previously, it was just at swapmod). The
      reason for this is that as the testbed gets more fragmented in terms
      of hardware, it is less and less likely that consecutive swapins of
      the same experiment will use the same number of physical resources.
      
      We end up with some duplication of data inside the table, but no big
      deal. I suspect we will revisit this per experiment state as the
      workbench stuff proceeds.
      c5b79546
    • Leigh B. Stoller's avatar
      Build new jar file for Tim. · 29759ea3
      Leigh B. Stoller authored
      29759ea3
    • Timothy Stack's avatar
    • Leigh B. Stoller's avatar
      Cheesy hack to avoid confusing people with output. The stats scripts · 58919d32
      Leigh B. Stoller authored
      need output formatting work, but its too low priority to find the time.
      58919d32
  4. 19 May, 2005 5 commits
  5. 18 May, 2005 6 commits
  6. 17 May, 2005 7 commits