Robotics has been used to teach young students the basics of programming. However, most of the programming environments for kids are high visual, based on grab and drag blocks. Blind students or students with some visual disability cannot use these teaching resources.
Donnie project proposes an inclusive robotic programming environment where all students (with or without visual disabilities) can use.
Donnie comes with two usage options: simulated robot and physical robot. It is recommended to start with the simulated since it does not require building the robot. Moreover, currently the physical robot is functional, but it is still under test.
Currently Donnie is working fine in Linux Operating System, it is not working on Windows Operating Sytem neither in MacOS.
- Features
- Getting Started with the Simulated Donnie Robot
- Building Your Donnie Robot
- Contributors
- Contributing
- Support
- Papers
- Robot programming environment for young students with or without visual impairment;
- Assistive programming language called GoDonnie. GoDonnie is TTS and screen reader friendly;
- Integration with a Arduino-based robot with Player robotic middleware;
- Extension of Stage simulator to generate sound clues while the robot is moving;
- Software developed for the simulated robot is compatible with the real Donnie robot;
- Currently this project requires Ubuntu 16.04. Ubuntu 16.04 (Xenial Xerus) is the recommended OS distribution. For older computers or VMs, Lubuntu 16.04 or Ubuntu Mate 16.04 are recommended.
1.Open a terminal, and execute the following commands:
mkdir ~/donnie; cd ~/donnie
git clone --recurse-submodules -b devel https://github.com/lsa-pucrs/donnie-assistive-robot-sw.git
cd donnie-assistive-robot-sw
chmod +x ./install.sh
export DONNIE_PATH=/opt/donnie
./install.sh
- After the execution of the last command above, if the installation finished successfully you are ready to go! note:The last command above, in general, requires a lot of time to finish.
The installation scripts make a standard instalation we believe is the most appropriated for the average user. However, advanced parameters can be set if the user has experience with the appropriate tools.
The build system is based on CMake, so it is required to have some experience with Linux, Make, and CMake. Every part of Donnie Software Stack is also based on CMake. These are the software parts that can be customized:
each of these packages have their one sets of parameters.
Developers interested in customization might want to read the following files:
- install.sh. For desktop setup procedure.
- install/setup.sh
- install-rpi.sh. For embedded computer setup procedure.
- install/setup-rpi.sh
- and all the CMakeLists.txt files
Donnie is based on Player/Stage robotic middlware and simulator. It is higly recommended for Donnie developers to understand Player/Stage to add more features, create new elaborated scenarios, etc. The official documents are Player, Player wiki and Stage. However, the best documentation is the Player/Stage tutorial.
The following list explains Donnie's main compilation parameters:
BUILD_DOCS OFF Generate Donnie's documents.
BUILD_DOXYGEN ON This is the default document in HTML, meant only for developers.
BUILD_DOXYGEN_PDF OFF The same document before, but in PDF.
BUILD_EXAMPLES OFF Build the examples for each part of Donnie.
BUILD_MANUAL OFF Build the manuals: software manual, hardware manual, user manual.
CMAKE_BUILD_TYPE Release | Debug Debug mode is for developers only !
DOC_LANGUAGE en | pt-br | es The language used to build documents and the GoDonnie interpreter. Future work !
To build your own Donnie robot, please refer to the following repositories (github login and read acess required!):
Once the eletronics and the 3D printing were done, one must load the operating system and Donnie's software into SD Card.
The easiest way to setup Donnie's embedded computer is to use the pre-built image. Please follow these steps to burn the SD card:
wget xxxxxxxxx.img
continue ...
This option is for programmers with experience with Raspberry Pi.
Raspbian 8.0 (Jessie) is the recommended OS distribution for Donnie robot. Logon the Donnie's embedded computer, open a terminal, download this script, and execute it
mkdir ~/donnie; cd ~/donnie
wget https://github.com/lsa-pucrs/donnie-assistive-robot-sw/raw/devel/install-rpi.sh
chmod +x ./install-rpi.sh
export DONNIE_PATH=/opt/donnie
./install-rpi.sh
Experienced programmers can configure the same paramerters presented before for the Raspberry Pi.
We thank the following people for contributing to Donnie:
- Alexandre Amory: Hardware design, Embedded software, software stack, robotic middleware, build system
- Augusto Bergamin: Hardware design, Arduino programming, Embedded software, GoDonnie parser
- Camila Kolling: assistive evaluation, testing, testing with blind users
- Daniel Einloft: odometry, blobfinder, raspicam driver
- Guilherme Marques: Hardware design, Arduino programming, Embedded software, software stack, robotic middleware
- Henry Nunes: assistive evaluation, testing, testing with blind users
- Isabel Manssour: Computer vision
- Juliana Damasio: assistive evaluation, testing, testing with blind users
- Joice Marek: visual odometry, raspicam driver
- Marcia Campos: assistive evaluation, testing, testing with blind users
- Renan Maidana: Hardware design, Embedded software, Arduino programming, software stack, robotic middleware, build system
Donnie project has a small core team and it relies on external collaboration to continue developing this assistive system. This is a list of itens the core team wish to have some help:
- Translattion to other languages. Both the GoDonnie commands and Donnie's documents have to be translated. In the near future we wish to support en, pt-br, es;
- More documentation and tutorials. Currently we are building English docs;
- More examples using GoDonnie language;
- Porting to Windows. It currently works only on Linux, however, Windows has great assitive tools such as NVDA;
- Web-based frontend. so it can be used without much installation and setup;
- Integrate more assistive tools for blind users such as ORCA, NVDA, among others;
- Feature requests and testing. Please use the Issue system to request new features and to report bugs;
This video demonstrates the functionality of Donnie Robot and Donnie simulation. In this task the robot is asked to move forward until hitting a wall, then it must turn to the right.
Please use the github Issue for support.
If you are using Donnie on your research projects, please cite our papers:
@inproceedings{oliveira2017teaching,
title={Teaching Robot Programming Activities for Visually Impaired Students: A Systematic Review},
author={Oliveira, Juliana Damasio and de Borba Campos, M{\'a}rcia and de Morais Amory, Alexandre and Manssour, Isabel Harb},
booktitle={International Conference on Universal Access in Human-Computer Interaction},
pages={155--167},
year={2017},
organization={Springer}
}
@inproceedings{guilherme2017donnie,
title={Donnie Robot: Towards an Accessible And Educational Robot for Visually Impaired People},
author={Guilherme H. M. Marques, Daniel C. Einloft, Augusto C. P. Bergamin, Joice A. Marek, Renan G. Maidana Marcia B. Campos, Isabel H. Manssour, Alexandre M. Amory},
booktitle={Latin American Robotics Symposium (LARS)},
year={2017}
}