- 31 May, 2005 1 commit
-
-
Timothy Stack authored
obstacles that represent a robot.
-
- 23 May, 2005 1 commit
-
-
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.
-
- 31 Mar, 2005 1 commit
-
-
Timothy Stack authored
Pass camera local to world offsets through vmcd. * event/sched/rpc.cc: Add the camera fixed_x,fixed_y values to the emcd.config file. * robots/emc/emcd.c: Pickup the cameras fixed_x,fixed_y values from the config file. Add supports for setting the speed of the robot. * robots/mtp/mtp.h, robots/mtp/mtp.c: Add support for setting speed in GOTO packets and constructing vmc-client config packets. * robots/mtp/mtp.x: Add a vmc-client config packet that contains the cameras origin in world coordinates. * robots/mtp/mtp_dump.c: Dump the min/max values for x and y, handy for figuring out the bounds of the camera. * robots/vmcd/visionTrack.c, robots/vmcd/visionTrack.h: Handle cameras that are overlapping on two axes. * robots/vmcd/vmc-client.c: Accept a vmc-client config packet that tells us where the camera is in world coordinates. Add an orientation flag that specifies how the camera is oriented wrt to the world coordinate system. * robots/vmcd/vmcd.c: Send vmc-client config packets out. Fix a bug that left unknown tracks in the previous frame, which could confuse the matching algorithm causing it to match unknown tracks instead of valid known tracks.
-
- 15 Feb, 2005 3 commits
-
-
Timothy Stack authored
-
Timothy Stack authored
-
Timothy Stack authored
Robot stuff: * robots/emc/emcd.c: Send an event containing battery levels when a telemetry packet comes in from rmcd. * robots/emc/loclistener.in: Update battery stats. * robots/mtp/mtp.x: Add robot_id field to telemetry structure. * robots/mtp/*.java: Regenerate jrpcgen stubs. * robots/primotion/garcia-pilot.cc: Send telemetry to rmcd every minute. * robots/primotion/pilotClient.cc: Broadcast contact reports to all clients. * robots/rmcd/pilotConnection.c: Resend telemetry packets from pilot to emcd. * tbsetup/tbrsync.in: Wait for the node to come up before doing the rsync. * www/garcia-telemetry.jar: Removed. * www/mtp.jar: Regenerated. * www/telemetry.php3: Make the applet window a little bigger. * www/garcia-telemetry/GNUmakefile.in: Don't put the jar in the source tree. * www/thinlet.jar, www/garcia-telemetry/GarciaTelemetry.java, www/garcia-telemetry/UpdateThread.java, www/garcia-telemetry/main.xml: Switch to the homegrown version of thinlet and add contact report packets to the log. * www/tutorial/mobilewireless.php3: Spell check.
-
- 01 Feb, 2005 1 commit
-
-
Timothy Stack authored
-
- 26 Jan, 2005 1 commit
-
-
David Johnson authored
vision system bounds).
-
- 22 Jan, 2005 1 commit
-
-
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.
-
- 17 Jan, 2005 2 commits
-
-
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.
-
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.
-
- 15 Jan, 2005 2 commits
-
-
David Johnson authored
more testing.
-
Timothy Stack authored
-
- 14 Jan, 2005 1 commit
-
-
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.
-
- 10 Jan, 2005 1 commit
-
-
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.
-