FlowBotics Studio is a new robotics software development platform: it boasts the powerful FlowStone graphical programming language, and includes many demo robotics projects to get you started. It can be used to control just about any robotics platform, data acquisition board, motor controller, servo board, sound card, or webcam. FlowBotics Studio includes hundreds of built-in components that allow you to interface your PC to many of the standard computer peripherals and, using the FlowStone programing language, you can quickly create new components for new hardware. You can also easily create new projects with custom GUI screens, knobs, buttons, switches, etc. that will run live from within FlowBotics Studio without needing to wait for compilation. Using the FlowStone programming language is as easy as dragging new components out of the library into the project's schematic, and making green links to connect one component's output of another one's input. FlowStone even has support for writing custom modules in Ruby, a traditional procedural language.
There is a growing collection of pre-made demo projects for use with your robotics hardware: the demos range from GUIs for simple interface card and sensor — that give you access to real-time analogue and digital signals — to full-blown robotics control applications — that have visual representations of your robots that can be manipulated directly with the mouse: the project calculates the inverse kinematics and moves the robot immediately. The projects also have a powerful pattern sequencer component that is used to build reusable patterns that allow you to program the gait of a walking robot within minutes or hours, instead of days or weeks.
Since the demo projects are open source, they can be modified to tailor a specific purpose or parts can be extracted for use in new projects, and the new demos will be available through FlowBotics updates.
The FlowStone programming language includes a powerful graphics engine that allows you to make custom graphical objects by using standard bitmaps or by drawing your own shapes on the screen. Using this system, you can build entirely custom interfaces for your projects and integrate photographs, drawings, and graphs.
Using FlowStone, you can record and playback video from your webcam and, using some of the video processing modules, can do motion detection, colour detection and facial recognition. The graphics engine you can even display live video inside your project's GUI.
FlowStone also has a powerful audio engine that allows you to record and playback sounds, and even generate some of your own. You can import WAV and MP3 files and process the audio using signal processing modules like EQ: you can even create your own synthesizer sounds using the built in oscillators and filters.
FlowStone has a huge range of supported computer interfaces, from data acquisition boards, home automation, webcams, soundcards, networking, serial ports and USB devices. There are thousands of supported devices, including parts from Lynxmotion, Phidgets, Pololu, and Robot Electronics and also parts implementing standard Bluetooth, Xbee, Modbus, TCP/IP, UDP/IP, HID, RS232, RS485, CAN Bus, SPI, I2C, X10, DMX512, and other popular protocols.
Use FlowBotics Studio to control your hobby robotics, using the pre-made demo projects for many of the Lynxmotion kits or build your own projects just for fun.
FlowBotics Studio is the perfect tool for education. It is simple enough that it can be used by children from secondary and high school, but also powerful enough to be used by university students for undergraduate and graduate studies. The rapid development capabilities of the software mean that you can achieve much more in a short lesson than you could with traditional programming tools. Science: Use FlowBotics Studio to create applications for science experiments, test and measurement, data logging, graphs, saving files to disk and more. Technology: FlowBotics Studio can be the heart of your design for things like home automation, A/V recording, video processing, audio processing, more. Engineering: Use FlowBotics Studio to create mechatronic engineering systems including control systems, SCADA (supervisory control and data acquisition), human-machine interface, and autonomous robot systems. Math: Use FlowBotics Studio to teach mathematics, from binary numbers and boolean algebra to trigonometry functions and graphs.
Want an easy way to capture data from the outside world? The FlowStone language has built in support for many popular data acquisition devices: for example, you can use a Phidgets Sensor Interface Kit 8/8/8 to sample analog and digital signals.
The serial port communication in FlowStone allows you to connect to a wide range of low-cost robots. You can use Inverse Kinematics (IK) and Proportional Integral Derivative (PID) modules to manage movement and create impressive interactive user interfaces to control your robot live.
By connecting to external analog I/O devices, you can stream high data rate signals directly into FlowStone. The Stream data components and DSP code component can then be used to create complex signal processing, and all this happens in real time. You can even tweak your algorithms and user interface live - while your data continues to stream. This makes the development process extremely quick as you see the effects straight away.
The FlowStone language has many video functions built in. You can easily connect to external webcams, record video to disk and perform complex tasks like motion, colour and face detection with ease.
Using the X10 home automation system, you can create a completely customized home automation or alarm system. Using passive infrared sensors, check for motion and trigger lights and cameras. Use FlowBoard and the GSM module to send SMS alerts back to you if key events occur. Switch on and off appliances or lighting.
FlowStone is even used in industry for creating complex applications from test and measurement, SCADA, data logging, machine control and even UAVs.
FlowBotics Studio is available for purchase as either a CD or a download: