BRAK GUI

05-22-2002

The Graphical User Interface for BRAK, or BRAK GUI, was created as my senior project for The BRAK Project, headed by Dr. Ken Hughes at University of the Pacific. The research involved in my senior project included installing and utilizing a Linux development environment, GTK+/Gnome application development, and use of GLADE GTK+ User Interface Builder.

Screen Shot of User Interface

Design Specifications:

  • Have "look and feel" of Khepera simulator GUI.
  • Use GTK+ libraries.
  • Document call-backs from GUI for future integration with simulator.
  • Use BRAK Software Abstraction Layer (BSAL) interface.
  • Work with 8/16/24/32 bpp displays.
  • GUI display panel (GDP).

    The GDP does the following:

  • Shows state of BRAK as indicated by GUI client server (on BRAK).
  • Display status of robot itself: raw actuator and sensor values as well as processed values.

    Design

    The GUI is divided into three separate code modules. The three code modules are the Acquire Packet, Process Packet, and the Canvas module.

    Aquire Packet:
    The Acquire Packet module contains all functions responsible for acquiring data packets from BRAK, including establishing a socket connection with BRAK. The function acquire_packet runs continuously in the main idle loop as an idle function, and calls function process_packet in the Process Packet module to process the incoming data packets.

    Process Packet:
    The Process Packet module contains all function that deal with processing data packets received from BRAK. A packet type of General, Poly, or Group, as defined in the BRAK Software Layer Abstraction Layer. Status Protocol Stream Specification Version 0.2, is first determined. The data packet is then parsed accordingly to the Status Protocol Stream Specification version. The canvas update function for a display item's data is called.

    Canvas:
    The canvas module contains all functions that directly write to the Gnome Canvas. The module also contains functions that update the display of the items on the canvas.

    Resources

    Source File:
    brakgui.zip

    Notes:
    release.txt
    Flow Diagram

    References:
    Pennington, Havoc. GTK+/Gnome Application Development. Indiana: New Riders Publishing, 1999.
    GLADE GTK+ User Interface Builder
    GTK+ - The GIMP Tollkit
    GNOME

  • Hosted by www.Geocities.ws

    1