Skip to content

Donnie's software (Arduino Firmware, Player Drivers, Stage simulation models, RPi software)

License

Notifications You must be signed in to change notification settings

lsa-pucrs/donnie-assistive-robot-sw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Donnie Software Stack

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.

Contents

  1. Features
  2. Getting Started with the Simulated Donnie Robot
  3. Building Your Donnie Robot
  4. Contributors
  5. Contributing
  6. Support
  7. Papers

Features


  • 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;

Getting Started with the Simulated Donnie Robot


Operating System Requirement


  1. 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.

Compile and Install Donnie Software on a Desktop Computer

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
  1. 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.

Configuring Donnie

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:

Learning Player and Stage

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.

Parameter for Donnie Software

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 !

Building Your Donnie Robot


To build your own Donnie robot, please refer to the following repositories (github login and read acess required!):

Install Donnie Software on a Donnie's Embedded Computer (Raspberry Pi)

Once the eletronics and the 3D printing were done, one must load the operating system and Donnie's software into SD Card.

Install the Donnie Image into the 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 ...

Compile, Configure the OS, and Install the Donnie Image into the SD Card

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.

Contributors


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

Contributing


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;

Demonstration


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.

Support


Please use the github Issue for support.

Papers


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}
}