Software for Robotnačka
Authors: P.Petrovič, D. Ďurina, P.Tomcsányi
The turtle graphics is a known metaphore used for teaching programming. Comenius Logo and Imagine Logo are the most popular tools of this paradigm in Slovakia, and some other countries. Our goal is to istigate interest in modern technology further by giving the turtle a real physical form and body. Several prototypes have been developed in the past few years in a partnership of robotika.sk. This work deals with open-source development of software for Robotnačka. The robot can be controlled from an higher-level programming language, but our focus remains on the environment of Imagine Logo and the use of robot for teaching Mathematics, Physics, and Informatics.
Image processing, understanding and Computer Vision are important fields of applied computer science, and its importance is increasing with the development of robotic and hardware technologies. The goal of the work is to bring these fields to the school lessons of Informatics. Our medium is the component Computer Vision for Logo (Cv4Logo) build around an open-source library OpenCV from Intel. The component extends the Imagine Logo environment with a set of commands for image processing - either from a lowcost webcam, image file, video sequence, or internet camera. In addition to its basic functionality, it allows the students to create videoconferences in Imagine Logo, or enable their robotics projects with vision - whether it is LEGO or Robotnačka. Cv4Logo is written in C++, and as an open-source project is open to further development based on the interest.
Our wish is that the user of the robot doesn't need to be a software expert, and having a correct version of Imagine Logo, he or she can get started with the robot very quickly. If you are that kind of user, please read:
The control software for Robotnačka on the PC side is written in C++, but can be used as a dynamic library in many languages, including Java and Imagine Logo. In fact, the control is available as DLL, OCX, Java API, dynamic libarary for Linux, and executable application. All functionality of Robotnačka can be utilized using the robot component. It allows to control robot locally, or to work as a server so that other components can connect to it over the network. One component controls a single robot, but allows multiple users, and can be instantiated multiple times for multiple robots.
For introduction to the use of the component in Logo (and analogically in other languages), please follow our Basic robot tutorial.
For more complete guide to the component, please consult:
For technical details of the communication protocol between PC and the robot, you can check the protocol specification (PDF file).
A paper in Slovak from Didinfo 2005 is available here: robotnacka.pdf, and the presentation (also in Slovak) here: Prezentácia Didinfo 2005. A paper from Eurologo 2005 in English: Eurologo2005.pdf, and presentation: eurologo.ppt.
The latest version of the component, and previous releases area available from CVS of Robot.
Robotnačka can be used in combination with network camera with bird-eye view. Functions for processing the image from this camera and some others are available in a separate component Cv4Logo build on top of the OpenCV library from Intel. Currently the main functionality is visualization of the image, calibration of the camera distortion, detecting robots and polygons. The component is still in development, but it is already used in our educational projects. When using these projects, the user doesn't even need to know that the component is behind. Users interested in use of Cv4Logo in developing of their Imagine (or other) projects can follow:
A complete guide to the component can be found in ReadMe.txt.
A paper from Didinfo 2005 in Slovak is available here: cv4logo.pdf.
The latest version and previous releases are available in CVS of CV4Logo.
An Imagine project that allows to draw beautiful spirals both on the screen, and with the robot.
This project for Imagine allows controlling the robot with joystick as if it was a racing car.
An example application in C++ that uses both robot and cv4logo components and allows controlling the robot with computer mouse.
Docking application I
An example application in C++ that uses both components and allows the robot to dock to a recharging station.
CVS of Recharge. (note: this project is outdated, the recharging station has been redesigned, multiple robots are in operation, and detection of robots has been changed, for the current recharging project in development, see CVS of dock.
All videos are 320x256
Database connection failed:Unknown MySQL server host 'mysql.microstep-mis.sk' (20)