Navigation Menu

Skip to content

jiema/NaoYARP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Prerequisites:
This project requires YARP and ACE libraries. For remote execution, they can be installed
by binary or source as usual, depending on the computer architecture. 
For on-board execution, the libraries must be cross-compiled for source, using the following 
procedure.


Cross-Compilation procedure (only for on-board execution)


- Download ACE source code from http://download.dre.vanderbilt.edu/

- Untar and in root directory create a build folder

- Source cross compilation script to set CPP flags appropriately

  - Execute: "source cross-compile.sh <path_to_naoqi_cross>"

- Enter ACE directory

- Execute: 

   -export ACE_ROOT=`pwd`
   -ln -s config-linux.h config.h
   -cd ../include/makeinclude
   -ln -s platform_linux.GNU platform_macros.GNU
   -cd ../../ace
   

- Execute: make 

- Copy lib/* to nao ~/naoqi/lib folder
  - Execute: scp lib/* nao@<...>:~/naoqi/lib





- Download YARP source code from http://sourceforge.net/projects/yarp0/

- Enter extracted folder

- Copy bootstrap.cmake (can be found on AL_DIR/modules/templates/boostrap.cmake.tmpl)

- Edit CMakeLists.txt and type just under project(YARP)

  - include('${CMAKE_CURRENT_SOURCE_DIR}/boostrap.cmake')

- Create a build folder

- Enter folder build

- Execute: cmake -D CMAKE_TOOLCHAIN_FILE=<path-to-naoqi-ctc>/toolchain-geode.cmake ..
  (error might occur, ignore them!)

- Execute: ccmake .

  - Set ACE_INCLUDE_DIR (should be <full_path_to_ACE_root>/include)

  - Set ACE_LIBRARY (should be <full_path_to_ACE_root>/lib/libACE.so)


- Execute make

- Copy lib/* to nao ~/naoqi/lib folder
  - Execute: scp lib/* nao@<...>:~/naoqi/lib

  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Building process for new  versions of NaoQi  ( >= 1.12 )

-Install qiBuild 

-Create and enter a directory

-Initialize directory with qiBuild
  -qiBuild init

-Set up toolchain
 -qiToolchain <...>

-Create a wrapping project
 -qiBuild create <pName>

-configure the project
-qiBuild configure <pName>

-Checkout NaoYarp inside the new project

-Copy-Paste CMakeLists.txt and main.cpp from NaoYARP/src/NaoRobot/NaoQi/NaoQi-<vession>/naoyarp_wrap
  to root directory of project

-Build project as usual.







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Building process NaoQi's up to 1.10

BUILD (for remote execution)

- Create a folder named build 

- Enter folder build

- Execute: cmake -D CMAKE_TOOLCHAIN_FILE=<your-path-to-naoqi-sdk>/toolchain-pc.cmake ..

- Execute: ccmake .

- Set the path to YARP building directory

- Set the NaoQi version appropriately 

- Check the value of NAOYARP_IS_REMOTE

  NAOYARP_IS_REMOTE can be OFF (a library is produced) or ON (an executable is produced)

- Press c to configure again, then g to generate and exit. 

- Execute: make -jk, where k is the number of cores in your system.





CROSSBUILD (for on-board execution)

- Create a folder named crossbuild 

- Enter folder crossbuild

- Execute: cmake -D CMAKE_TOOLCHAIN_FILE=<path-to-naoqi-ctc>/toolchain-geode.cmake ..

- Execute: ccmake .

- Set the path to YARP building directory

- Set the NaoQi version appropriately 

- Press c to configure

- Check the values of KROBOT_IS_REMOTE, NaoQiVersion, RobotPlatform 

  KROBOT_IS_REMOTE can be OFF (a library is produced) or ON (an executable is produced)

- Real-time execution for the nao requires the code to be compiled as a shared object at the moment.

- Press c to configure again, then g to generate and exit. 

- Execute: make -jk, where k is the number of cores in your system. 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Documentation

In-source documentation is created using Doxygen with input the Doc.dox file



Run the created module (it should be under <your-path-to-naoqi-sdk> /bin or /lib on the latest NaoQi versions).
Network devices are created automatically!


That's all! Enjoy! 

About

A YARP interface for the Nao robot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published