Skip to content

adore-hrzz/nao-response-to-name

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nao-response-to-name

Response-to-name task in the pilot ASD diagnostic protocol.

====================

1.0 Introduction

Within this task, two local modules which are to be deployed on the robot are developed:

  • Logger - reacts to FaceDetected events, schedules calls and logs events in a file
  • Interface - reacts to events generated by Logger module, calls the child by reproducing the recordings

2.0 Platform

Modules are developed and cross-compiled on Ubuntu 12.04 (64-bit), using qibuild 1.14.3 and cross-compile toolchain version 1.14.5. Modules are deployed and tested on OpenNAO system, running NAOqi version 1.14.5.

3.0 Cross-compiling modules

This section describes basic instructions for cross-compiling of the local modules

3.1 Prerequisites

In order to build/cross-compile the modules for OpenNAO, You have to install qibuild and configure appropriate toolchain. Qibuild, sdks and cross-compile toolchain can be downloaded from https://community.aldebaran-robotics.com/. For setting up qibuild and toolchain, follow the tutorial: http://janebotics.blogspot.com/2012/12/better-nao-than-never-nao-tutorial-part.html

3.2 Cross-compiling

Assuming You have installed qibuild and configured it to use cross-compilation toolchain (for simplicity, let us call it atom-toolchain), You can now configure ResponseToName project to be cross-compiled by typing:

$ qibuild configure -c atom-toolchain ResponseToName

If You want to build modules in release, type:

$ qibuild configure -c atom-toolchain ResponseToName --release

To build/cross-compile modules, type:

$ qibuild make -c atom-toolchaing ResponseToName (--release)

This will produce two shared object libraries:

  • liblogger.so
  • libinterface.so

which can be found in corresponding subfolder in the build folder (i.e. build-atom-toolchain/sdk/lib/)

3.3 Building remote modules

To build remote modules, You need to configure the qibuild to use different toolchain:

$ qibuild configure -c remote-toolchain ResponseToName (--release)

Additionally, You need to change options in CMakeLists.txt file, namely:

  • LOGGER_IS_REMOTE needs to be switched to ON
  • INTERFACE_IS_REMOTE needs to be switched to ON

By running:

$ qibuild make -c remote-toolchain ResponseToName (--release)

two executables will be created in the build folder (i.e. build-remote-toolchain/sdk/bin).

4.0 Deploying local modules on the robot

When modules are cross-compiled, shared object libraries need to be transfered to the robot (using either scp command, FileZilla or some other method). NAOqi modules are started upon boot, so we need to inform the NAOqi that there are additional modules to be run. This is achieved by adding absolute path to the modules (.so files) in the autoload.ini file, which is located in /home/nao/naoqi/preferences/ folder of the robot's filesystem. The path to .so files of local modules must be entered between [user] and [python] tag.

5.0 Working with robot

Once modules are transferred to the robot's computer, and paths to the shared libraries are added to autoload.ini file, modules should be automatically started by the NAOqi upon startup.

To start the session with the child, front tactile sensor needs to be touched. Modules will automatically open the log file in the following folder: /home/nao/naoqi/modules/. Name of the log file is timestamped in yyyymmdd_hhmm format. Log file can be copied using scp, FileZilla or other similar program. After one session ends, new one can be started by touching the front tactile sensor.

About

Response-to-name task in the pilot ASD diagnostic protocol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages