This page explains how to install my codes from StressGame project, driving project, and NAO imitation project.
Suppose that we have a Windows 8 64 bit on the computer. Here are the steps to follows:
- Install Ubuntu 13.04 64 bit in dual boot with Windows 8
- Install java on Ubuntu (just take the lastest version that suggested on the Ubuntu Software Center)
- Install ROS (Hydro) : follow instructions in this link: http://wiki.ros.org/hydro/Installation/Ubuntu
- Setup your ros workspace as ~/catkin_ws
$ cd catkin_ws/src
$ git clone https://github.com/AutonomyLab/ardrone_autonomy.git
$ git clone https://github.com/AutonomyLab/ardrone_tutorials.git
$ git clone https://hris2003@code.google.com/p/drone-logitek-controler/
$ cd ardrone_autonomy
$ ./build_sdk.sh
$ rosmake -a
$ sudo apt-get install gstreammer*
- Install jstest (you can use Ubuntu Software Center to do this).
- Setup the drone driving environment:
1. In a terminal, run: sudo chmod 777 /path/to/drone-logitek-controler/src/*
2. For the vocal assistance to work, you'll need internet connection. In order to control the drone, you'll need the wifi connection. So, arrange to have wired and wireless connection abilities on the computer that you use for the project.
2'. However, vocal assistance can work without internet connection if you already have synthesized sound files. The 'sound_data' folder contains a file name "indexes.txt" that stores all the sentences having been synthesized. Sound files are *.flac files and are named as the index of the respective sentences in the "indexes.txt". You can asked me to get my already synthesized sound files, too. The 'sound_data' should be put at your home directory (normally it should be called /home/<your_user_name>).
2''. You can also get the synthesized sound by yourself by using the SoundPlayer.py. To do that, open a terminal and change the working directory to /path/to/drone-logitek-controler/src/, then run the command: python SoundPlayer.py <text_input_filename>. The <text_input_filename> is the text file containing the sentences to be synthesized. Each sentence should be in a separate line. The result is stored in the folder /path/to/drone-logitek-controler/src/sound_data/. You just need to move this folder to your home directory for the voice assistance to work.
- To run the drone driving program:
1. Connect the logitek wheel to the computer
2. Calibrate the wheel using jstesk
3. Power the drone (i.e. connect the battery and the drone processor)
4. Connect the computer to the drone wifi.
5. Open a terminal, then type: roslaunch drone_logitek_controler logitekwheel_controller.launch
6. To begin flying, push the button "fly" on the logitek pad, to stop flying, push the button "stop" on the logitek pad.
7. To toggle the camera (between front camera and underneat camera), push the button "cam" on the logitek pad
8. Should you want to run the capturing of the physiological signals from Shimmer devices, execute the jar GUI_GSR_ECG.jar (which can be found in the folder drone-logitek-controler/src), then push the button "GSR" on the logitek pad. To stop the capturing, push the "GSR" button another time.
9. To begin tracking the designated trajectory, push the button "Detect".
10. Drive the drone with the wheel: turn the steering wheel to control the yaw axis, push the shifters to control the roll axis, use the gas pedal and the gear-shifter to control the pitch axis (the gear-shifter for the forward/backward direction and gas pedal to start moving in the chosen direction).
11. The history of the drive and the physiological data are stored in in the folder /home/<your_user_name>/logitek_drone_record/
You need one machine that runs Windows (to run the traffic simulator and the python code to enable the connection from outside) and another machine that run Linux:
On the Windows machine:
1. Install NiSys TRS and add the licence file to the Documents folder (ask me for the TRS installer and the licence key if you don't have them)).
2. Copy the DrivingExperiment TRS configuration file and put it to the TRS Config folder
3. Run the NiSys TRS simulator and load the DrivingExperiment config file
4. Run the python server (Or, you can just press the run button on the simulator to see how the road is formed, however, you will see no traffic events in this. It is the python server who control the addition of the traffic events during the driving experiment session).
and on the Linux machine:
5. Run the TRSCommanderGUI and control the distant TRS simulator as you wish.
You can follow this link for a complete installation on Aldebaran site. Or, just follow instructions listed below:
1. Install Python 2.7 and add 'C:\Python27;C:\Python27\Scripts' to the PATH variable
2. Install CMake 2.8.10 (You can download it from this link)
3. Install Visual Studio C++ 2008 or 2010 (just use the Express edition, we don't need the Professional edition)
3. Download Choregraph, naoqi c++, and qibuild from the page of Aldebaran (you'll need an account with some advanced permissions in order to see all the listed softwares, you can ask Aldebaran for this or email me to get the softwares directly)
4. Extract the softwares downloaded from the step 3 to your intended folder for NAO development, let's call it NAOSofts.
4. Run Choregraphe and register with the licence key (ask me for the licence key if you don't have it)
5. Install qibuild:
5.1: In a terminal, run: c:\path\to\qibuild> install-qibuild.bat
5.2. In the same terminal, run: qibuild config --wizard
You will be prompted to specify:
For CMake Generator, choose "Visual Studio 9 2008" or "Visual Studio 10" (Note: do not choose the 64 bits version for Visual Studio)
For IDE, choose "Visual Studio"
6. Now create a worktree for your NAO Projects, let's call it NAOProjects
7. Setup the worktree: in a terminal, run: > qibuild init
8: Setup the compilation toolchain: in a terminal, run: qitoolchain create mytoolchain /path/to/cpp/sdk/toolchain.xml --default
9: Now everything is set. You can develop programs for NAO now. Some instructions on how to develop can be found here.
1. Make sure you have python installed on your Ubuntu (normally, if you already have ROS installed on your machine, python is also installed).
Then in a terminal, run the following commands:
2. sudo apt-get install cmake
3. sudo apt-get install build-essential
4. sudo apt-get install qtcreator
5. Download Choregraph, naoqi c++, and qibuild from the page of Aldebaran (you'll need an account with some advanced permissions in order to see all the listed softwares, you can ask Aldebaran for this or email me to get the softwares directly)
6. Extract the softwares downloaded from the step 3 to your intended folder for NAO development, let's call it NAOSofts.
7. Run Choregraphe and register with the licence key (ask me for the licence key if you don't have it)
8. Install qibuild:
8.1: In a terminal, run: c:\path\to\qibuild> install-qibuild.bat
8.2. In the same terminal, run: qibuild config --wizard
You will be prompted to specify:
For CMake Generator, choose "Unix Makefiles"
For IDE, choose "QT Creator"
9. Now create a worktree for your NAO Projects, let's call it NAOProjects
10. Setup the worktree: in a terminal, run: > qibuild init
11: Setup the compilation toolchain: in a terminal, run: qitoolchain create mytoolchain /path/to/cpp/sdk/toolchain.xml --default
12: Now everything is set. You can develop programs for NAO now. Some instructions on how to develop can be found here.
13. In order to compile your nao code sucessfully in Qt Creator, make sure that you run Qt Creator as administrator (ex.: sudo qtcreator).
1. Install java on your machine
2. Install Phidget21
3. Install protobuf
4. Install Kinect for Windows SDK (you can find it on Microsoft website)
5. To use ECG Shimmer sensor, you'll need the program ShimmerConnect.exe provided by Shimmer and add the ECG Shimmer device into the list of known Bluetooth device (using the Windows wizard to do so). Each device will occupy two COM ports (one for programming and one for data reading). When using ShimmerConnect.exe to stream data from Shimmer device, you should choose the second port, normally having a pair number. (More information about Shimmer device: FAQs of Shimmer)
6. Copy the programs of StressGameSoft and ImitationGUI onto your machine
7. To run StressGame:
7.1 Connect the gameboard
7.2 Execute the StressGameGUI.jar (situated in the folder of StressGameSoft)
7.3 Execute the StressGameButton.exe (Situated in the folder of StressGameSoft)
8. To run ImitationGUI:
8.1. Connect the kinect to the computer and make sure that the green light is blinking
8.2. Execute the ImitationGUI.jar and enjoy! :)
8.3. Should you want to run ECG Shimmer sensor, run ShimmerConnect.exe then connect to the device. Once connected, choose "Save to CSV" in the menu of ShimmerConnect before begin the streaming.
1. Make sure that you have naoqi, choregraph installed on your machine.
2. Get the code to your NAO worktree: git clone https://hris2003@code.google.com/p/my-nao-emotion-project/
3. Change the name of the downloaded folder to ExpressiveMove
4. Build and make it:
4.1: cd ExpressiveMove
4.2: qibuild configure ExpressiveMove
4.3: qibuild make ExpressiveMove
5. Run the program:
5.1. Make sure you have NAO connected or local naoqi running
5.2. In a terminal, run the program built in the folder \[nao_cpp_build_foler]\sdk\bin with arguments: NAOip [emotion] [intensity] [joint] [length of the expression]
Note: NAOip should be the ip of the NAO that you want to run the code against. If it is the local naoqi, the ip should be 127.0.0.1
1. Make sure that you have naoqi, naoqi-python, choregraph installed on your machine.
2. Get the code to your NAO worktree: git clone https://hris2003@code.google.com/p/nao-emo-expression-python/
3. In a terminal, change current directory to the newly downloaded folder 'nao-emo-expression-python'
4. Run the program:
4.1. Make sure you have NAO connected or local naoqi running
4.2. In the terminal, run the command: python mainMoveExpression.py <NAOip>[emotion] [intensity] [joint] [length of the expression]
Note: NAOip should be the ip of the NAO that you want to run the code against. If it is the local naoqi, the ip should be 127.0.0.1