Jim 2
Introduction
Kinematics
Mechanical Systems
Electronics
Software Environment
Dynamic Control
User Interface
Vision
Competition Results
Credits
Video Clips

Home

Software Environment

Jim 2 runs a standard version Debian GNU/Linux.

All access to the robot occurs via wireless ethernet. For debugging and development, we telnet into the robot. For high-level control, we run a custom X11 application that communicates via sockets with a robot control process running on the robot.

Due to the efficiency of Linux, we were able to run all of the motion control in software, despite a lack of real-time guarantees from the operating system. If any process were to use the CPU for an entire context-switch timeslice (typically 0.2 seconds under Linux) the robot could move past it's physical limits, causing severe mechanical damage. However, by disabling non-essential processes, our control process was able to run without ever being switched out for more than a few milliseconds.