robot command

some features of robot command

  • a 3D robot simulation
    • a toy and game; with accessible robotics, programming, math, and AI

  • simulates a classic Mr. Mercury, remote control robot
    • can be used as a toy by youngest kids; big, colorful responsive robot, controls, toy blocks, and noises
    • programming, math, AI functions for kids of all ages

  • simulated toy blocks
    • easy (one button) to make robot pick up and stack blocks
    • color aware; blocks can be assigned a color from big list of color names (300 colors), or simple colors (just 10 basic color names)
    • optional block-info HUD shows block name and/or color as robot sees, grasps blocks
    • various block dropping and snapping modes for easy construction - and/or realistic tumbling
    • block physics can be managed for efficiency (via freeze/thaw functions etc.)
    • can be used as a classic "blocks world" AI problem domain - and includes prolog example code for this

  • multiple views
    • including first person view from robot
    • views may be changed via function keys, or scripted with lua commands.
    • inset view (two views at once)

  • easily moved around
    • HUD-style control panel makes moving the robot easy and intuitive.
    • mouse, keyboard , and joystick supported
    • list of robot command keys

  • heads-up display and control panel
    • transparent HUD display
    • big, informative, with large buttons
    • simple "one-button" controls to fetch and stack blocks.
    • as much or as little may be displayed as desired
    • optional auto-hide mode: only show HUD when controls touched
    • HUD optional, configurable, programmable

  • game included
    • "stacking game" - stack as many blocks as you can in a minute or two.
    • lua source code for game included

  • interactive demo loop (kiosk) mode
    • speaks, shows robot command in action
    • if controls or joystick touched kiosk mode stops (allowing user to move robot and play). Restarts if not touched for a minute or so.

  • physics engine
    • blocks impacts, gravity, tumbling, knocking, etc.
    • gravity (default to the gravity of Earth), can be changed to match Lunar gravity, gravity on Mars, the planet Mercury, etc.

  • audio
    • original "Mr. Mercury" motor sounds are tightly integrated and responsively play for each robot movement
    • construction lift elevator sounds
    • integrated MP3/OGG player for background music, etc
    • original track by techno artist Coleman Younger
    • speech synthesis
    • general "game sound" synthesis
      • full range of typical game sounds for events
      • randomly generate game sounds, mutate, tweak parameters, etc.
    • audio fx: reverb, flange

  • block impact sounds
    • integrated with physics engine

  • programming, scripting
    • integrated console
      • "robot command" scrolling console with interactive interpreter modes for direct lua, lisp, or prolog entry
      • partial or full screen
      • configurable transparency, font, font size
      • copy/paste
      • console button brings up separate, bundled, syntax-aware open-source editor
    • lua
    • lisp
      • picolisp
      • lua code may be executed from lisp and lisp code may be run from lua, also.
    • prolog
      • pilog
      • can execute lua or lisp from prolog, prolog from lua, etc.
      • built on top of picolisp; yet, written in C, not lisp
      • example natural language, "blocks world" programs.
      • more pilog on this site
    • golog
      • experimental planning reasoning used in robotics and AI
      • in prolog (pilog) - world's smallest prolog-based golog !

  • math
    • math console ("robot calculation") -- partial or full screen, configurable transparency, font size
    • example source demonstrates using equations to make robot place blocks on curves
    • mathomatic - symbolic algebra and calculator
      • "symbolic algebra" means it can solve equations like you do in algebra class
      • "show work" for each algebra step
      • calculus: symbolic differentiation, integration
      • equations may be passed from lua to mathomatic, and back from mathomatic to lua (and/or lisp, prolog)
    • plotting
      • big, traditional X,Y plots with labeled axes, or
      • "radar scope" -style plots
      • plots can be as full screen, or as an inset view
      • one button to plot an equation
      • plot() function
    • turtle graphics
      • commands to use robot as a traditional "turtle" drawing device.
      • turtle-graphic line drawings may be saved as simple .SVG files

  • route finding
    • built-in A* (A-star) shortest path finding
    • obstacle (block) avoidance
    • generate route via way-points using robot command route(...) lua function
    • test a linear path using unblocked(...) function
    • examples

  • speech synthesis
    • fast, lightweight robotic speech
      • text to speech (English)
      • simple robot command say("text") function
      • integrated with games, examples
      • easily understood
      • robotic accent
      • (optionally) threaded, so robot doesn't have to wait for speech to complete

  • output
    • load/save blocks - in a text-based format, using either menu commands or lua functions
    • screenshots (F12) saved to standard JPG image format
    • the robot's "turtle-graphic" line drawings may be saved in the .SVG (Scalable Vector Graphics) format.

  • sky boxes
    • 360 degree back-drop scenes (several included)
    • may be changed via keyboard, robot command, disabled, etc

  • command line options

  • joystick
    • joystick supported (optional)
    • configurable:
      • buttons may be re-assigned (or disabled)
      • joystick, throttle axes may be re-assigned
      • startup commands for configuration
      • default configuration for standard joysticks

  • opengl
    • for fast and portable 3d graphics

  • written in C++
    • fast, efficient, portable

  • platforms
    • Windows (with setup installer)
    • Linux (as .tgz, and Puppy 5 dot pet)

Last modified: 2011-12-24, 02:42

© 2011 …

powered by phpSQLiteCMS