Skip to content

rlyle/self

 
 

Repository files navigation

Intu

Intu is an agent based embodiment middleware for devices. It intergrates inputs such as microphones, cameras, and other sensors together with cognitive services and outputs such as joints and audio outputs.

Before you begin

  • Ensure your hardware meets the following requirements:

    • Windows

      • Intel® Core 2 or AMD Athlon® 64 processor; 2 GHz or faster processor
      • Microsoft Windows 7 with Service Pack 1, Windows 8.1, or Windows 10, Windows 2013
      • 2 GB of RAM (8 GB recommended)
      • 1 GB of available hard-disk space for 32-bit installation; 1 GB of available hard-disk space for 64-bit installation; additional free space required during installation (cannot install on a volume that uses a case-sensitive file system)
      • 1024 x 768 display (1280x800 recommended) with 16-bit color and 512 MB of dedicated VRAM; 2 GB is recommended
      • OpenGL 2.0–capable system
      • CPU: SSE2 instruction set support
      • Graphics card: DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities.
      • Internet connection and registration are necessary for required software activation, validation of subscriptions, and access to online services.
    • Mac OS

      • Multicore Intel processor with 64-bit support
      • Mac OS 10.12, 10.11, 10.10, 10.9
      • 2 GB of RAM (8 GB recommended)
      • 1GB of available hard-disk space for installation; additional free space required during installation (cannot install on a volume that uses a case-sensitive file system)
      • 1024 x 768 display (1280x800 recommended) with 16-bit color and 512 MB of dedicated VRAM; 2 GB is recommended
      • OpenGL 2.0–capable system (This is must have for Unity Application)
      • CPU: SSE2 instruction set support
      • Graphics card: DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities.
      • Internet connection and registration are necessary for required software activation, membership validation, and access to online services.

Compiling Intu for various platforms

Getting the files

Download the code to your computer. You can do download the code in either of the following ways:

  • Download the .zip file of this repository to a local directory.
  • Clone this repository locally.

Release Notes

  • You may need to delete the "wdc" directory to get latest due to that directory being converted into a sub-module.
  • If you use git bash to checkout, run the following command to checkout the submodule git submodule foreach git pull origin develop.

Windows

  1. Set up Visual Studio 2015.
  2. Open /vs2015/self.sln in this project.
  3. Select self_instance as your startup project, compile, and run.

OS X

  1. Set up CMake. To install CMake by using Homebrew, run brew install cmake.
  1. Set up qiBuild.
  • pip install qibuild (NOTE: it is highly recommended to download anaconda python version 2.7 to have pip correctly configured)
  • qibuild config --wizard (use default setup for steps by pressing 1 twice)
  1. Run the following commands:
  • cd {self root directory}
  • ./scripts/build_mac.sh [profile]

This process stages the executables in the bin/mac directory on your local computer. You can change into that directory and run the unit_test and self_instance executables.

PS: If you run into issues with the build, you might have to change a couple of Boost header files, as described here: Homebrew/legacy-homebrew#27396 (specifically, you might have to replace your copy of Boost's boost/atomic/detail/cas128strong.hpp and boost/atomic/detail/gcc-atomic.hpp with the latest available in the Boost directory)

Linux

  1. Set up qibuild and CMake. You can use your Linux package manager to install CMake, and any distribution of Python (2.7 recommended) to install qibuild through pip.
  2. Download the Linux Toolchain for Linux (C++ SDK 2.1.4 Linux 64) and unzip the package into ~/toolchains/naoqi-sdk-linux64/.
  3. Run the following commands:
  • ./scripts/build_linux.sh [profile]

Raspberry Pi

Note: If any step below fails or errors, run: sudo apt-get update, then repeat the step.

  1. Install Raspbian Operating System onto your Raspbery Pi

  2. Open up a new browser window on your laptop and download Anaconda 4.2.0 For Linux Python 2.7 version.

    Make sure you download the correct version. You need the LINUX version no matter what operating system you have. Windows users may have to right click and select Save as to save the download locally.

  3. Copy Anaconda from your laptop over to the Pi. Windows users may need to download and use something like Filezilla to copy files over to the Pi.

    1. Navigate to the directory where you downloaded Anaconda locally.
    2. Copy Anaconda from your laptop over to the Pi using the following command: scp Anaconda2-4.2.0-Linux-x86.sh pi@{ip}:/home/pi (e.g. scp Anaconda2-4.2.0-Linux-x86.sh [email protected]:/home/pi) If prompted, the username is pi and password is raspberry
  4. Install Anaconda on your Pi and set up qiBuild.

    1. In a new Terminal/PuTTY window, ssh into your Pi: ssh pi@{ip_address}. When prompted, the username is pi and password is raspberry.

    2. Run: bash Anaconda2-4.2.0-Linux-x86.sh.

    3. Follow the steps on the screen to install Anaconda. When you get to the license, keep hitting Enter to jump to the bottom. Type yes to approve the license.

    4. Hit Enter to install Anaconda in the default location. Note: It may take a while for the progress to update, and if you get the following error, please ignore it.

Anaconda2-4.2.0-Linux-x86.sh: line 484: /home/pi/anaconda2/pkgs/python-3.5.2-0/bin/python: cannot execute binary file: Exec format error ERROR: cannot execute native linux-32 binary, output from 'uname -a' is: Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux

	```

5. Once Anaconda has successfully installed, run: `sudo apt-get install python-pip cmake`. 

	**Note:** If this fails, run `sudo apt-get update`, and then rerun: `sudo apt-get install python-pip cmake`.

6.	Run: `sudo pip install qibuild`
  1. Install the wiringPi library on the Pi.

    1. In a new Terminal/PuTTY window, ssh into your Pi: ssh pi@{ip_address}.
    2. Navigate to your Pi's home directory by running: cd /home/pi.
    3. Run: git clone git://git.drogon.net/wiringPi
    4. Now navigate into the wiringPi directory by running: cd wiringPi/
    5. Run: ./build

    You should see a list of classes compiled and “All Done” at the end.

  2. Build Intu on the Pi

    1. In your current (or a new) ssh session to the Raspberry Pi, navigate to the self directory: cd {self root directory}
    2. Mark the build script as executable by running: chmod +x scripts/build_raspi.sh
    3. Now build the Self SDK by running: scripts/build_raspi.sh

    Note: If you have any build errors, run: scripts/clean.sh and then rerun: scripts/build_raspi.sh

  3. Run Intu on the Pi

    1. If you have a HDMI cable plugged into your Raspberry Pi, verify that the sound is set to analog. This can be done by right clicking the speaker icon at the top right hand corner of the Raspberry Pi's homescreen, and selecting analog.

    2. Verify that you have a microphone and speaker plugged into your Raspberry Pi. Note that your speaker may need to be charged before use. Make sure that it is turned on before proceeding with the next step.

    3. Navigate to the raspi directory using: cd {self root directory}/bin/raspi.

    4. Run: export LD_LIBRARY_PATH=./

    5. Run: export WIRINGPI_GPIOMEM=1

    6. Run: ./self_instance

This process installs Intu on the remote device whose user name and IP address you provide. You can go to the ~/self/latest directory on that device and run run_self.sh. This process was tested on Red Hat Enterprise 6.6 and 6.7.

Aldebaran Nao and Pepper robots using OS X

  1. Set up CMake.
  2. Set up qiBuild.
  3. Run the following commmands:
  • ./scripts/build_nao.sh [profile]
  1. Run the following command to install into on the given robot using scp:
  • ./scripts/install_nao.sh [user@host]

Configuring Intu

  • To use Intu, you must have a Bluemix account. To register for a Bluemix account, go to https://console.ng.bluemix.net/registration/. Your installation is preconfigured to use the Conversation, Natural Language Classifier, Speech to Text, and Text to Speech services. To configure Intu to use your instances of these services, complete the following steps.

Pro tip: As you complete this task, you'll receive credentials for each service instance, and you'll need these credentials later. Open a new file in your favorite text editor and create a section for each service so that you can temporarily store its credentials.

  1. Log in to Bluemix.
  2. On the Bluemix dashboard, click Catalog in the navigation bar.
  3. Click Watson in the categories menu.
  4. Create an instance of the Conversation service.
  5. Click the Conversation tile.
  6. Keep all the default values, and click Create.
  7. Click the Service Credentials tab.
  8. Click View Credentials for the new service instance.
  9. Copy the values of the password and username parameters and paste them in your text file.
  10. Click the Watson breadcrumb.
  11. Add the next service instance by clicking the hexagonal + button.
  12. Create instances of the Natural Language Classifier, Speech to Text, and Text to Speech services by repeating the same steps 1 - 7 that you completed to create the Conversation service instance.
  13. Specify your service credentials in Intu Gateway.
  14. Expand All Organizations by clicking the arrow icon.
  15. Click the name of your organization.
  16. Expand your organization by clicking the arrow icon.
  17. Click the name of your group.
  18. Click Services in the navigation bar.
  19. For your instances of the Conversation, Natural Language Classifier, Speech to Text, and Text to Speech services, click Edit, specify the user ID and password, and click Save.

Important: Do not change the service endpoint unless you are an enterprise user.

Installing the Intu Starter Kit

The Intu Starter Kit contains a Conversation service workspace that helps you visualize how intents, entities, and dialog are developed. You can expand on the workspace in the kit or use it as a guide for developing your own later.

  1. Log in to Intu Gateway.
  2. Click Downloads.
  3. Download the Intu Starter Kit.
  4. Complete the instructions in readme.txt.

Feedback

Post your comments and questions and include the project-intu and intu tags on dW Answers or Stack Overflow.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 62.4%
  • C 27.4%
  • CSS 5.6%
  • Java 3.0%
  • CMake 1.0%
  • JavaScript 0.3%
  • Other 0.3%