throbber
Computer Networks and ISDN Systems 23 (1995) 209-219
`
`Beyond the Web: manipulating the real world
`
`Ken Goldberg a° * ,Michael Mascha b, Steven Gentner a, Jurgen Rossman ~,
`Nick Rothenberg d, Carl Sutter e, Jeff Wiegley a
`a Department of Computer Science, Uniuersiry of Southern California, Los Angeles, CA 90089, USA
`e Department ofAnthropology, University of Soulhem California, Los Angeles, CA 90089, USA
`University of Dortmund, Dortmund Germany
`d Department ojVrsual Anthropology, University of Southern Cafifomia, Los Angeles, CA 90089, USA
`Center for Scholarly Technology, University of Southern California, Los Angeles, CA 90089, ITSA
`
`Abstract
`
`This paper describes a WWW site that allows users to "leave the Web" and interact with the real world. An
`interdisciplinary team of anthropologists, computer scientists and electrical engineers collaborated on the project,
`desigining a system which consists of a robot arm fitted with a CCD camera and a pneumatic system. By clicking on
`an ISMAP control panel image, the operator of the robot directs the camera to move vertically or horizontally in
`order to obtain a desired position and image. The robot is located over adry-earth surface allowing users to direct
`short bursts of compressed air onto the surface using the pneumatic system. Thus robot operators can "excavate"
`regions within the environment by positioning the arm, delivering a burst of air, and viewing the image of the newly
`cleared region. This paper describes the system in detail, addressing critical issues such as robot interface, security
`measures, user authentication, and interface design. We see this project as a feasibility study for a broad range of
`WWW applications.
`
`Keywords: Robot; Remote control; Mercury Project; USC; Random token; Telerobotics
`
`1. Goals of the project
`
`The WWW provides amulti-media interface
`that spans all major platforms. Thousands of sites
`have been set up in the past year. Our goal with
`this project was to provide public access to a
`teleoperated robot, thus allowing users to reach
`beyond the digital boundaries of the VVWW,
`
`' Corresponding author. E-mail: goldberg@ieor.berkeley.
`edu.http://www.usc.edu/users/goldberg. This work was
`supported in part by .NSF Awards IRI-9123747 and IRI-
`9457523.
`
`Such a system should be robust as it must'
`operate 24 hours a day and it should be low in
`cost (we had an eactremely limited budget). It is
`worth noting that the manufacturing industry uses
`the same criteria to evaluate robots for produc-
`tion. Thus our e~cperience with RISC robotics
`(see below) proved helpful
`Our secondary goal was to create an evolving
`WWW site that would encourage repeat visits by
`users to collectively solve a puzzle. This paper
`focuses on the details of the unplementation. The
`Mercury Project is arctii~ed with supporting ex-
`amples and statistics at:
`http: //www.usc.edu/dept/raiders
`
`0169-7552/95/$09.50 OO 1995 Published by Elsevier Science B.V. All rights reserved
`SSDI 0169-7552(95)00094-1
`
`Petitioners - Exhibit 1007 Page 1
`
`

`
`210
`
`K Goldberg er al. /Computer Networks and ISDN Systems 28 (1995) 209-219
`
`2. Related work
`
`3. User interface and environment design
`
`The first "teleoperated robots" were devel-
`oped over 40 years ago. The basic objective has
`always been to develop systems capable of work-
`ing in inhospitable environments (such as radia-
`tion sites). Teleoperation began with very simple
`mock-ups in nuclear power plants [6], progressing
`to more versatile setups for teleoperation of
`robots in space [?J. Over the last 20 years, the
`development of intuitively operable teleoperation
`tools has continued to play an important role in
`the development of robotics in general. The basic
`objectives have remained the same, even though
`.the methods and technical limitations have
`changed. See also [4].
`Today, sophisticated "Telerobot Operator
`Control Stations" [3] are equipped with stereoim-
`age-displays, "force reflecting hand controllers"
`and comprehensive video graphics support. The
`development of teleoperation stations is currently
`being pushed further with the help of latest
`graphics workstations to provide so-called "tele-
`presence". Modern telepresence systems, consid-
`ered to be pushing the frontier of research in this
`field, are defined as follows [l]: "At the worksite,
`the manipulator has the de~tteriry to allow the
`operator to perform normal human functions. At
`the control station, the operator receives suffi-
`cient quantity and quality of sensory feedback to
`provide a feeling of actual presence at thework-
`SItC".
`The Mercury Project does not achieve this
`level of telepresence but provides a lunited level
`of teleoperation. One of our goals was to provide
`"teleoperation for the masses". Instead of devel-
`oping ahighly sophisticated, multi-million-dollar
`testbed, we opted for a simple and reliable end-
`effector on a commercial robot. Combined with
`an intuitively operable man-machine-interface,
`the system gives all WWW users access to teleop-
`eration. In the Discussion section, we describe a
`number of other WWW sites that offer interac-
`tive capabilities.
`
`The interface design for the system was chal-
`lenging due to the limitations of the
`HTML/HTTP environment, as well as network
`traffic considerations. An effective system was
`created within such limitations by carefully de-
`signing the physical environment for the robot,
`and by fine-tuning the user-machine interface.
`For example, the initial idea of a live video feed
`from the camera was dropped in order to main-
`tain compatibility with all visual clients on the
`Web. (Although we could have implemented some
`custom clients 1, we decided to stay within the
`limits of H'I'ML/FTITP to reach as large a user
`base as possible, making this a truly global sys-
`tem.) In addition, initial simulations using a robot
`fitted with grippers (simulated in VIRTUS
`WALKTHROUGH) revealed a high degree of
`
`I There are two possble fixes to this protilem, One is to
`release specially modified clients that set up a two-way com-
`munication, the second is to use some other software to
`display the current system on the user's client workstation.
`Since many clients are used to view the WWW, making
`modifications would be difficult, especially since they are
`being updated all the time. Even if source code could be
`obtained for every major client, changes would have to made
`to every release of all these be on each release of these
`applications, The second possibility is to write a separate
`program to run on the clients' workstation. The problem here
`is to write a robots client that can be released for enough
`platforms to be useful, -Since this would be an esoteric piece
`of the system, it is not likely that other sites would customize
`the software for different systems like is done for the major
`systems. One technique is to use the X windows protocol to
`display a client application on the users workstation running
`an X server (weather, movies). We felt that this would be a
`limited audience, however, It also may compromise security.
`from the user's point of view, Both these approaches may be
`attempted in version 2.0 of the system to allow more en-
`hanced use of the system for some users. The HTTPD proto-
`col could be extended to allow these sort of connections,
`though—maybe we need a new protocol for passing media
`only back that doesn't have all the hooks into system calls like
`X Windows and Display PostScript.
`
`Petitioners - Exhibit 1007 Page 2
`
`

`
`i
`
`i
`
`K Goldberg et al. /Computes Networks and lSDN Systems 28 (1995) 209-219
`
`211
`
``.
`
`Fig. 1, The control panel.
`
`~,
`~) ~° ii
`
`comple~uty in control functions z, not suitable for
`the anticipated 5-10 seconds per frame page
`loading time, a 2D Mosaic window and a
`naive/untrained user.
`The team chose instead to use a simple envi-
`ronment which would allow relatively easy con-
`trol of the robot. Here the analogy taken from
`real world archaeology—using adry-earth envi-
`ronment 'and compressed air bursts—allowed us
`to simplify the robot control dramatically. Thus
`users could be quickly trained in the operation of
`the system, through a simple "Operator's Orien-
`tation" and a "Level 1 Clearance Test".
`Even with a simplified system (see Fig. 1),
`users are still able to choose between fine and
`gross movements of the arm. Fine pitch move-
`ments are executed by clicking in the camera
`image, with the robot moving to center the arm
`over the X,Y-coordinates of the click-point. Crude
`navigation is provided by clicking on a schematic
`picture of the robot and it's workspace, with the
`robot moving to center the arm over the click-
`point. Two buttons allow navigation in the Z-a~cis
`(between "up" and "down" positions), with a
`button to blow air only active when at the Z = O
`(i.e., "down") position.
`
`Other features of the system were designed to
`balance functionality with user needs. All H'I'ML
`documents sent to the clients are carefully de-
`signed to minimize network traffic in order to get
`a high refresh rate. For example, control panel
`functions are clearly distinguished from text-based
`information documents. The "Operator's log" was
`implemented to create a forum for collaborative
`efforts to solve the puzzle/problem regarding the
`underlying logic which links the artifacts. (The
`"Operator's log" is readable throughout the sys-
`tem but only writeable after completing an oper-
`ating session.) A second entry path 3 was also
`created to the system, which provides a "back-
`story" explaining the project while also hinting at
`possible "real world" uses of the system,
`
`4. Access to the robot
`
`Most of the HTML documents seen by the
`user on our site are generated by a script running
`on the WVJW server. Using a random token
`scheme described below, the system tracks' each
`user as he or she proceeds through the interface
`and generates appropriate HT'ML documents.
`This allows. the system to discriminate between
`
``3D control of a robot needs: 3 dimensions of spatial
`movement, 3 dimensions of orientation and 1 to 3 dimensions
`of gripper control
`
`http://www.usc.edu/dept/raiders/story/mercury-
`story.html
`
`Petitioners - Exhibit 1007 Page 3
`
`

`
`212
`
`K Goldberg et al. /Computer Networks and ISDN Systems 28 (1995) 209-219
`
`"observers" and "operators" so that it presents
`only accessible options to each.
`To operate the robot, the user must read the
`information on how to use the control panel, and
`then complete alevel-1 clearance test to get a
`password. Since only one person can operate the
`robot at a time, the system maintains a queue of
`pending operators. A typical user will enter
`his/her password, and then add him/herself to
`the queue. Each time the update button is clicked,
`the system updates the queue and returns a cur-
`rent status page. When the user's turn arrives,
`the screen returned is the live operators' control
`screen.
`
`5. System architecture
`
`Fig. 2 shows a block diagram for the system.
`We start with an overview that necessarily glosses
`over many interesting details.
`At one..end are WWW_clients_from_around the
`__
`_, _ _ :.
`world; at-the-other end is a robot arm combined
`with-a=camera: The robot and camera provide an
`updated image of the environment, which is com-
`bined with a schematic of the robot arm/works-
`pace and control buttons to produce the final
`GIF image that is send to users.
`At any given time there may be dozens of
`clients interacting with the system, Since there
`
`can only be one operator at a time, one challenge
`is to keep track of which client is the operator.
`The ,Mercury system is comprised of `three
`communicating `sewers. The first, call it A, is a
`standard Mosaic server (NCSA httpd v.1,3, cur-
`rently running on a Sun SPARCserver 1000, with
`SunOS Release 5.3. When ,the Site is requested
`by an observer, the most recent_ image, which. is
`stored on server A, is simply returned:
`The database of registered users is handled by
`another server, tail it B. In our case, server B
`runs on the same machine as server A. The
`database server is custom programmed for this
`project, but performs fairly -standard database
`functions.
`- - -
`When aclient request comes in, server A
`communicates with server B. If that- client ss an
`j' operator, server A must then communicate with
`a third server,-call it C, that controls the robot.
`Server- C runs on a Pentium-based PC and tom-
`municates with. servers A and. B_ via the Internet.
`Server A decodes the ISMAP X and Y mouse
`coordinates, and sends them to server C.
`On server C, a custom program decodes these
`coordinates into a robot command and verifies
`that t_he_ command is legal e.g., within the robot
`workspace. If it is, this ~ command is then con-
`verted-into a robot command format which is sent
`to the robot over a serial line, Once the robot
`move is completed server C uses the CCD cam-
`
`~`,`~ H~T7P SERVER
`
`'~i;.~
`
`~ ;<~_ ~
`
`.
`
`~ ~ Dynamic DoCt~m~3nts S~ripi~
`L_1 J
`,.
`~'' ~ ~(~ta Sarver H
`L_iJ
`__ —
`F--.
`-
`
`_ _
`E _ ! ~
`
`__
`
`_.
`
`Ethamot Gard
`
`7CW i~
`S~rF:~d Code
`
`~. VidC-o
`p~ Di~itiring
`
`--a--~•
`
`',;tI:r,
`
`~~;~ Seridt Port _,{..~-
`
`, _
`
`System Block Diagrazn
`
`Fig. 2. System block diagram.
`
`Petitioners - Exhibit 1007 Page 4
`
`

`
`C\
`
`t
`
`~..
`
`C a 1:.
`
`~
`
`''~
`c
`
`~
`
`1
`
`U'
`
`fr
`
`~ ~
`i,
`
`K Goldberg et al. /Computer Networks and ISDN Systems 28 (1995) 209-219
`
`era to capture a stable 8 bit 192 x 165 image of
`the workspace.
`Using a simple set of equations for inverse
`kinematics server C then generates a schematic
`view of the robot in its new configuration. This
`schematic is combined with the camera image,
`and the up, down, and air control buttons to form
`a new composite image. Server C then. com-
`presses this unage into GIF format and returns it
`to server A, which updates the most recent image
`and returns it to the operator client.
`
`-
`
`6. Subsystems
`
`6.1. Random tokens for cache avoidance and user
`tracking
`
`Following some complex and unwieldy .tests,
`we implemented a random token scheme for
`tracking users as they use the system. Each time a
`~ LTRL is returned, a large random number is added
``
`~ ~ , , i ~,.! - to the path (which the NCSA HTTPD 1.3 server
`~,
`~
`splits into the PATH_INFO environment vari-
`able), This "token" serves two purposes;
`The first is to prevent ttte WWW client from
`caching the robot view. When a document is
`requested a second time during a session, it is
`much faster to swap in a local copy of the docu-
`ment rather than going back over the net to
`retrieve it a second tune. Most unplementations
`of Mosaic support such caching at various mem-
`ory levels: However in our case we want to re-
`peatedly retrieve the URL containing the robot
`image because it is updated continuously. In brief,
`we don't want users to cache this URL. The
`random token makes each request look different
`and tricks the client into retrieving a fresh version
`of the document.
`The second use for the token is to identify
`operators. When an operator logs in with a cor-
`rectpassword, the system begins tracking him/her
`as he/she moves from viewing the robot to being
`on .the.-.operators' queue to operating the robot.
`Since the same script is used for all views, the
`token allows the system to customize the result
`for every user depending on his/her position in
`the system.
`
`1 `,
`
`6.2. Scripts
`
`The robot view screen is controlled for the
`most part by one script at the HTTPD server.
`Each call to the main script has a token attached
`to the URL. The token is decoded by the WWW
`server, and placed in the PATH INFO environ-
`ment variable, The main script then checks the
`token with the database server to determine the
`status of the user. Each check of the database
`generates a sgstem update to keep the queue
`moving. The user's status is used to generate the
`custom system status page.
`The robot image itself is only changed by the ~
`operator when he or she makes a move, Each
`image is date and time stamped, so WWW clients
`that cache the image will only retrieve the image
`when it changes (since its filename will be differ-
`ent, due to a different tune stamp).
`Due to the client-server architecture of the
`World Wide Web HTTPD protocol, the robot
`system (server) has no way to contact the client
`except at the client's prompting. From the user's
`point of view, once he or she gets the robot view
`screen, there is no way for the server to keep
`sending updates automatically as the robot is
`moved by the operator. The screen updates must
`be driven by the user. Since the user must trigger
`each update, we wanted to provide a button for
`doing so, since each web client handles reloading
`the page differently. Some sites have a "reload"
`hypertext Link to the same page, buf this doesn't
`work for any client that caches pages. If a page is
`being viewed, hitting reload will just re-display
`the page from the cache, thus not obtaining a
`new view from the system. Asking the user to
`disable his/her cache is also problematic, since
`not all clients allow this option.
`One attempt was made to use amini-form,
`since the submit button always calls a script and
`is not cached. That scheme was eventually
`dropped, since passing registered user identifica-
`tion information to the server via hidden fields
`only worked on some clients. Using the random
`token allows for an elegant interface,
`Since the robot can only be controlled by one
`person at_ a time, a registration scheme was im-
`plemented to allow the server to track operators
`
`Petitioners - Exhibit 1007 Page 5
`
`

`
`214
`
`K Goldberg et al. /Computer Nehvorks and ISDN Systems 28 (1995) 209-219
`
`as they move on to the waiting queue and progress
`to controlling the robot. Since the server only
`knows the IP address of each user, some user
`information had to be incorporated into the
`HTML robot view document itself for re-trans-
`mission to the system when the user hits "reload".
`There are various techniques used. by many so-
`phisticated web systems to accomplish user iden-
`tification between document requests, but we
`found some problems in many of the standard
`solutions. In the end, the random token served
`excellently as a means of identifying registered
`users.
`A preliminary attempt was made to use a small
`form to identify the user. Hidden fields could
`hold the user id, but once again, many clients do
`not implement the hidden field attributes so the
`interface is cluttered by unnecessary fields.
`Putting the user's id information into the AC-
`TION field of the form tag is also client depen-
`dent. Unfortunately, some clients strip that data
`before adding the encoded field information.
`Since random tokens were already being passed
`with each update, the system was extended to
`track the tokens of each registered user. Each
`time the script is called, the token is exchanged
`for a new one, and the database is updated with
`the new token for registered users. One side
`effect is that the user cannot use the client re-load
`button, since this will not use the new URL (it is
`embedded in the update HREF).
`
`6.3. The data server
`
`The data server (B) is a custom Perl script that
`handles all of the database work for the project.
`It continuously runs as a TCP/IP listener, wait-
`ing for database transactions from the other sys-
`tem scripts. The data server runs as a single
`process, handling requests serially to maintain
`internal data integrity. Typically, transactions are
`very short, since the data is kept in main memory.
`The data server could be replaced by an off-the-
`shelf transaction based DB system in the future.
`A time-out is set to close the connection if there
`is too much time elapsed between commands_.;
`This was implemented because some WWW
`clients would crash in the middle, of a document
`
`request, leaving the system waiting for the con-
`nection to be closed.
`
`6.4. Internal network interface
`
`The networking functionality required by the
`project was defined by two factors. On one hand,
`the camera that we purchased required a PC-
`based platform running an Microsoft DOS or
`compatible operating system to run on server C.
`On the other hand, the expected load of client
`requests required a machine capable of more
`heavy networking duties such as a Sun worksta-
`tion (server A). Currently server A is located
`across campus from server C.
`These servers are connected via Ethernet. Each
`machine has its own IP address and resides in the
`usc.edu domain. Communication is achieved us-
`ing asocket connection between the two ma-
`chines. The implementation on server A was
`done using the standard BSD socket functions
`provided with the SunOS 4.1 operating system
`and Perl. On server C we used a publicly avail-
`able socket package called Waterloo TCP and
`Borland C. The Waterloo TCP package was ob-
`tained from the ftp site dorm.rutgers.edu in the
`file /pub/msdos/wattcp/wattcp.zip.
`With this software server A can request a
`socket connection to server C to establish a con-
`nection. The first step in obtaining a new image is
`for server A to write a command consisting of
`thirty bytes which encodes the (XY) coordinates
`of the ISIv1AP event. After server C completes
`the moves and generates the new image, it writes
`the size of the new image to server A so that
`server A knows exactly how many bytes to expect.
`Server C then proceeds to write the entire image
`to the socket and waits for the socket to close to
`insure deliver of the. data. Once server A has
`read alI the specified bytes it closes the socket.
`Server C is now ready and waiting for another
`socket connection. Server A is free to continue
`processing the Mosaic actions of the current users.
`Current throughput is approximately 20
`Kbytes/second, which is poor compared to the
`0.5 megabyte per second rate that can be achieved
`between two Sun workstations in close pro~mity
`on the campus network. At this time we feel that
`
`Petitioners - Exhibit 1007 Page 6
`
`

`
`!C Goldberg et al. /Computer Networks and ISDN Systems 28 (1995) 209-219
`
`215
`
`the delays are being imposed by the MS-DOS
`operating system because of its inability to sup-
`port networking operations and its lack of multi=
`tasking abilities, which necessitates busy waiting
`cycles in the PC software to obtain concurrence
`between the robotic/camera operations and the
`networking duties.
`Our low data rate is somewhat tolerable be-
`cause the tune for communication between servers
`A and C is small compared with Internet delays
`,,, between clients and server A. One way to speed
`communication would be to use different meth-
`ods of image compression such as JPEG to re-
`duce the size of the image. However this may
`introduce latency due to encoding.
`
`6.5. The IBM robot and server C
`
`The robot we're. using is an IBM SR5427
`SCARA arm, built around 1980. SCARA stands
`for "Selective Compliance Assembly Robot Arm".
`Robots with SCARA kinematics are common in
`industrial assembly for "pick-and-place" opera-
`tions because they are fast, accurate and have a
`large 2.SD workspace. However, the SCARA arm
`can only rotate its gripper about the vertical (Z)
`aacis. We selected this robot over other robots in
`our lab due to its excellent durability, large
`workspace, and because it was gathering dust in
`the Robot Education Lab.
`The IBM SCARA robot is controlled through
`a 4800 baud serial port by a custom written C
`library constructed with reference from IBM's
`BASIC library distributed along with the robot.
`The commands sent by the library are simple
`instructions consisting of instruction id, length,
`data and checksum. The data length and content
`varies depending on instruction id. The IEEE
`floating point format is used to represent the
`necessary data. This command string is then sent
`over the serial line to the robot to issue the
`command.
`Unfortunately IBM no longer supports this
`robot and we were forced to read two antiquated
`BASIC programs and monitor their serial line
`transmissions to decipher the protocols needed
`for serial control of the robot. The robot accepts
`XYZ and Theta commands using IEEE format
`
`and checksums. Server C now runs on a Pentium
`based PC with all custom code written in Borland
`C.
`
`The first step was implementing a local graphi-
`cal user interface to control robot movements
`and monitor subsequent functions such as net-
`work flow. We chose two views of the workspaces
`a global schematic view for coarse motions, and a
`local camera view for fine motions. Note that a
`click on the camera image requires a different
`relative move if the camera is in the up or down
`position. To handle it, we implemented an empir-
`ical calibration program.
`The major difficulty in implementing server C
`was to schedule response to the network, the
`local mouse, and the image capture board. At
`first we discussed amulti-tasking environment
`but, upon further study, we realized we could
`achieve this cooperation within a single DOS
`task. Another problem, inherent to DOS-based
`applications, is memory management. This com-
`plication was solved by careful usage of memory
`and by utilizing the screen itself as a memory
`buffer. This careful usage of memory enabled the
`custom written GIF encoder to use more memory
`which, combined with an appropriate hash func-
`tion, sped the GIF encoding process up to a few
`microseconds.
`In future versions of Mercury, we plan to
`incorporate a more sophisticated PC-based robot
`simulation system based on COSIMIR [8] from
`the University of Dortmund.
`
`6.6. Camera
`
`We are using an EDC 1000 digital CCD _cam-
`era from Electrim Inc, This camera was chosen
`based on size and cost. Image data is sent from
`the camera back through a serial line intoavideo
`capture card. The picture captured is always 192
`X'165 pixels with 256 shades of gray. The image
`size and gray shades are fixed. Focus and contrast
`are manually adjusted. Exposure time can be
`changed by software to range between 1/200th to
`1/64th of a second. 1/150th exposure was used
`to reduced light streaking that the camera is
`prone to.
`
`Petitioners - Exhibit 1007 Page 7
`
`

`
`216
`
`K Goldberg et al. /Computer Networks and ISDN Systems 28 (1995) 209-219
`
`Although the robot's control system quickly
`dampens oscillation about the destination point,
`dynamic effects can cause image blur. Two solu-
`tions were implemented. First the robot was
`slowed down enough as to reduce some of the
`vibration but not to hinder the robot access speed
`considerably. Second, once the robot responds
`positively to an issued command, the camera cap-
`tures two_: pictures= each-`at 1/64th of a second.
`These two images are compared to determine a
`factor of similarity. If this factor is below some
`set value the image is presumed to be stable,
`otherwise subsequent pictures are taken until the
`image pair is determined to be stable. More than
`5 trials results in a time-out in which case the
`most current image is used and the program
`continues. This image comparison procedure re-
`duces movement streaks seen in pictures of mov-
`ing objects.
`Lighting the workspace has been problematic.
`The work space is primarily luminated by stan-
`dard florescent ceiling fixtures and augmented by
`two additional florescent lamps to reduce shad-
`ows and raise the overall ambient light levels. We
`tested a contrast enhancement routine to normal-
`ize the lighting of each image captured from the
`camera. This increased the visual aesthetics of
`the image but subjected it to drastic light and
`dark changes as the robot moved onto different
`objects with different Iight reflecting qualities. In
`response, a global lighting adjustment was imple-
`mented but found to reduce certain areas to
`unacceptable darkness. Certainly a better lighting
`system is required.
`Due to the manual focus adjustment of the
`camera, the focus adjustment could not be
`changed between the up and down position of the
`camera. This resulted in a compromise focus ad-
`justment that is not perfect for the up or down
`position of the robot arm, buf accepatable in both
`positions.
`To decrease compressed image size and thus
`increase network transfer rate the image is re-
`duced from 256 to 64 gray scales since most
`systems available can only display 256 colors or
`64 shades of gray. Thus the gray scale reduction
`did not reduce image quality but reduced com-
`pressed image size by about lOK.
`
`6.7. Robustness and soft resets
`
`All robot motions are monitored by server C.
`Each command sent to the robot is verified to be
`within the robot's workspace. Acknowledginents
`from the robot are monitored to detect errors,
`When an error is detected, server C automati-
`cally resets the robot controller, recalibrates, and
`returns the robot to its previous position.
`
`7. Performance
`
`7.Y. History and statistics
`
`Daily statistics are available and may be corre-
`lated with project milestones 4. The site received
`over 2 million hits from over 50 000 unique sites
`during its active period from September 1994 to
`March 1995.
`
`7.2. Refresh rates uia ethernet
`
`System response time seems to be mostly de-
`pendent on network link speeds. Locally, we get
`screen refreshes at rates of 5-10 seconds per
`page. Similar response times have been reported
`from Europe. Obviously, a slow local link or SLIP
`connection will drastically affect the update
`speed, since the robot control image is essential
`to the system. Updates are also strongly affected
`by the speed of the WWW client application.
`
`7.3. Uptime
`
`The system is designed for 24 hour use. The
`WWW server scripts are generally modified,
`tested and then loaded into the running system.
`Background programs monitor the system and
`notify the team members if there are problems.
`
`7.4. Operators' logs
`
`When an operator has finished driving, he or
`she is prompted to make a textual entry into an
`"Operator's log". T'he Operator's log 5 provides
`
`http://www.usc.edu/dept/raiders/
`5 http://www.usc,edu/dept/raiders/
`
`Petitioners - Exhibit 1007 Page 8
`
`

`
`K Goldberg et al. /Computer Networks and lSDN Systems 28 (1995) Z09-219
`
`217
`
`an ongoing forum for discussion of the system
`and record of artifacts discovered in the sand.
`For example, several skeptics have claimed
`that the system is an elaborate how where all
`images are taken from a prestored library (much
`like the celebrated Apollo Moonwalk hoax of 25
`years ago). We have had encouraging comments
`from the robotics community, including several
`researchers at NASA.
`
`8. Discussion and fi►ture applications:
`
`This project is an initial step in an ongoing
`educational and research project at the Univer-
`sity of Southern California. It brings together
`faculty and students of different backgrounds to
`collaborate in the design and implementation of a
`networked system that combines robotics with
`archaeology and interactive art.
`This system exemplifies RISC Robotics, which
`advocates Reduced Intricacy in Sensing and Con-
`trol. The SCARA-type robot requires only 4 axes,
`is relatively inexpensive and robust, and it is easy
`to avoid singularities. The end effector we've
`used here is also about the minimum. For more
`on RISC as applied to industrial robotics, please
`see [2].
`We see the project leading in several direc-
`tions. For-Mosaic and ;;the WWVJ, the required
`interface design prompted new developments re-
`lated to several_ssues, including user authentica-
`tion, user queuing and :interface security (as dis-
``cussed above).
`For this project we chose a very simple appli-
`cation. The server can be extended to a variety of
`platforms that permit remote inspection and ma-
`nipulation of objects—for example, providing
`unique and unedited access and views of priceless
`and otherwise inaccessible resources (a Grecian
`urn, a Gutenberg Bible, etc.), thus providing an
`alternative to pre-stored libraries which are lim-
`ited in terms of perspective, depth of resolution,
`etc. For example, see http://vive,cs.berkeley.
`edu/capeK/
`Further extensions for this project might in-
`clude: the robot could be placed out in the field,
`in a remote anthropological site or on the moon;
`
`the camera could be replaced with a scanning
`electron microscope; or the remote operator could
`be a doctor examining a patient or a specialist
`performing remote inspection or manufacturing.
`All of these areas also have significant implica-
`tions for education, as they present the opportu-
`nity for virtual=-`-`field=trips" to a-live site while
`permitting remote.. manipulation_ from the_ class-,
`room;
`Anthropologists have conventionally recorded
`the diverse cultural heritage of humankind by
`means of varied media: written text, graphics,
`film, sound and still images. The advantage of a
`system like the one described in this paper lies in
`the fact that you do not' have to `7ely on prere-
`corded_media.-It enables the user to_.view_and
`possibly record. her or his _own_"slice of-reality".
`We see the Web as a perfect medium for updat-
`ing pre-recorded media as described in [5]. Fur-
`thermore, we now have the possibility to combine
`updateable ,prerecorded media of''all sorts with
`live recordings and live remote interactions. The
`possibilites of a system that combines global ac-
`ce

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket