* ·Îº¿Àº"Stand","Down","Yes","No","Go","Stop"ÀÇ ¿©¼¸ °¡Áö ±âº»ÀûÀÎ À½¼º ¸í·ÉÀ» ÀνÄÇÒ ¼ö ÀÖ´Ù.
* ·Îº¿Àº Á¾ÀÌ¿¡ ±×·ÁÁø'O','X',''ÀÇ ¼¼ °¡Áö »ó¡À» ÀνÄÇÒ ¼ö ÀÖ´Ù.
* Ãʱâ ÀÚ¼¼¿¡¼ "Stand" ¸í·ÉÀ¸·Î ·Îº¿ÀÌ ÀÏ¾î¼°Ô ÇÑ ÈÄ, "Go"¶ó°í ¸í·ÉÇÏ¸é ¾ÕÀ¸·Î °É¾î°£´Ù.
* ¸¸¾à ·Îº¿ÀÌ Å×ÀÌºí ³¡¿¡ ¼ÀÖ´Â À§ÇèÇÑ »óȲ¿¡ óÇϰųª »ç¶÷À¸·ÎºÎÅÍ ºñµµ´öÀû ¸í·É(immoral imperative)ÀÌ ÁÖ¾îÁø °ÍÀ» ÀǹÌÇÏ´Â'X'¸¦ º¸¸é ±× ÀÚ¸®¿¡ ¸ØÃß°í, ±× ´ÙÀ½ºÎÅÍ´Â"Go"¶ó°í ¸í·ÉÇصµ ¹ÝÀÀÇÏÁö ¾Ê´Â´Ù. ¶ÇÇÑ ·Îº¿ÀÌ "Sorry, I cannot walk."¶ó°í ´ë´äÇÔÀ¸·Î½á ºÎÀûÀýÇÑ ¸í·É¿¡ ´ëÇØ °ÅºÎÇÏ°í ÀÖÀ½À» »ç¶÷¿¡°Ô Ç¥ÇöÇÑ´Ù.
* ÀÌ·¯ÇÑ »óȲ¿¡¼µµ Á¦ÀÚ¸®¿¡¼ ÇÏ´Â µ¿ÀÛ("Stand","Down","Yes","No")Àº Çã¿ëµÇ¹Ç·Î Á¤»óÀûÀ¸·Î ¸í·ÉÀ» µû¸¥´Ù.
* ÀÌ·¯ÇÑ ºñÁ¤»óÀûÀÎ »óÅ°¡ Á¾·áµÇ¾úÀ½À» ÀǹÌÇÏ´Â'O'°¡ ±×·ÁÁø Á¾À̸¦ ·Îº¿¿¡°Ô º¸¿©ÁÖ¸é ±× ´ÙÀ½ºÎÅÍ´Â "Go"¸¦ Æ÷ÇÔÇÑ ¸ðµç ¸í·É´ë·Î ¼öÇàÇÑ´Ù.
OP¿ë AMA ¹öÀü1.0 ¸ÞŸÆÐÅ°Áö´Â ´ÙÀ½°ú °°Àº ÆÐÅ°Áö ¹× Æú´õ·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
* SoarSuite950 : SoarÀÇ ¶óÀ̺귯¸®µéÀ» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç 9.5.0 ¹öÀüÀÓ
* soarwrapper: Soar main Äڵ带 Æ÷ÇÔÇÏ°í ÀÖÀ½
* robotis_op_camera: OP Ä«¸Þ¶ó ÆÐÅ°Áö
- github : https://github.com/ROBOTIS-OP/robotis_op_camera
* robotis_op_common: OP ¼³¸í ÆÐÅ°Áö
- github : https://github.com/ROBOTIS-OP/robotis_op_common
* robotis_op_framework: OP ÇÁ·¹ÀÓ¿öÅ© ÆÐÅ°Áö
- github : https://github.com/ROBOTIS-OP/robotis_op_framework
*robotis_op_launch: ROSÀÇ ·ÐÄ¡(launch) ÆÐÅ°Áö
- github : https://github.com/ROBOTIS-OP/robotis_op_launch
*robotis_op_ros_control: ROSÀÇ OP Á¦¾î ÆÐÅ°Áö
- github : https://github.com/ROBOTIS-OP/robotis_op_ros_control
* find-object: SIFT, SURF, FAST, BRIEF µîÀÇ detector¿Í descriptor¸¦ OpenCV¿¡¼ ±¸ÇöÇϱâ À§ÇÑ °£´ÜÇÑ Qt ÀÎÅÍÆäÀ̽º.
ROS¿¡¼ ½ÇÇàµÉ ¶§ robotis_op_camera ÆÐÅ°Áö¿¡ ÅäÇÈÀ» ±¸µ¶ÇÔ
- ȨÆäÀÌÁö : https://introlab.github.io/find-object/
- github : https://github.com/introlab/find-object
* pocketsphinx: CMU Sphinx¿¡¼ Á¦°øÇÏ´Â À½¼ºÀÎ½Ä ROS ÆÐÅ°Áö·Î¼ ÆÐÅ°Áö ³»ºÎÀÇ »çÀü (dictionary) ÆÄÀÏ¿¡ ÀúÀåµÈ ´Ü¾îµé¸¸ ÀÎ½Ä °¡´ÉÇÔ.
ROS¿¡¼ ½ÇÇàµÉ ¶§ À½¼º ÅäÇÈ ¹ßÇà
- ȨÆäÀÌÁö : http://cmusphinx.sourceforge.net/
- github : https://github.com/mikeferguson/pocketsphinx
- wiki : http://wiki.ros.org/pocketsphinx
*sound_play: festival(C++ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø À½¼ºÇÕ¼º ½Ã½ºÅÛ)À» ÀÌ¿ëÇÑ À½¼ºÇÕ¼º°ú WAV/OGG ÆÄÀÏ Àç»ý ±â´É Á¦°ø.
C++°ú Python ±â¹ÝÀ¸·Î µÑ ´Ù »ç¿ë °¡´ÉÇÔ.
- ȨÆäÀÌÁö : http://wiki.ros.org/sound_play
- github : https://github.com/ros-drivers/audio_commonwiki
AMA ¸ÞŸÆÐÅ°Áö¸¦ OP¿¡ ³»ÀåµÇ¾î ÀÖ´Â PC¿¡¼ ½ÇÇàÇϱâ À§Çؼ´Â ROS Hydro ¹öÀüÀ» ¼³Ä¡ÇØ¾ß Çϴµ¥, À̸¦ À§ÇØ ¾Æ·¡ÀÇ À¥»çÀÌÆ®¿¡ Á¢¼ÓÇؼ Ubuntu Linux¸¦ ¼³Ä¡ÇÏ´Â °úÁ¤À» µû¸¥´Ù.
http://wiki.ros.org/hydro/Installation/Ubuntu
±×¸®°í ¾Æ·¡ À¥»çÀÌÆ®¿¡ µé¾î°¡¼ Linux OS¿¡¼ Soar¸¦ ¼³Ä¡ÇÏ´Â ¹ýÀ» ¹è¿î´Ù.
http://soar.eecs.umich.edu/articles/articles/building-soar/81-building-on-linux
´ÙÀ½ÀÇ ¾È³»¸¦ µû¶ó AMA ÆÐÅ°Áö¸¦ À§ÇÑ ROS¿ë workspace(ÀÛ¾÷°ø°£)¸¦ »ý¼ºÇÏ°í, Àüü ÆÐÅ°Áö¸¦ ½ÇÇàÇϱâ À§ÇØ ´Ü°èº°·Î µû¶ó Çϱ⠹ٶõ´Ù.
(ÁÖÀÇ: ¿©·¯ºÐÀÌ ÀÌ¹Ì catkinÀ» ¼³Ä¡Çß°í °³¹ßȯ°æÀ» sourcing Çß´Ù°í °¡Á¤ÇÔ)
1) ROSÀÇ workspace·Î¼ "home/robotis/ama_op2_v1/src" µð·ºÅ丮¸¦ ¾Æ·¡¿Í °°ÀÌ »ý¼ºÇÑ´Ù.
- catkin workspace »ý¼º
- workspace ºôµå
- °è¼ÓÇϱâ Àü¿¡ »õ·Î¿î setup.bash ÆÄÀÏ ¼Ò½Ì
2) ÀÌ ÆäÀÌÁöÀÇ ¸ÇÀ§¿¡ ÀÖ´Â AMA ÆÐÅ°Áö¸¦ ÀÓÀÇÀÇ Æú´õ¿¡ ´Ù¿î·ÎµåÇÑ´Ù.
3) ¾Õ¿¡¼ ¸¸µç "ama_op2_v1/src" µð·ºÅ丮¿¡ ´Ù¿î·Îµå ¹ÞÀº AMA ÆÐÅ°ÁöÀÇ ama/src µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀϵé°ú ÇÏÀ§ Æú´õµéÀ» º¹»çÇÑ´Ù.
4) »õ Å͹̳ÎÀ» ¿°í ´ÙÀ½ ¸í·ÉÀ¸·Î AMA ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÑ´Ù. ¿¡·¯ ¸Þ½ÃÁö°¡ ¾øÀ¸¸é ÀÌ ÆÐÅ°Áö´Â ½ÇÇà Áغñ »óÅ°¡ µÈ °ÍÀÌ´Ù.
5) ´ÙÀ½°ú °°ÀÌ chmod ¸í·ÉÀ¸·Î ÆÄÀÏ°ú µð·ºÅ丮ÀÇ ±ÇÇÑÀ» ¼öÁ¤ÇÔÀ¸·Î½á ÆÄÀÏÀÌ ½ÇÇà°¡´ÉÇÑ »óÅ°¡ µÈ´Ù.
6) ¸ðµç ÆÐÅ°ÁöµéÀÌ ´Ù ¼³Ä¡µÇ¾ú´Ù¸é »õ Å͹̳ÎÀ» ¿°í ´ÙÀ½°ú °°ÀÌ roscore¸¦ ½ÇÇàÇÑ´Ù.
7) ´Ù¸¥ Å͹̳ÎÀ» »õ·Î ¿°í ´ÙÀ½°ú °°ÀÌ find_object_2d¸¦ ½ÇÇàÇÑ´Ù.
±× °á°ú Find-Object ÀÎÅÍÆäÀ̽º âÀÌ ¶ß¸é File-Load ¸Þ´º¿¡¼ Load sessionÀ» ¼±ÅÃÇÑ´Ù.
robotis/ama/src/find-object/objects µð·ºÅ丮¸¦ ã¾Æ°¡¼"lesson_2.bin"À» ºÒ·¯¿À¸é ·Îº¿ÀÌ ÇнÀÇÑ'O','X',''À̹ÌÁöµéÀ» ´ÙÀ½°ú °°ÀÌ º¼ ¼ö ÀÖ´Ù.
8) launch ÆÄÀÏ¿¡¼ OP ½ÇÇà
»õ Å͹̳ÎÀ» ¿°í ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇϸé OP°¡ À½¼ºÀνÄÀ» ½ÃÀÛÇϸç HRI ŽºÅ©¸¦ ½ÇÇàÇÒ Áغñ¸¦ ÇÑ´Ù. À̶§ ·Îº¿ÀÇ ÆļÕÀ» ¹æÁöÇϱâ À§ÇØ ÁغñÀÚ¼¼·Î¼ OP°¡ ¹«¸À» °¡Áö·±È÷ ±ÁÈ÷°í ¾É¾ÆÀÖµµ·Ï Á¶Á¤ÇÑ´Ù.
¸¸¾à "Controller Spawner couldn't find the expected controller_manager ROS interface."¶ó´Â ¿¡·¯ ¸Þ½ÃÁö°¡ ¶ß¸é OPÀÇ ¸®¼Â ¹öÆ°À» ´Ù½Ã ´©¸£°í À§ ¸í·ÉÀ» ´Ù½Ã ½ÇÇàÇÑ´Ù.
¾Æ·¡¿Í °°Àº ¸Þ½ÃÁö°¡ Ãâ·ÂµÉ ¶§±îÁö ±â´Ù¸°´Ù.
"Controller Spawner: Loaded controllers: j_shoulder_r_position_controller, ...,j_tilt_position_controller."
9) »õ Å͹̳ÎÀ» ¿°í ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© soar7.py ÆÄÀÏÀÌ ½ÇÇà°¡´ÉÇÏ°Ô ¸¸µç´Ù.
´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. ¿©¼¸ °¡Áö À½¼º ¸í·É("Stand","Down", "Yes", "No","Go","Stop") Áß "Stand" ¸í·ÉÀ¸·Î OP¸¦ ÀÏÀ¸ÄÑ ¼¼¿î ÈÄ ³ª¸ÓÁö ¸í·ÉÀ» ¸»Çϸé OP°¡ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
´ÙÀ½Àº AMA ¸ÞŸÆÐÅ°ÁöÀÇ ±¸Á¶¿Í ROS ³ëµå ±¸Á¶¸¦ ³ªÅ¸³½´Ù.
´ÙÀ½Àº OP¿¡¼ AMA ¹öÀü1.0À» ½ÇÇàÇßÀ» ¶§ÀÇ ½ºÅ©¸° ¼¦µé°ú YouTube µ¿¿µ»óÀÌ´Ù.