Slashdot Mirror


GUIs for Robots

kabir writes "OpenGL.org has a link to a fun article over at the Stanford Aerospace Robotics Laboratory. It seems an OpenGL-based GUI has been developed to enable the operation of multiple complex field robots by a single operator. The interaction mechanism was inspired by interface techniques refined in the Real-Time Strategy (RTS) genre of video games. Fifty years from now I expect all wars to be fought by giant robots controlled by teenagers."

3 of 156 comments (clear)

  1. Not sure how long this will stay up, so... by RaboKrabekian · · Score: 2, Informative

    GUI Development

    A Graphical User Interface (GUI) has been developed to enable the operation of multiple complex field robots. The interaction mechanism was inspired by interface techniques refined in the Real-Time Strategy (RTS) genre of video games that includes the popular titles Starcraft, Command & Conquer, and Strifeshadow. This mechanism follows three basic steps:
    The operator selects which robots to use
    The operator selects which objects to be acted on
    The operator selects a task to perform
    However, the nature of field robotics requires some significant differences in the implementation of the RTS interface method. For instance, there is no single source of accurate global information -- each robot can only provide relative data that has to be fused together. In addition, the tasks that each robot can perform change dynamically and this information must be reflected in the choices presented by the GUI to the operator.

    The GUI utilizes OpenGL to display the robot world in three dimensions. Development was significantly aided by Glt (by Nigel Stewart) and GLUI (by Paul Rademacher). Using Glt, which includes GLUI, is highly recommended, especially for C++ programmers new to OpenGL. The OpenGL picking mechanism was used in conjunction with GLUI dialog boxes to provide a direct manipulation interface for robot operation. Additional screenshots and system architecture diagrams are also available.

    In the background, real-time data is being handled by NDDS from RTI. The determination of robot capabilities, which change from moment to moment depending on robot capabilities and object characteristics, is performed by the Java Theorem Prover (JTP) developed at Stanford by Gleb Frank. Communication between the GUI and JTP is carried out by the Open Agent Architecture (OAA) from SRI.

    SWAT Observations

    To gain insight into how humans already manage distributed teams, this research observed field exercises of a police Special Weapons and Tactics (SWAT) team. The Palo Alto / Mountain View (California) Regional SWAT team provided access to its training exercises. The researchers were given free movement throughout the exercise area so that the activities of the commanders, the field units, the snipers, and the hostages and suspects could all be monitored. The tactical commander and field units play roles analgous to the robot operator and the field robots, respectively. The key observations made were:

    -The role of the leader (commander or operator) has two primary components
    *Cultivating common ground
    *Coordinating action

    -A natural and efficient interaction can be based on physical objects in the remote agents' (field units or robots) environment, just as with the RTS games

    --
    "Moderate drinking can help prevent amputated limbs" -- Abigail Zuger, NYTimes, 12/31/02
  2. Fun with Robot Combat, Today! by toupsie · · Score: 4, Informative

    Visit IBM's Robocode and program your own deathbot! If you are old school Mac, you might remember RoboWar. A favorite of mine when I had a PowerBook 140.

    --
    Strange women lying in ponds distributing swords is no basis for a system of government.
  3. Wrong global by wowbagger · · Score: 3, Informative

    You misinterpreted the meaning of "global" - they did not mean co-ordinate data, rather they meant the state of "the world".

    In a game, the gameserver knows where everything is. In robotics, the control program doesn't know for certain that the blue cube is at 0.1x3.5y99.1z - it has to get that information by looking at what the sensors on the robots say, and those sensors lie. So the control program has to take all the data from all the robots and try to fuse it into something meaningful, all the while keeping in mind that "things are not what they seem".

    That is why controlling a real-world robot is MUCH harder than controlling a player in a video game.