Easy Robotics with Windows 10 and EZ-Robot
Today Sergiy Baydachnyy introduces us to a new cool platform for building robots. After reading his post and looking at the kit, I know what I want for Father's Day now... :
If you already have EZ-B micro controller from EZ-Robot, there is good news for you: Universal Windows Platform SDK already available to download. I have already tested it and it’s really easy to use the SDK for developing own applications for Windows Phone, Windows 10 and even for Raspberry Pi 2. Thanks to Universal Windows Platform you can create just one application for controlling your robots using all Microsoft devices.
Last week I got a chance to test EZ-B controller. This controller was invented by EZ-Robot company located in Calgary and you can visit EZ-Robot site to find many different robots and components there. Besides that you can buy and use EZ-B controller separately and use it like heart and mind for your own robots including rovers, drones etc.
What is EZ-B? It’s a very powerful controller based on 120 MHz 32-bit ARM Cortex-M3 processor and it contains 8 analog pins, 24 digital pins, amplified speaker, camera port, I2C and UART ports and WiFi module. Therefore, from the price perspective, EZ-B is better than Arduino, Netduino and some other existing micro controllers. But what is more important, EZ-B contains Web server and all needed software to control all hardware stuff using external devices like phones, tablets, desktops etc. So, EZ-B is the best choice if you are going to control your robot directly and make all related calculations using your own device.
How to start developing for EZ-B? First of all you need to setup the controller. The box contains the controller itself and docking station for it which allows to use external power supply. Because EZ-B allows power from 4.5V to 16V, you can use it with power supply from Galileo or something like it or you can use battery pack. Once it’s online you can connect your PC to EZ-B WiFi network and start to setup the controller. You need to select WiFi mode. If you are in the place with local WiFi network you can switch your controller to Client Mode but if WiFi is not available, you can continue use EZ-B like access point.
Once EZ-B is connected to WiFi, it’s time to start developing something. In order to develop your first UWP application for EZ-B you need to download SDK for EZ-B and include it to your UWP solution. Inside EZ-B project you can find lots of classes for different sensors, servos etc. but if you have something own you can use Digital and Analog pins directly. Because EZ-Robot provides full access to source code, you can check existing classes to understand how to create new one.
In any case, the first thing that you need to do is to connect your application to EZ-B. It’s easy to do using the following code:
EZ-Robot - UniversalBot
UniversalBot is an open source Microsoft Windows Universal Robot SDK for developing Universal Windows Robot Apps (UWP) that run on Windows, Windows Phone and Raspberry Pi with Windows 10 Core. For Windows 10 Robotics with Windows Core! Introduces the Universal Windows Platform for UWP robots, which provides a guaranteed core API layer across devices. You can create a single app robot package that can be installed onto a wide range of devices, including robots on xBox, Raspberry Pi, Windows Phone, Qualcomm DragonBoard 410C, Intel Galileo and more. The Microsoft single store makes it easy to publish robot apps across all device types.
*Disclaimer: UniversalBot and Universal Windows Platform (UWP) is a pre-released product which may be substantially modified before it's commercially released. EZ-Robot makes no warranties, express or implied, with respect to this information.
When your UWP robot app runs on a wide variety of devices with different form factors and input modalities, you want it to feel tailored to each device and be able to unlock the unique capabilities of each one for your robot. Devices add their own unique APIs to the guaranteed API layer. You can write code to access those unique APIs conditionally so that your robot app uses features specific to one type of device while presenting a different experience on other devices. Adaptive UI controls and new layout panels help you tailor your robot UI across a broad range of screen resolutions.