1. 02 Feb, 2005 1 commit
  2. 01 Feb, 2005 5 commits
  3. 31 Jan, 2005 4 commits
  4. 27 Jan, 2005 3 commits
  5. 26 Jan, 2005 9 commits
  6. 25 Jan, 2005 1 commit
  7. 24 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · 3c1a5bad
      Timothy Stack authored
      Robot related stuff: power via e-mail, client-install fixups, checking
      coords against camera boundaries.
      
      	* configure, configure.in: Add tbsetup/power_mail.pm to the list
      	of template files.
      
      	* doc/cross-compiling.txt: More stargate notes.
      
      	* event/sched/rpc.cc: Updates for the addition of the cameras
      	table.
      
      	* robots/GNUmakefile.in, robots/emc/GNUmakefile.in,
      	robots/mtp/GNUmakefile.in, robots/rmcd/GNUmakefile.in,
      	robots/tbsetdest/GNUmakefile.in, robots/vmcd/GNUmakefile.in:
      	client-install fixups.
      
      	* tbsetup/GNUmakefile.in: Add power_mail.pm.
      
      	* tbsetup/os_setup.in: Don't skip reboot of robots anymore.
      
      	* tbsetup/power.in: Add special case for a power_id of "mail",
      	which calls into the power_mail.pm backend.
      
      	* tbsetup/power_mail.pm.in: E-mail backend for power, it sends an
      	e-mail to tbops and waits for the outlets.last_power value to be
      	updated from the power.php3 web page.
      
      	* tbsetup/ns2ir/parse-ns.in: Add the contents of the cameras table
      	to the TBCOMPAT namespace.
      
      	* tbsetup/ns2ir/sim.tcl.in: More checking of "setdest" inputs.
      
      	* tbsetup/ns2ir/topography.tcl: Update the checkdest method to
      	check destination points against the camera list.
      
      	* www/powertime.php3: Webpage used to update the last power time
      	for nodes.
      
      	* www/shownode.php3: Add "Update Power Time" menu button.
      3c1a5bad
  8. 22 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · 74f61a9f
      Timothy Stack authored
      More robot stuff, start in on path planning and cleanup rmcd a bit.
      
      	* robots/emc/emcd.c: Update for obstacle-related changes in mtp.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.h, robots/mtp/mtp.c,
      	robots/mtp/mtp_send.c: Add messages for requesting/reporting robot
      	sensor contacts, plus some cosmetic changes to the obstacle_config
      	structure.
      
      	* robots/primotion/garcia-pilot.cc,
      	robots/primotion/pilotClient.hh, robots/primotion/pilotClient.cc:
      	Add support for sending "contact" reports, which contain points
      	where the sensors have detected an object.
      
      	* robots/rmcd/GNUmakefile.in, robots/rmcd/obstacles.h,
      	robots/rmcd/obstacles.c, robots/rmcd/pilotConnection.h,
      	robots/rmcd/pilotConnection.c, robots/rmcd/rclip.h,
      	robots/rmcd/rclip.c, robots/rmcd/rmcd.c: Cleanup and add in some
      	obstacle avoidance.
      74f61a9f
  9. 21 Jan, 2005 2 commits
    • Timothy Stack's avatar
      Local version of the NS "setdest" util, unsupported things like ad-hoc · 3720bffe
      Timothy Stack authored
      link changes were stripped out, and it was updated to only generate
      points within the camera viewable portion of the robot area (which is
      obtained from the rpc server).
      3720bffe
    • Timothy Stack's avatar
      · aef98f9a
      Timothy Stack authored
      Add tbsetdest utility for generating random "setdest" events for the
      robots, it's just based on the original NS version.
      
      	* configure, configure.in: Add tbsetdest stuff to the list of
      	template files.  Fix from my last checkin, change error for
      	missing rsync to a warning.
      
      	* robots/GNUmakefile.in: Add tbsetdest subdir.
      
      	* robots/tbsetdest/GNUmakefile.in, robots/tbsetdest/tbsetdest.h,
      	robots/tbsetdest.cc: Original version of the NS "setdest"
      	utility.
      aef98f9a
  10. 20 Jan, 2005 3 commits
  11. 18 Jan, 2005 2 commits
  12. 17 Jan, 2005 2 commits
    • Timothy Stack's avatar
      · 1e18722e
      Timothy Stack authored
      More robot tweaks:
      
      	* event/sched/event-sched.c: Start rmcd, then vmcd.
      
      	* event/sched/rpc.cc: Add camera dimensions to the config file.
      
      	* robots/emc/emcd.c: Add camera dimensions to the config file and
      	destroy vmc's position_list when it disconnects.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.c: Add dimensions to the camera
      	config and add a command_id field to the update_position packet.
      
      	* robots/primotion/garcia-pilot.cc: Move the decl of the acpGarcia
      	object below daemon(3) since it doesn't seem to like it when the
      	parent process dies and fix the log file creation.
      
      	* robots/primotion/pilotClient.cc: Pass the command_id back in any
      	update_position packets.
      
      	* robots/rmcd/rmcd.c: Use the command-id to distinguish between
      	STOPs for the sake of a GOTO and a wiggle.
      
      	* robots/vmcd/visionTrack.h, robots/vmcd/visionTrack.c: Only
      	coalesce packets from different cameras (duh) and mess with the
      	tolerances a little more.
      
      	* xmlrpc/emulabserver.py.in: Add some rough camera dimensions.
      1e18722e
    • Timothy Stack's avatar
      · 11cceda4
      Timothy Stack authored
      Some cleanup to the vision system and make wiggle work, although it is still
      a bit glitchy.  This checkin is enough to identify the robots in their
      pens and move them to their initial positions.
      
      	* robots/emc/emcd.h, robots/emc/emcd.c: When rmc connects, send
      	GOTOs with the initial positions given in the config file.  If rmc
      	requests a vision update and one isn't available, queue the
      	request and send a reply when an update does come in.
      
      	* robots/mtp/GNUmakefile.in, robots/mtp/listNode.h,
      	robots/mtp/listNode.c: Add amiga-style linked list node functions,
      	tim always needs these.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c: Add mtp_theta function that
      	produces a sane theta value between -M_PI and M_PI.
      
      	* robots/mtp/mtp.x: Add MTP_WIGGLE_START type which causes the
      	robots to stop in their tracks waiting for a real wiggle type
      	(e.g. 180 deg turn).
      
      	* robots/rmcd/rmcd.c: Tweaks, add support for MTP_WIGGLE_START.
      
      	* robots/vmcd/GNUmakefile.in, robots/vmcd/robotObject.h,
      	robots/vmcd/robotObject.c, robots/vmcd/visionTrack.h,
      	robots/vmcd/visionTrack.c, robots/vmcd.c: Cleanup and make wiggle
      	work.
      
      	* robots/vmcd/vmc-client.c: If there are no objects detected in a
      	camera send an error packet instead of nothing, so vmcd can keep
      	in sync with the frames.
      11cceda4
  13. 15 Jan, 2005 2 commits
  14. 14 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · bfb38f51
      Timothy Stack authored
      Pass camera config to vmcd in the config_vmc packet and add support
      for using unix-domain sockets when talking to emcd instead of
      unsecured tcp sockets.
      
      	* robots/emc/emcd.c: Add support for camera configs in the config
      	file and add support for listening on a unix-domain socket.
      
      	* robots/emc/test_emcd.config, robots/emc/test_emcd.sh.in: Update
      	for changes to emcd.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c, robots/mtp/mtp.x,
      	robots/mtp/mtp_send.c: Add camera config to the config_vmc packet
      	and add support for unix-domain sockets.
      
      	* robots/primotion/GNUmakefile.in: Add empty install target.
      
      	* robots/rmcd/rmcd.c, robots/rmcd/test_emcd.config: Add support
      	for unix-domain sockets.
      
      	* robots/vmcd/vmcd.c: Add support for unix-domain sockets and read
      	the camera config from the config_vmc packet.
      
      	* robots/vmcd/test_vmc*.sh: Fix tests changed by my last checkin.
      
      	* robots/vmcd/test_emcd*.config: Update for changes to the emcd
      	config file format.
      bfb38f51
  15. 12 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · f45f9c16
      Timothy Stack authored
      Fix some robot related stuff that I broke with the last checkin and add in
      some other tweaks.
      
      	* robots/primotion/garcia-pilot.cc,
      	robots/primotion/pilotClient.hh, robots/primotion/pilotClient.cc:
      	Broadcast any goto/stop commands to clients observing the robot.
      
      	* robots/rmcd/rmcd.c: Change the behavior to reorient the robot as
      	the last step in a goto, so we avoid doing unnecessary pivots.
      	Need to send an init packet to the robot so it knows who is
      	talking to it.
      
      	* robots/vmcd/vmc-client.c: Oops, supposed to use M_PI_2, not
      	M_PI, when translating from camera coords to world.
      
      	* www/telemetry.php3: Make the size of the applet a little bigger.
      
      	* www/garcia-telemetry/GarciaTelemetry.java,
      	www/garcia-telemetry/UpdateThread.java,
      	www/garcia-telemetry/main.xml: Display a log of goto/stop commands
      	sent to the robot.
      f45f9c16
  16. 10 Jan, 2005 2 commits
    • Timothy Stack's avatar
      Updated makefile that builds garcia-pilot · 48808852
      Timothy Stack authored
      48808852
    • Timothy Stack's avatar
      · 89bf0a7f
      Timothy Stack authored
      A bunch of engineering on the robot code.  I'm sure I've broken something,
      but the majority of it is done and I wanted to get a checkpoint in.
      
      	* GNUmakerules: Add rpcgen rules.
      
      	* Makeconf.in: Add PATH and host_cpu variables so
      	cross-compilation works properly.  Add JAVAC and JAR for java
      	compilation.  Add BRAINSTEM_DIR that refers to a brainstem build
      	directory to be used for the robot build.
      
      	* configure, configure.in: Prepend the arm cross-compile dir to
      	PATH.  Detect java for building applets.  Add --with-brainstem to
      	specify the brainstem build dir.  Add --enable-mezzanine to turn
      	on the mezzanine build.
      
      	* robots/GNUmakefile.in: Add client target that builds the
      	subdirs.
      
      	* robots/emc/GNUmakefile.in, robots/emc/emcd.h, robots/emc/emcd.c,
      	test_emcd.sh.in, robots/rmcd/GNUmakefile.in, robots/rmcd/rmcd.c,
      	robots/rmcd/test_rmcd.sh.in, robots/vmcd/test_vmc-client.sh.in,
      	robots/vmcd/test_vmcd.sh.in, robots/vmcd/test_vmcd2.sh,
      	robots/vmcd/test_vmcd3.sh, robots/vmcd/test_vmcd4.sh,
      	robots/vmcd/vmc-client.c, robots/vmcd/vmcd.c: Updates for the mtp
      	switch to using rpcgen.
      
      	* robots/emc/test_emcd.config: Restore missing config line.
      
      	* robots/mtp/GNUmakefile.in, robots/mtp/global_bound.java,
      	robots/mtp/mtp.h, robots/mtp/mtp.c, robots/mtp/mtp.java,
      	robots/mtp/mtp.x, robots/mtp/mtp_command_goto.java,
      	robots/mtp/mtp_command_stop.java, robots/mtp/mtp_config_rmc.java,
      	robots/mtp/mtp_config_vmc.java, robots/mtp/mtp_control.java,
      	robots/mtp/mtp_dump.c, robots/mtp/mtp_garcia_telemetry.java,
      	robots/mtp/mtp_opcode_t.java, robots/mtp/mtp_packet.java,
      	robots/mtp/mtp_payload.java, robots/mtp/mtp_recv.c,
      	robots/mtp/mtp_request_id.java,
      	robots/mtp/mtp_request_position.java,
      	robots/mtp/mtp_robot_type_t.java, robots/mtp/mtp_role_t.java,
      	robots/mtp/mtp_send.c, robots/mtp/mtp_status_t.java,
      	robots/mtp/mtp_telemetry.java, robots/mtp/mtp_update_id.java,
      	robots/mtp/mtp_update_position.java, robots/mtp/robot_config.java,
      	robots/mtp/robot_position.java, robots/mtp/test_mtp.sh: Replace
      	hand-generated stubs with xdr stubs for C and java.  Java stubs
      	were generated by "remotetea's" jrpcgen.
      
      	* robots/primotion/GNUmakefile.in,
      	robots/primotion/buttonManager.hh,
      	robots/primotion/buttonManager.cc, robots/primotion/dashboard.hh,
      	robots/primotion/dashboard.cc, robots/primotion/flash-user-led.cc,
      	robots/primotion/garcia-pilot.cc, robots/primotion/garciaUtil.hh,
      	robots/primotion/garciaUtil.cc, robots/primotion/ledManager.hh,
      	robots/primotion/ledManager.cc,
      	robots/primotion/pilotButtonCallback.hh,
      	robots/primotion/pilotButtonCallback.cc,
      	robots/primotion/pilotClient.hh, robots/primotion/pilotClient.cc,
      	robots/primotion/watch-user-button.cc,
      	robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Replace gorobot with
      	garcia-pilot, a beefed up daemon for controlling the robots.
      	Improvements include: making use of the user LED and button to
      	give some feedback and let the wrangler run a test sequence,
      	reboot, and shutdown the robot; Logging of the battery level, how
      	often the robot has moved and for how long, and the distance
      	traveled; telemetry is sent back to emulab clients; movements are
      	now just pivot-move instead of pivot-move-pivot, since the second
      	pivot ends up being extra work most of the time; the robot will
      	move backwards to cut down on the amount of rotation; and just
      	generic cleanups to the code.
      
      	* robots/primotion/garcia.config: The configuration file currently
      	used on the garcias.
      
      	* www/GNUmakefile.in: Add garcia-telemetry subdir to the build.
      
      	* www/dbdefs.php3.in: Add TBNodeClass and TBNodeStatus functions.
      
      	* www/garcia-telemetry/Base64.java,
      	www/garcia-telemetry/GNUmakefile.in,
      	www/garcia-telemetry/GarciaTelemetry.java,
      	www/garcia-telemetry/UpdateThread.java,
      	www/garcia-telemetry/main.xml: A telemetry applet for the garcia,
      	it displays readouts for the various sensors and other bits of data
      	gathered by the garcia-pilot daemon.  Hopefully, it will make a
      	handy debugging tool.
      
      	* www/garcia-telemetry.jar, www/mtp.jar, www/oncrpc.jar,
      	www/thinlet.jar: Java jars used by the robot telemetry applet.
      
      	* www/servicepipe.php3: A slightly enhanced version of
      	ledpipe.php3 that can be used for other services, like robot
      	telemetry.
      
      	* www/shownode.php3: Add "Show Telemetry" menu item to robot
      	nodes.
      
      	* www/telemetry.php3: Telemetry page for the garcia-telemetry
      	applet.
      89bf0a7f