Wind - a robot for researchers and homemade people
Hello to all!
So I decided to write about my project and listen to what people think about it. I do not have enough karma to write in DIY or Robotics, but maybe later I will transfer if I live to the desired karma
Two of my buddies and I, as enthusiasts of 3D printing, Linux and open technologies, made a small robot called “Wind” intended for experiments in the field of navigation, control, computer vision and other typical tasks of robotics. ')
Our main goal was to create a platform that would provide a basic set of functionality and be easily modified for the needs of specific projects. To achieve this goal, it was decided to use 3D printing technology for the manufacture of the body. Due to this, it is possible to easily integrate new sensors and actuators (for example, to install the Kinekt sensor). The use of Linux and the open hardware platform BeagleBoard-xM also opens up wide possibilities for modifications and extensions.
This is one of the variants of the robot (with one camera) on the background of our 3D printer.
The “Wind” robot is equipped with a wide range of sensors: two video cameras mounted on a rotating platform, a digital compass with tilt compensation, four ultrasonic range finders, the ability to communicate via WiFi or UMTS, a GPS receiver and an illumination sensor. Using BeagleBoard-xM as an on-board computer provides enough computing power for adaptive real-time video compression to h264 format (using an integrated signal processor), controlling on-board electronics, and performing quite sophisticated algorithms for navigation. At the same time, thanks to the economy of ARM architecture, the robot can operate for 1.5-2 hours in stand-alone power mode.
The implemented set of software modules provides easy and convenient access to all installed sensors and actuators (motors) over the network. Due to this, the robot can be controlled remotely in manual mode, completely autonomously (by running the control program on the on-board computer) or via the Internet, receiving data from sensors in real time (Cloud Robotics). For the manual control mode via the Internet, a program is implemented that displays data from onboard sensors, including video stream from cameras. An interesting feature of the project is the use of Xenomai , a system that allows achieving much higher accuracy in the execution of real-time programs under the control of the Linux kernel. In particular, the authors implemented a Linux driver using the capabilities of Xenomai, which allowed them to achieve high quality motor control . Also, the use of Xenomai has significantly simplified the electronics for working with sensors and controlling motors by transferring control functions to Linux.
Program for manual control of the robot
Also, we wrote a set of examples that illustrate how to use the provided software interfaces to solve typical problems in the field of robotics.
This is a poster made by designers to participate in exhibitions of all sorts
Separately, I would like to note that in addition to programmers and electronics engineers, this project attracted the attention of 3D designers, who actively participated in the creation of 3D models of alternative enclosures. Examples can be found on the Blender3D.ru website .
As mentioned at the beginning, all 3D printing models, circuits for electronics and software are available at the links provided on the project website: veterobot.org .