-
Notifications
You must be signed in to change notification settings - Fork 1
/
mainpage.dox
75 lines (55 loc) · 3.45 KB
/
mainpage.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
\mainpage
<!--
Provide an overview of your package.
-->
PyRIDE, Python based Robot Interactive Development Environment, is a
software development framework for rapid robot behaviour programming in Python scripting language. It is also an integration framework for bring disparate robot functional modules together. This documentation gives a detailed description of application programming interface of PyRIDE on NAO robot.
\section compile Compile and Install from source for NAO
\subsection require Prerequisites
PyRIDE on NAO uses the qibuild system(v3.11.6). It requires a full NAOQi SDK(v2.1.4) installation with associated cross compiler on a Linux/OS X system. The respository contains all required third
party libraries modified to compile under qibuild system.
\subsection compile To compile PyRIDE for NAO
-# Get source code: <b>git clone https://github.com/uts-magic-lab/pyride_nao.git</b> under a <b>src</b> directory.
-# Compile and install the following modules under <b>libsrc</b> subdirectory using <b>qibuild</b> and <b>qitoolchain</b> commands (see qibuild documentation for the details).
- commoncpp2-1.8.1
- ccrtp-1.7.2
- celt-0.11.1
- PyRideCore
-# Compile <b>PyNaoServer</b> using <b>qibuild</b>.
\subsection install To install PyRIDE on NAO
Under a NAO terminal (using ssh), copy the following share library objects extracted from the packages (or copy directly from the <b>build-cross-geode-release/sdk/lib</b> sub-directory under the source directories) built in the previous section to <b>/usr/lib</b> directory on the robot. You will require root privilege to copy these files on the robot.
- libccext2.so
- libccrtp.so
- libccgnu2.so
- libcelt.so
- libpyridecore.so
Place <b>libpynaoserver.so</b> extracted from the PyNaoServer under <b>/home/nao/naoqi/lib</b> on the NAO robot. Similarly, copy the entire <b>scripts</b> under the repository to <b>/home/nao/naoqi/lib</b> and rename the directory to <b>python</b>.
Create an <b>autoload.ini</b> file under <b>/home/nao/naoqi/preference</b> with the following content:
\code
# autoload.ini
#
# Use this file to list the cross-compiled modules that you wish to load.
# You must specify the full path to the module, python module or program.
[user]
#the/full/path/to/your/liblibraryname.so # load liblibraryname.so
/home/nao/naoqi/lib/libpynaoserver.so
[python]
#the/full/path/to/your/python_module.py # load python_module.py
[program]
#the/full/path/to/your/program # load program
\endcode
<b>autoload.ini</b> will automatically load PyNaoServer when NaoQi starts.
<b>NOTE:</b> PyRIDE configuration file <b>pyrideconfig.xml</b> will be automatically generated under <b>/home/nao/naoqi/preference</b> when PyRIDE for NAO is successfully run and *properly* shutdown. As older NaoQi systems do not properly shutdown PyRIDE module when shutting down the robot by pressing the centre button, you may have to call \c PyNAO.saveConfiguration command to save important configuration, e.g. remote user access account, periodically.
\section codeapi Code API
PyNAO
<!--
Provide links to specific auto-generated API documentation within your
package that is of particular interest to a reader. Doxygen will
document pretty much every part of your code, so do your best here to
point the reader to the actual API.
If your codebase is fairly large or has different sets of APIs, you
should use the doxygen 'group' tag to keep these APIs together. For
example, the roscpp documentation has 'libros' group.
-->
*/