FrontPage

What's this?

  • This is an "AR(augmented reality) Treasure Hunting Game"
    • You get virtual treasures by controlling real robot!
hirotaka.JPG
all01.PNG
3personview.jpg
displayview.jpg

Rule

  1. Look at radar window like dragon radar.
    1. Show the treasure on radar as red star.
    2. Center is a place in which a robot is present.
      1. Blue arrow is direction of robot.
  2. You control the robot to the treasure point by your brain wave.
    1. Look at line graph. This is brain wave line graph.
    2. If you feel some feeling, you control the robot by each feelings.
      1. Exciting -> Turn left
      2. Normal -> Go toward
      3. Relax -> Turn right
rule.PNG

Why to make?

  • A product world is trying to change focusing on "Content-Centric". Like a Kindle which is designed by "E-Book Centric". Then, it is necessary to design our products by "Content-Centric". For that purpose, it is necessary to perform a trial production and a products design quickly flexibly. 
  • Therefore we created one robot based on the soul of "DIwO(Do It with Others)" used as basic concepts, such as Make, in order to realize it.

Materials

Video

Presentation

Source code & Binary

Contact us

  • info (at) siprop (dot) org

Speech & Show demonstration

Demonstration

Speech

Media

Leaflet

PDF:

EPS:

Contact us

  • info (at) siprop (dot) org

The items to prepare

Hardware

Software

How To Build

Source code & Binary

Hardware

Robot

  1. Setup Wi-Fi
    1. Login "KCB-3WL" board
      ID: root
      Password: access
    2. Use "sx_console" command
      SXCON> set wl ssid treasure01
      SXCON> set wl mod ad
      SXCON> set ip address 192.168.0.1
      SXCON> set ip router 192.168.0.1
      SXCON> set ip method static
      SXCON> set ip subnet 255.255.255.0
      SXCON> sh ip
      SXCON> sh wl
      SXCON> save
      SXCON> init
      SXCON> exit
  2. Setup program of controlling robot
    1. Send "Rcb4UdpServer?"
      1. Get Rcb4UdpServer.gz
      2. Use tftp
    2. Setting Auto Run
      1. Edit "/etc/init.d/rcW"

        Add the following line before "exit 0"

        /usr/bin/Rcb4UdpServer &
  3. Setup Robot motion
    1. Connect "RCB-4HV" to your PC
    2. Start "HeartToHeart4"
      1. Load "Hello_KHR3.xml" from our source repository

        Get Hello_KHR3.xml

      2. Save "Hello_KHR3.xml" to your Robot

Pandaboard

  1. Install Linaro/Ubuntu11.10
    1. Install Manual from Linaro
  2. Download & Build Linaro/Android11.10
    1. Get Source Code. notes: How to Make the Build Environment
      export MANIFEST_REPO=git://android.git.linaro.org/platform/manifest.git
      export MANIFEST_BRANCH=linaro-android-11.10-release
      export MANIFEST_FILENAME=staging-panda.xml
      export TARGET_PRODUCT=pandaboard
      export TARGET_SIMULATOR=false
      export TARGET_TOOLS_PREFIX=`pwd`/android-toolchain-eabi/bin/arm-eabi-
      repo init -u ${MANIFEST_REPO} -b ${MANIFEST_BRANCH} -m ${MANIFEST_FILENAME}
    2. Edit ".repo/manifest.xml"
      1. Delete "<project name="people/pawelmoll/gator" path="external/gator" remote="linaro-other" revision="6a8c3b8a1871100bba3abe92446233a991cc2ed6"/>" line
      2. Change revision of "<project name="people/kwerner/libunwind" path="external/libunwind" remote="linaro-other" revision="c144104907084bc219e6233cebb1e957d2002190"/>" to "309eed21cf3f44736a2e6bcb5beb920d5da73e9f"
    3. Get Source Code
      repo sync
    4. Edit "kernel/
      1. Edit kernel config
        cd [Linaro/Android Source Dir]/kernel/
        make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- defconfig android_omap4_defconfig
        make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- menuconfig+++ Use Wi-Fi
        x   Location:
        x     -> Device Drivers
        x       -> Network device support (NETDEVICES [=y])
        x         -> Wireless LAN (WLAN [=y])
        x           -> TI wl12xx driver support (WL12XX_MENU [=y])
      2. Use Old Display Driver (for AiRScouter)
        x   Location:
        x     -> System Type
        x       -> TI OMAP2/3/4 Specific Features
        x         -> TI OMAP4 (ARCH_OMAP4 [=y])
        x           -> Use .35 based video framework for acc video (OMAP4_USE_OLD_API_VIDEO [=y])
      3. Use USB Serial Adapter (for MindWave?)
        x   Location:
        x     -> Device Drivers
        x       -> USB support (USB_SUPPORT [=y])
        x         -> USB Serial Converter support (USB_SERIAL [=y])
        x           -> USB Serial Console device support (USB_SERIAL [=y])
        x           -> USB Winchiphead CH341 Single Port Serial Driver (USB_SERIAL_CH341 [=y])
    5. Build Andorid
      cd [Linaro/Android Source Dir]
      sudo apt-get install autoconf libtool texlive uboot-mkimage
      make
  3. Setup Environment of Dual Boot
    1. Setup "uInitrd" from Linaro/Ubuntu for Linaro/Android Kernel
      1. Copy "uInitrd" from Linaro/Ubuntu
      2. Unpack "uInitrd"
        dd if=uInitrd bs=64 skip=1 of=initrd_uboot.gz
        gzip -d initrd_uboot.gz
        mount -o loop ./initrd_uboot /media/initrd
      3. Copy "files of initrd" to "root partition of Linaro/Ubuntu"
    2. Re-Build "boot.scr"
      1. Create "boot.txt". note: please change "UUID" to "your UUID of root partition of Linaro/Ubuntu". eg. ls -l /dev/disk/by-uuid | grep sdb2
        setenv initrd_high "0xffffffff"
        setenv fdt_high "0xffffffff"
        setenv bootcmd "fatload mmc 0:1 0x80200000 uImage; fatload mmc 0:1 0x81600000 uInitrd; bootm 0x80200000 0x81600000"
        setenv bootargs "console=tty0 console=ttyO2,115200n8  root=UUID=af10642e-8ac4-4597-bcd5-699b2a9a6b55 rootwait ro earlyprintk fixrtc nocompcache vram=48M omapfb.vram=0:24M,1:24M mem=456M@0x80000000 mem=512M@0xA0000000 androidboot.console=ttyO2 omapfb.mode=dvi:800x480MR-16@60"
        boot
      2. Build new "boot.scr"
        mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "pandaboard" -d boot.txt boot.scr
    3. Copy Kernel of Android
      cp [Linaro/Android Source Dir]/kernel/out/arch/arm/uImage [Boot partition of Linaro/Ubuntu]/
    4. Copy UserLand? of Andoird
      mkdir [UserLand partition of Linaro/Ubuntu]/andoird
      cd [Android Source Dir]/out/target/product/pandaboard
      cp -Rdpf root/* [UserLand partition of Linaro/Ubuntu]/andoird/
      cp -Rdpf system/* [UserLand partition of Linaro/Ubuntu]/andoird/system/
      cd [UserLand partition of Linaro/Ubuntu]/andoird/
      sudo chown -R root.root .
      sudo chmod 777 -R system/usr/keychars
      sudo chmod 777 -R system/usr/keylayout
      sudo chmod 777 system/etc/dhcpcd/dhcpcd-run-hooks
  4. Change Linaro/Ubuntu settings
    1. Delete "GUI" softwares
      1. Boot Linaro/Ubuntu
      2. Login Linaro/Ubuntu
        ID:linaro
        Password:linaro
      3. Delete "X11"
        apt-get remove x11-common
    2. Setup Wi-Fi
      1. Edit "/etc/network/interfaces"
        auto wlan0
        iface wlan0 inet static
        address 192.168.0.2
        broadcast 192.168.0.255
        netmask 255.255.255.0
        gateway 192.168.0.1
        wireless-mode ad-hoc
        wireless-essid treasure01
        wireless-channel 11
    3. Setup USB FS
      1. Edit "/android/init"

        Add a following line under "on boot"

        mount usbfs none /proc/bus/usb -o devmode=0666
    4. Setup Auto Boot for Android

      Edit "/root/bashrc"

      chroot /android ./init &

Software

OpenNI

  1. Run Linaro/Ubuntu
  2. Make directories
    mkdir /usr/etc/primesense
    mkdir /var/lib/ni
  3. Setup "OpenNI & NITE" binaries
    1. Get "OpenNI & NITE" binaries from our repository

      openni-bin-dev-linux-arm-v1.5.2.4.tar.bz2

      sensor-bin-linux-arm-v5.1.0.22.tar.bz2

      nite-bin-linux-arm-v1.5.0.1.tar.bz2

    2. Install "OpenNI & NITE" binaries
      tar -jxvf openni-bin-dev-linux-arm-v1.5.2.4.tar.bz2
      cd OpenNI-Bin-Dev-Linux-Arm-v1.5.2.4
      sh install.sh
      cd ..
      tar -jxvf sensor-bin-linux-arm-v5.1.0.22.tar.bz2
      cd Sensor-Bin-Linux-Arm-v5.1.0.22
      sh install.sh
      cd ..
      tar -jxvf nite-bin-linux-arm-v1.5.0.1.tar.bz2
      sh install.sh
  4. Build "NiSkeletonServer?"
    1. Get config file & source code

      Config File

      Source Code

    2. Copy config file & source code to "/usr/etc/primesense/"
    3. Make Source Code
      cd /usr/etc/primesense/NiSkeletonServer
      make all
    4. Setup Auto Run

      Edit "/root/bashrc"

      /usr/etc/primesense/NiSkeletonServer/NiSkeletonServer &

openFrameworks for Android