* What's this? [#gf824c1a]
- This is an "AR(augmented reality) Treasure Hunting Game"
-- You get virtual treasures by controlling real robot!
--- [[YouTube Video:http://www.youtube.com/watch?v=GcfiXjuEb4I&list=FL978sNJqNh592e1bPGF-Zqw&index=2&feature=plcp]]


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


*** Why to make? [#e8d27ecb]
- 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:http://makezine.com/]], in order to realize it.

* Materials [#r42cac6f]
*** Video [#l209ec01]

*** Presentation [#df7387dd]
-[[On slideshare:http://www.slideshare.net/noritsuna/treasure-hunter]]
-[[More detail:http://www.slideshare.net/noritsuna/contentcentric-embedded-treasure-hunting-robot-for-linuxcon-japan-2012]]

*** Source code & Binary [#d2fafe90]

***Contact us [#d137417e]
- info (at) siprop (dot) org

*Speech & Show demonstration [#cc4878ad]
***Demonstration [#w13975ae]
-[[Linaro Connect 12.Q1 Demo Friday:http://connect.linaro.org/events/linaro-connect-q1-12-demo-friday/]]
-[[Linaro Connect 12.Q2 Demo Friday:http://connect.linaro.org/events/linaro-connect-q2-12-demo-friday/]]
-[[Android Builders Summit 2012:https://events.linuxfoundation.org/events/android-builders-summit]]
-[[Embedded Linux Conference 2012 Redwood city:https://events.linuxfoundation.org/events/embedded-linux-conference]]
-[[Mini Maker Faire 2012 ShenZhen:http://www.shenzhenmakerfaire.com/]]
-[[Maker Faire 2012 Bay area:http://makerfaire.com/bayarea/2012/]]
-[[Mini Maker Faire 2012 Singapore:http://makerfairesingapore.com/]]
-[[Mini Maker Faire 2012 Hong Kong:http://hkmakerfaire.wordpress.com/]]
-[[Embedded Linux Conference Europe 2012:http://elinux.org/ELCE_2012_Technical_Showcase]]
-[[Maker Faire Taipei 2013:https://sites.google.com/a/fullon.com.tw/maker_faire01/home]]

***Speech [#f29ec139]
-[[Colorado Univ.:http://ecee.colorado.edu/~ecen5623/]]
-[[OSDC.tw 2012:http://osdc.tw/]]
-[[Japan Android Group: Android Bazaar and Conference 2012 Spring:http://www.android-group.jp/conference/abc2012s/conference/specialist/#anc_sess37]]
-[[NicoNico conference:http://nicores.herokuapp.com/entry/17]]
-[[YuanPei Univ.:http://english.ypu.edu.tw/bin/home.php]]
-[[LinuxCon Japan 2012:https://events.linuxfoundation.org/events/linuxcon-japan]]
--[[Video 01/04:http://www.youtube.com/watch?v=G54isTs1qEs&feature=youtu.be]]
--[[Video 02/04:http://www.youtube.com/watch?v=ZHvgXl5iHpM&feature=youtu.be]]
--[[Video 03/04:http://www.youtube.com/watch?v=1ZmEV-PSvIE&feature=youtu.be]]
--[[Video 04/04:http://www.youtube.com/watch?v=UE4Vk4BA-Fk&feature=youtu.be]]
-[[Linaro Connect Q4.12:http://summit.linaro.org/lcq2-12/2012-05-31/]]
-[[Mini Maker Faire 2012 Singapore:http://makerfairesingapore.com/]]
-[[Maker Faire Taipei 2013:https://sites.google.com/a/fullon.com.tw/maker_faire01/home]]

***Media [#f29ec139]

***Referred [#k71ea390]
-[[MSU ECE 480 Team 2 - Fall 2012:http://www.egr.msu.edu/classes/ece480/capstone/fall12/group02/index.html]]

***Leaflet [#c5c9f125]

***Contact us [#f59658a7]
- info (at) siprop (dot) org

*The items to prepare [#pf8fb4ed]
*** Hardware [#b677c0d6]
- Small Computer
-- [[Pandaboard:http://pandaboard.org/]]
- Brain wave sensor
-- [[MindWave:http://www.neurosky.com/]]
- Robot
-- 2-leg Walking Robot
- See-Through Display
-- [[AiRScouter:http://www.brother.com/en/news/2011/airscouter/index.htm]]
- Z-Camera
-- [[Xtion(Like Kinect):http://www.asus.com/Multimedia/Motion_Sensor/Xtion_PRO/]]
*** Software [#rf48f54d]
- Ubuntu & Android
-- [[Linaro11.10:http://www.linaro.org]]
- Media Art Framework
-- [[openFrameworks:http://www.openframeworks.cc/]]
- Bone skeleton tracker
-- [[NITE for ARM:]]

* How To Build [#n9b94f38]
** Source code & Binary [#d2fafe90]
** Hardware [#n48c35a0]
*** Robot [#mec1c9f5]
+ Setup Wi-Fi
++ Login "KCB-3WL" board
 ID: root
 Password: access
++ Use "sx_console" command
 SXCON> set wl ssid treasure01
 SXCON> set wl mod ad
 SXCON> set ip address
 SXCON> set ip router
 SXCON> set ip method static
 SXCON> set ip subnet
 SXCON> sh ip
 SXCON> sh wl
 SXCON> save
 SXCON> init
 SXCON> exit
+ Setup program of controlling robot
++ Send "Rcb4UdpServer"
+++ Get [[Rcb4UdpServer.gz:https://github.com/OESF/TreasureHuntingRobot/blob/master/bin/robot/controller/Rcb4UdpServer.gz]]
+++ Use tftp
++ Setting Auto Run
+++ Edit "/etc/init.d/rcW"
~ Add the following line before "exit 0"
 /usr/bin/Rcb4UdpServer &
+ Setup Robot motion
++ Connect "RCB-4HV" to your PC
++ Start "HeartToHeart4"
+++ Load "Hello_KHR3.xml" from our source repository
~ Get [[Hello_KHR3.xml:https://github.com/OESF/TreasureHuntingRobot/blob/master/bin/robot/motion/Hello_KHR3.xml]]
+++ Save "Hello_KHR3.xml" to your Robot
*** Pandaboard [#bf6b8796]
+ Install Linaro/Ubuntu11.10
++ [[Install Manual from Linaro:http://releases.linaro.org/11.10/ubuntu/leb-panda/]]
+ Download & Build Linaro/Android11.10
++ Get Source Code. notes: [[How to Make the Build Environment:http://source.android.com/source/initializing.html]]
 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-
++ Edit ".repo/manifest.xml"
+++ Delete "<project name="people/pawelmoll/gator" path="external/gator" remote="linaro-other" revision="6a8c3b8a1871100bba3abe92446233a991cc2ed6"/>" line
+++ Change revision of "<project name="people/kwerner/libunwind" path="external/libunwind" remote="linaro-other" revision="c144104907084bc219e6233cebb1e957d2002190"/>" to "309eed21cf3f44736a2e6bcb5beb920d5da73e9f"
++ Get Source Code
 repo sync
++ Edit "kernel/
+++ 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])
+++ 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])
+++ 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])
++ Build Andorid
 cd [Linaro/Android Source Dir]
 sudo apt-get install autoconf libtool texlive uboot-mkimage
+ Setup Environment of Dual Boot
++ Setup "uInitrd" from Linaro/Ubuntu for Linaro/Android Kernel
+++ Copy "uInitrd" from Linaro/Ubuntu
+++ 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
+++ Copy "files of initrd" to "root partition of Linaro/Ubuntu"
++ Re-Build "boot.scr"
+++ 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"
+++ Build new "boot.scr"
 mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "pandaboard" -d boot.txt boot.scr
++ Copy Kernel of Android
 cp [Linaro/Android Source Dir]/kernel/out/arch/arm/uImage [Boot partition of Linaro/Ubuntu]/
++ 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
+ Change Linaro/Ubuntu settings
++ Delete "GUI" softwares
+++ Boot Linaro/Ubuntu
+++ Login Linaro/Ubuntu
+++ Delete "X11"
 apt-get remove x11-common
++ Setup Wi-Fi
+++ Edit "/etc/network/interfaces"
 auto wlan0
 iface wlan0 inet static
 wireless-mode ad-hoc
 wireless-essid treasure01
 wireless-channel 11
++ Setup USB FS
+++ Edit "/android/init"
~ Add a following line under "on boot"
 mount usbfs none /proc/bus/usb -o devmode=0666
++ Setup Auto Boot for Android
~ Edit "/root/bashrc"
 chroot /android ./init &
** Software [#sdc45687]
*** OpenNI [#ee290563]
+ Run Linaro/Ubuntu
+ Make directories
 mkdir /usr/etc/primesense
 mkdir /var/lib/ni
+ Setup "OpenNI & NITE" binaries
++ Get "OpenNI & NITE" binaries from [[our repository:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/package]]
~ &#12539;[[openni-bin-dev-linux-arm-v1.5.2.4.tar.bz2:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/package/openni-bin-dev-linux-arm-v1.5.2.4.tar.bz2]]
~ &#12539;[[sensor-bin-linux-arm-v5.1.0.22.tar.bz2:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/package/sensor-bin-linux-arm-v5.1.0.22.tar.bz2]]
~ &#12539;[[nite-bin-linux-arm-v1.5.0.1.tar.bz2:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/package/nite-bin-linux-arm-v1.5.0.1.tar.bz2]]
++ 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
+ Build "NiSkeletonServer"
++ Get config file & source code
~ &#12539;[[Config File:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/config]]
~ &#12539;[[Source Code:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/work/NiSkeletonServer]]
++ Copy config file & source code to "/usr/etc/primesense/"
++ Make Source Code
 cd /usr/etc/primesense/NiSkeletonServer
 make all
++ Setup Auto Run
~ Edit "/root/bashrc"
 /usr/etc/primesense/NiSkeletonServer/NiSkeletonServer &
*** openFrameworks for Android [#s4cc3889]
- [[See openFrameworks android eclipse setting:http://www.openframeworks.cc/setup/android-eclipse/]]