[[FrontPage]] * 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]] #ref(hirotaka.JPG) #ref(all01.PNG) #ref(3personview.jpg) #ref(displayview.jpg) *** 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 #ref(rule.PNG) *** 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] -[[YouTube:http://www.youtube.com/watch?v=GcfiXjuEb4I&list=FL978sNJqNh592e1bPGF-Zqw&index=2&feature=plcp]] *** 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] -[[https://github.com/OESF/TreasureHuntingRobot:https://github.com/OESF/TreasureHuntingRobot]] ***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/]] --[[Video:http://www.youtube.com/watch?feature=player_embedded&v=xkFQzhYLsQI]] -[[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/]] --[[Photos:http://hkmakerfaire.wordpress.com/2012/08/12/event-complete/]] -[[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]] --[[Report:http://geothings.org/post/22651643767/do-it-with-others-not-do-it-yourself-what-we]] -[[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] -[[深圳广电集团:http://cms.s1979.com/shenzhen/201204/0831487808.shtml]] - -[[POTS:http://www.pots.tw/node/11658]] ***Referred [#k71ea390] -[[MSU ECE 480 Team 2 - Fall 2012:http://www.egr.msu.edu/classes/ece480/capstone/fall12/group02/index.html]] ***Leaflet [#c5c9f125] PDF: #ref(TreasureHunter-noTrim.pdf); EPS: #ref(TreasureHunter.eps); ***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:http://75.98.78.94/default.aspx]] * How To Build [#n9b94f38] ** Source code & Binary [#d2fafe90] -[[https://github.com/OESF/TreasureHuntingRobot:https://github.com/OESF/TreasureHuntingRobot]] ** 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 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 + 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- repo init -u ${MANIFEST_REPO} -b ${MANIFEST_BRANCH} -m ${MANIFEST_FILENAME} ++ 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 make + 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" boot +++ 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 ID:linaro Password:linaro +++ Delete "X11" apt-get remove x11-common ++ Setup Wi-Fi +++ 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 ++ 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]] ~ ・[[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]] ~ ・[[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]] ~ ・[[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 ~ ・[[Config File:https://github.com/OESF/TreasureHuntingRobot/tree/master/src/primsense/config]] ~ ・[[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/]]