Software development technology has progressed significantly over the past forty years. In just the last ten years, object-oriented programming has gained widespread acceptance for commercial applications. Yet many students and hobbyists developing robotics software find themselves using programming languages and techniques developed in the 1960s and 70s because suitable modern tools were, until recently, not available for small-scale robotics applications. RidgeSoft™ developed the RoboJDE™ Java™-enabled robotics software development environment and the IntelliBrain™ robotics controller to change this.
RoboJDE and IntelliBrain open the door to object-oriented software development for educational and hobby robotics projects. By providing a modern, easy to use, software development environment built for robotics applications, RoboJDE enables you to quickly and easily develop intelligence to control your robot. The IntelliBrain robotics controller provides a rich set of features including a powerful Atmel ATmega128 microcontroller and plenty of memory, making it easy to build advanced robotic intelligence by leveraging the benefits of Java as well as the many sensor, effector and control classes included in the RoboJDE class library.
The Java language offers many benefits that make it an excellent choice for your robotics projects. The following list highlights some of the major benefits of programming your robot in Java using RoboJDE.
Object Oriented Programming. When you use object oriented programming techniques your robotics software will be easy to understand and easy to debug. You will be able to make use of the building blocks in the RoboJDE class library. You will be able to share the components you develop with other developers. If you are working as a team, you will be able to break your software into components that team members can develop and test independently.
Ease of Debugging. The Java language and virtual machine are designed to prohibit or protect against common software problems such as un-initialized variables, null pointers, wild pointers, casting errors, out-of-bounds array indexes, and stack overflows. Many problems that would otherwise be difficult to debug are caught by the compiler or the virtual machine. A problem caught by the virtual machine generates an exception when it occurs and includes a stack trace pinpointing the source file and line number where the problem occurred. System crashes are virtually eliminated with Java software.
Built-in Operating System Features. The Java language and virtual machine standardize many operating system functions such as multi-threading, thread synchronization and memory management.
Software Libraries. The Java specifications standardize the format of compiled Java programs (class files), eliminating the need to share source or header files or require a specific compiler when sharing software. As a result, you can easily use libraries developed by others, such as the RoboJDE class library, and others can easily use software you develop. In addition, the Java language provides a mechanism, called Javadoc, for generating comprehensive programming interface documentation in a standard format that can be viewed using a Web browser.
Click the following link to view the RoboJDE class library documentation:
RoboJDE Class Library Documentation
Readily Available Supply of Related Books, Literature and other Resources. The popularity of Java programming has produced a seemingly limitless supply of resources to help you learn to program using the Java language. Click on the following link to view the Java-enabled Robotics Primer.
Java-enabled Robotics Primer
Portability. Because Java software is designed to be platform independent and the Java virtual machine is well specified, Java software is very portable. Using the Java language to develop your robotics software will help ensure it is portable to other robotics controllers in the future. In addition, you may find when programming in Java it is convenient to develop and test certain components of your software on your PC before ever executing it on your robot.
Learn Modern Software Development Skills. Many languages used for robotics software development are either special purpose or nearing obsolescence. The Java language is widely used and Java tools are available for free on every major computing platform. The skills you develop using RoboJDE are modern skills that can be applied to other projects on other computing platforms.