RSCL provides a framework to develop applications to simulate and control a mobile robot. It has been used successfully with vastly different medium sized (~150 lb) autonomous ground vehicles.
RSCL supports the development of robots that follow most cognitive models, including classic sequential (sense-plan-act), the more modern three-layer architecture, and everything in-between by allowing the user to design core functions to run as part of a sequence or as a service (thread).
The framework can provide an ambiguous link between real-world and simulation, allowing many systems to be fully tested prior to the construction of a robot. It also provides great failure-mode-analysis through logged repeatable simulation.
A settings repository facilitates inter-system and inter-process monitoring and control of system internals. This also allows system internals to be tweaked at runtime, locally or remotely, to significantly speed up development. The Swing-based GUI takes advantage of this repository, dynamically creating options panels that contain all the settings of a given system.
Low-level robot control is achieved through communicating with a microcontroller or motor control unit using standard Java (for control over Ethernet), non-standard Java libraries (EIA232 uses javacomm) and native binaries (for parallel port interfaces). With the emergence of microcontrollers that run Java apps, it is even possible to include large portions of the microcontroller software in simulation.
RSCL leverages non-standard Java libraries and open-source third-party libraries:
OpenGL - JOGL - Xith3D
ODE - odejava