Visual Robotics Platform
Designed from the ground up to be an inexpensive,
yet powerful and customizable platform for teaching robotics
- • Built upon a powerful 32-bit ARM microcontroller with mbed libraries
- • Open hardware and software extends easily to many types of sensors and devices
- • Fully programmable and controllable wirelessly via Bluetooth
- • Customizable Programming and Control Software (add new blocks or controls easily)
- • Multi-platform software runs natively on low cost hardware (including Raspberry Pi 3)
Visual Programming Software
The visual programming software is at the heart of the robotics platform. It generates C++ code from visual programming blocks. Blocks can be added or modified using text based configuration files making it easy to add or extend sensors or devices to the system. Each block is assigned a different "level" so that lessons can be designed to progressively introduce new features and concepts without overwhelming beginning students. The code that is generated is color coded to the visual blocks to see how the visual representation translates into actual code. You can also select blocks to see what code corresponds to those blocks. The software is fully customizable and could be configured to generate other systems' code (such as Arduino). The software supports save/open, import/export, zoom, copy/paste, printing, comments, functions, as well as programming, pausing, reseting, and controlling the board.
Example Full Program
This is a full program to control a wheeled robot with built-in Bluetooth control. The robot has two motors for the wheels, an arm and a claw, optical line sensors, a camera, a color sensor, position feedback sensors for the motors, two servos for the camera, and a stepper motor connected to an ultrasonic distance sensor.
Visual Control Software
Like the programming software, the control software is highly configurable using only a text file. You can control almost every aspect of the look and style of each of the buttons and dials, as well as which Bluetooth codes the controls send or are updated by. You can easily create completely new dials and change the position and size of all the controls. Each button or dial can display multiple sources of data and can send multiple data inputs as well.
Hardware
- The board supports 6 DC motors, 8 Digital I/Os, 10 Analog Inputs, 2 Serial Ports, Multiple I2C Devices, and more
- Wireless programming, reset, and pause are all built in
- All ports are color coded and matched to sensors/devices to make wiring easy
- Fast 100MHz 32-bit ARM processor runs programs directly on hardware for effecient, complex programs
Because it is built on the powerful mbed libraries, the board and software support hardware interrupts, timers, callbacks, serial and I2C communication, PID loops, string manipulation and more.
Achieved Goals
- Proven technologies for high reliability, configurability, and upgradability - based upon STM32 and mbed
- Beginner to advanced use single platform - direct correspondence between visual and text programming
- Customizable to every learning environment or hardware setup - pre-built blocks for given sensors/devices
- Adapts well to any teaching curriculum - blocks can be assigned levels so that beginners aren't overwhelmed with all the concepts
- Low cost & easy administration - Raspberry Pi 3 compatibility where images can be cloned
- High reliability - all systems are free from dependence on the internet/cloud
- High speed - all systems run compiled binaries with no emulators or compatibility layers
- Simple for children - color coded board where inputs/outpus are matched to sensors/devices