1. 09 May, 2005 1 commit
  2. 31 Mar, 2005 1 commit
    • Timothy Stack's avatar
      Tweaks for garcia-pilot: · bcfa8a85
      Timothy Stack authored
      	* robots/primotion/garcia-pilot.cc: Turn off the fall sensors,
      	since they have a tendency to go off for no good reason.
      
      	* robots/primotion/pilotButtonCallback.cc: A short-click on the
      	user-button now shuts the garcia down.
      
      	* robots/primotion/pilotClient.cc,
      	robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Set the wheel speed.
      bcfa8a85
  3. 18 Feb, 2005 1 commit
  4. 04 Feb, 2005 1 commit
    • Timothy Stack's avatar
      · 6f545cf0
      Timothy Stack authored
      Some more robot integration.
      
      	* event/lib/event.h, event/lib/event.c: Add some
      	event_notification creation functions that get used in
      	event-sched.
      
      	* event/sched/event-sched.c, event/sched/rpc.h,
      	event/sched/rpc.cc: Sync the start of event time with the
      	robots reaching their initial positions.  This is done by
      	creating a master event-sequence that takes care of sending
      	the SETDEST events and then starting the Simulator timeline.
      
      	* mote/tbuisp.in: Use node_reboot instead of ssh'ing in.
      
      	* robots/GNUmakefile.in: Don't build tbsetdest if ulsshxmlrpcpp is
      	not available.
      
      	* robots/emc/loclistener.in: Clear the destination values for a
      	node when it reaches its destination.
      
      	* robots/primotion/garcia-pilot.cc,
      	robots/primotion/pilotClient.cc: Some cleanup and debugging.
      
      	* robots/primotion/wheelManager.cc: Check the rear sensors for
      	obstructions and then decide which way to pivot.
      
      	* robots/rmcd/pilotConnection.h, robots/rmcd/pilotConnection.c,
      	robots/rmcd/rclip.h: Even more tweaking.
      
      	* robots/tbsetdest/tbsetdest.cc: Don't generate points that are
      	outside the camera bounds or inside an obstacle.
      
      	* robots/vmcd/visionTrack.c, robots/vmcd/vmcd.h,
      	robots/vmcd/vmcd.c:  Add more debugging output.
      
      	* tbsetup/os_setup.in: Removed the robot hack used when deciding
      	which nodes to reconfig/reboot.  Added a robot hack to avoid
      	rebooting a robot whose mote is being os_load'd, since it would
      	interrupt tbuisp which does the reboot anyways.  Also fixed a
      	small typo.
      
      	* tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in: Oops, forgot
      	to convert degrees to radians.
      
      	* tbsetup/ns2ir/topography.tcl: When checking for node destination
      	points in obstacles, include the implicit exclusion zone.
      
      	* tmcd/common/bootsubnodes: Add empty "mote" case.
      
      	* tmcd/linux-sg/GNUmakefile.in: Make some of the /etc subdirs when
      	doing the install.
      
      	* tmcd/linux-sg/rc.stargate: Start garcia-pilot.
      
      	* vis/floormap.in: Add options for showing the camera bounds,
      	obstacle exclusion zones, and displaying vnames instead of pnames.
      
      	* www/ledpipe.php3: Finally figured out how to use a socket
      	instead of popening a perl script.
      
      	* www/robotmap.php3: Add checkboxes for displaying/not displaying
      	the camera bounds and obstacle exclusion zones.  Add a legend
      	showing what actual vs. destination points are.  Pass pid/eid
      	through to vis/floormap if it is given.
      
      	* www/showexp.php3: Add a "Robot Map" link to experiments that
      	have allocated garcias.
      
      	* www/floormap/map_legend_node.gif,
      	www/floormap/map_legend_node_dst.gif: Icons used by the robot map
      	legend.
      
      	* www/floormap/robots-4.jpg: Added an obstacle around the entryway
      	so people are slightly less likely to trip over the robots.  Added
      	a coordinate system legend to the top left corner.
      
      	* www/tutorial/mobilewireless.php3: Add links to David's movie of
      	the robot making its way around the pillar.
      
      	* www/tutorial/robot_anim.gif: A nifty gifanim clip of the robot
      	movie.
      
      	* xmlrpc/emulabserver.py.in: Pull the camera data from the DB,
      	instead of returning hardcoded stuff.
      6f545cf0
  5. 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
  6. 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
  7. 17 Jan, 2005 1 commit
    • 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
  8. 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
  9. 10 Jan, 2005 1 commit
    • 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