Circuit Cellar Mag. has posted an interview with John Blankenship
Click here for our RROS Chip and Robot Parts for Hobbyists, or
here for Classroom Projects and FULLY ASSEMBLED Educational Robot.
Scroll down for general information
The Power of Simplicity
This video demonstrates the simulator.
This is a link to ALL our videos.
Current Active Version (4.2.1)
The Robot Simulator extension of RobotBASIC was originally programmed by college Professor John Blankenship. The simulator was incorporated as a set of functions and commands into a powerful interpreted programming language written by Samuel Mishal. The combination is a versatile language that is easy to learn and fun to use.
The current version of RobotBASIC has well over 800 commands and functions. Click these PDF links to see the list of the commands and functions either alphabetically or categorized by function. You might also enjoy reading how RobotBASIC has progressed. This PDF link shows a complete version history.
RobotBASIC's HELP file is a WORD RTF document (to allow teachers to add their own content). Some people might find this PDF VERSION of the HELP file useful.
RobotBASIC is a powerful language that enables you to:
- Simulate a robot with many types of sensors (THE SIMULATOR)
- Control a real robot using the wireless protocol (REAL WORLD CONTROL)
- Create animated simulations and video games (VIDEO GAMES)
- Handle complex engineering problems (ENGINEERING)
- Motivate students to learn (EDUCATION)
- Create contests for Robot Clubs (ROBOT CLUBS)
Scroll down to learn more about each of the above topics.
The robot can be made to navigate and move around the simulated environment using:
The command rForward n to move the robot n pixels forward (backwards if negative).
The command rTurn n to turn the robot n degrees right (left if negative).
The simulated robot has many sensors available. In addition to these standard sensors:
Ultrasonic rangers (rRange) to measure the distance to objects on the screen.
Infrared detectors (rFeel) to determine if any objects are close to the robot.
Bumper switches (rBumper) to determine if the robot bumps into an object.
A Compass (rCompass) to know the orientation of the robot.
A GPS (rGPS) to find out the current X, Y coordinates of the robot.
Line sensors (rSense) to detect the presence of a line drawn on the floor.
Beacon sensor (rBeacon) to determines if the robot is facing a beacon.
A Camera (rLook) to determine the color seen in front of the robot
there are several customizable sensors. Consult the RobotBASIC HELP file and example programs for more information. This YouTube video shows how the simulator can be used to develop robotic algorithms. Programs written to control the simulator can also be used to control a real robot over a Bluetooth link (see Real World Control below).
The screenshot below shows the simulated robot after learning the maze.
REAL WORLD CONTROL
RobotBASIC can perform serial and parallel I/O operations to all PC Ports (both real and virtual), including USB or Bluetooth. It even has direct support for USBmicro I/O boards (see USBmicro.com for complete information on their products and this PDF for many example applications). You can choose to create your own protocols or just use ours, which allows the simulation programs to automatically communicate with a real-world robot using a wireless link. Since the link is bi-directional, the real robot will send back sensory data that can be read using the standard simulator commands. For more detailed information refer to the book Robot Programmer's Bonanza.
RobotBASIC controlled robots or data acquisition systems can communicate over the Internet using TCP or UDP (see this PDF for details). There are even commands that let your programs send emails and attachments. Information about these capabilities is given in the RobotBASIC IDE HELP file. We have numerous books showing how to interface RobotBASIC to the real world. This PDF deals specifically with the Arduino processor.
RobotBASIC provides extensive graphical commands that allow the EASY creation of simulations and video games. These features can be very motivational when teaching new students of programming. It is easy to manipulate BitMap and directory files as well as graphical shapes. Commands that draw on one screen while displaying another provide totally flicker-free animation.
Your programs can produce sounds using the standard speaker or wav files. Special commands make it easy to use the keyboard, mouse, or joysticks in a game-oriented environment. You can even produce binary files for the interpreter or compile stand-alone EXE files so you can distribute your programs without revealing your secrets. Message and dialog boxes, along with push buttons and many other event driven controls allow for the creation of a professional looking user interface.
The screenshots below show sample video games from our demo programs.
Don’t think for a moment that RobotBASIC is a beginner’s language. In addition to all the standard features you expect, RobotBASIC has functions seldom found in typical languages – things like matrix algebra and statistical functions. Additionally, RobotBASIC’s ability to perform serial and parallel I/O operations (including USB and Bluetooth) makes laboratory electronics projects easier than ever before. If you need remote data acquisition RobotBASIC offers worldwide communications over the Internet using TCP and UDP protocols. You even have low-level disk access and event-driven controls to make complex programming easier than ever before.
Video: RobotBASIC for Engineering
If you explore the help pages found in RobotBASIC’s IDE, you will find the power to do many things you always wished you could do. In summary, RobotBASIC is not only one of the easiest languages you have ever used, it is also one of the most powerful. Don’t just take our word for it though, give it a try and watch your productivity soar.
Many computer languages make it very difficult to teach programming because the student is forced to learn many idiosyncrasies and nuances of the language itself (see this document for more information). This PDF provides detailed information on why RobotBASIC is an ideal language for both introductory and more advanced programming classes. Many languages, for example, require the user to create a form and select appropriate components before anything else can be done. Some require an understanding of concepts such as classes, compiling, and the scope of variables right from the start. Students new to programming can easily be frustrated and disillusioned because of the time it takes to create even a “Hello World” program, let alone the time it takes before they are able to create something relevant and exciting.
Video RobotBASIC: The POWER OF SIMPLICITY
RobotBASIC, in contrast, is extremely easy to use and learn. The student can dive right into programming because complex concepts are not required in order to write beginning level programs. As they gain more knowledge of programming and develop their skills, more complex aspects of the language can be introduced. Once students are introduced to the proper principles, RobotBASIC allows the use of C-style syntax, local variables, etc, making it easy for beginners to transition to more complex situations.
. Robots in the Classroom
Extensive graphics and powerful functions allow even very simple programs to address exciting subjects. When beginning students solve relevant problems (such as making a robot detect objects in its path or animating the movement of a shape across the screen) their desire to learn can be contagious. Compare these examples to standard introductory programming problems such as averaging numbers or creating a factorial and you will see why RobotBASIC is so motivational.
RobotBASIC is not just easy to use. It has all the power you need for nearly any project. In addition to all the standard features you expect (like floating point math and multidimensional arrays), RobotBASIC has functions seldom found in any language – things like matrix algebra, statistical functions and a robotic simulator. You will also find functions that make it easy to perform animation, create sounds, utilize the mouse or joystick, and even manipulate bitmaps, files and directories. Additionally, RobotBASIC’s ability to perform serial and parallel I/O operations (including USB and Bluetooth) makes college-level laboratory electronics projects easier than ever before.
And now for the best part - RobotBASIC is FREE. Schools have no upfront costs and no reoccurring fees or licenses. Homework assignments are never a problem because every student can download their own personal copy.
You may wonder why RobotBASIC is free. Having taught college students, and seeing the declining interest in mathematics and engineering we created RobotBASIC in order to help rekindle interest in these disciplines. To that end, we wish to make RobotBASIC available to everyone. If you want to write articles or books about RobotBASIC, please do so. If you want to write programs to give away or sell, you have our blessing – just direct your customers to our web page to download their free copy. As long as you reference us, you may use RobotBASIC pretty much as you wish (you just can’t sell it). We believe RobotBASIC is a fabulous language that meets many needs. Our reward is in seeing more people utilizing and enjoying RobotBASIC. (See our license page for complete information.)
This demo program shows the effects of gravity on a bouncing ball (included in our Beginner's Download).
Our Beginner's Book teaches logical-thinking and problem-solving skills by teaching HOW TO PROGRAM using interesting, exciting, and motivational examples such as the PAINT program above. If you are new to programming or want to create some interest in programming in your kids, you should check this book out.
RobotBASIC has commands and functions to facilitate contests and competitions for Robot Clubs. This provides a great way to educate new members as well as increasing interest in robotics. We even have a section in Robot Programmer's Bonanza dedicated to using contests to motivate students and club members.
Technical Highlights of the RobotBASIC Language
● No installation is required – you can run RobotBASIC from a USB-drive,
. a CD, or even from a web page.
● Use variable typing (integer, float, and string) OR totally untyped variables,
. where ANY variable at ANY time can be changed to ANY type by simply
. assigning it a new value.
● Standard GOSUB routines or callable function-like routines (Call/Sub)
. with LOCAL variable scoping with by reference and by value parameters
. (which may be skipped), as well as a returned value.
● Use legacy INPUT and PRINT statements for QUICK and EASY I/O (great
. for introducing programming to non-programmers).
● GUI commands that create buttons, text boxes, edit boxes, list boxes,
. dialogue windows, message boxes, radio buttons, check boxes, sliders,
. and more.
● Use a Procedural programming model with GOSUB and CALL/SUB or an
. EVENT-DRIVEN approach with commands like OnSlider.
● Use standard BASIC syntax or a modified C-style syntax (i.e. ++, +=, !=, &&)
. This can be great for teaching programming fundamentals before moving
. on to more complex principles and syntax.
● Increased productivity from numerous “helper functions” that facilitate
. sorting, multimedia displays, flicker-free 2-D and 3-D animation, robot vision
. (including web cam support), extensive BMP image manipulation, matrix
. math, both high and low-level file I/O, the ability to send Emails (SMTP)
. and communicate over the Internet (UDP and TCP protocols), and much more.
● Develop and debug programs in an easy-to-use INTERPRETER-based
. IDE (Integrated Development Environment), then COMPILE your programs
. to standalone EXE’s for easy distribution.
● Ability to create includable LIBRARY files with #include (even include binary
. files to protect your algorithms).
● An integrated Robot Simulator with numerous sensors such as an electronic
. compass, ultrasonic distance measurement, IR perimeter sensing, line
. sensors, a GPS, and more.
● Control real robots using parallel, serial, and USB ports for wireless protocols
. such as Bluetooth and Zigbee.
● Unique proprietary protocol allows simulator programs (without modification)
. to control real robots (see our RROS chip for complete details).
● Direct support for the USBmicro U4x1 family of I/O modules that provide
. 1-wire, SPI, and I2C Serial control of Digital MicroDevices as well as 16 lines
. of TTL I/O.
● Ability to SPAWN other executable files and pass them parameters.
● Over 800 commands and functions often allow a few lines of code to provide
. the functionality of hundreds of lines in many other languages.
● An extensive 300 page HELP file provides detailed information and numerous
. programming examples.
● Web page tutorials, sample programs, YouTube videos, and low-cost books
. provide additional help if needed.
● Improved editor with multiple file capability and color-coded keywords.
● RobotBASIC is FREE to schools, organizations, individuals - EVERYONE!