Home

thesis - Department of Computer Science

image

Contents

1. 303 viil 1X ActivMedia API ARIA A V Botspeak C Crt CPSS CRSP GCC GRASP GUI HTML IDE Java Linux ME MS NSF OS PC PTZ RAM RCCI Saphira TTS UNIX ViaVoice WECP Nomenclature ActivMedia Robotics Inc Application Program Interface ActivMedia Robotics Interface Application Audio Video Wrapper for ViaVoice ANSI C Programming Language ANSI C Programming Language Communication Platform Server Software Center for Robotic and Synthetic Performance Very high quality very portable compiler for C C and Objective C Graphical Robotic Activity Scripting Platform Graphical User Interface Hyper Text Markup Language Integrated Developing Environment Platform independent programming language Sun Microsystems Open source version of the UNIX operating system Mechanical Engineer Microsoft Corporation National Science Foundation Operation System Personal Computer Pan Tilt Zoom Random Access Memory Remote Control and Communication Interface SRI International s library of gradient based navigation and localization software including GUI and simulator Text To Speech Multi user general purpose computer disk operating system IBM s TTS and Voice recognition software Web Enabled Communication Platform Table of Figures Figure Title Page FIGURE 2 1 KIRU INTERACTING WITH WHITNEY VISITORS
2. 40 SbManagerT Main manager class of RCCI threaded 43 SbMessage Message structure class used for communications 48 SbMotionML Manages robot motion functions cccccccnncnnnnnononononononoconononnnnnonononnnonananoninnnss 51 SbMsgHandlerSingleton Manager for the messaging structure 54 SbMsgListener Abstract class for the messaging system 56 SbRobotML Manages robot connection and checks for errors bumpers stall etc 60 SbSaphiraML Listener wrapper for Saphira intelligent avoidance software 64 SbServerML Manages TCP IP server multiple socket connections send recv ASCII data 67 SbSocket Unix Socket TCP IP communication wrapper 72 SbSoundsML T Listener for Audio playback including speech synthesis and digital audio play 79 SbStateML Manages requests for robot s state position velocity sonar motors etc 84 vil Robot Control and Communication Interface Page Index Robot Control and Communication Interface Related Pages Here is a list of all related documentation pages EE EE 87 ere 87 Robot Control and Communication Interface Class Document
3. 5 FIGURE 2 2 KIRU S WEB INTERFACE FOR CAMOUFLAGE TOWN 6 FIGURE 2 3 REDEDICATION OF THE COOPER UNION FOUNDATION BUILDING 7 FIGURE 2 4 END OF YEAR SHOW 2002 7 FIGURE 3 1 SCENE FROM CO OR AII eee hene hene hene esee esee esses eese te eese sene 10 FIGURE 3 2 GRAPHICAL ROBOTIC ACTIVITY SCRIPTING PLATFORM GRASP 13 FIGURE 4 1 STUDIOBLUE PREPARATION FOR THE FIRST SHOOT 15 FIGURE 4 2 THE CAST OF HUY TRUONG S PRODUCTION SHAKESPEARE ROBOTS 16 FIGURE 4 3 ONE OF ULLANTA S STREET PERFORMANCES 18 FIGURE 4 4 KIRU PIONEER PEOPLE BO eoe E estonia ai 20 FIGURE 4 5 WOODY PIONEER PERFORMANCE PEOPLEBOT eene 21 FIGURE 4 6 AMIGOBQOTS EE 22 BIGURE 4 7 MAGELLAN PRO eia e e 8 23 FIGURE 4 8 ENTRANCE TO ROOM 23 2 E 2 3 FIGUBESE9 STUDIO BLUE A a etn e Core 24 FIGURE 4 10 LAB DIMENSIONS EE 25 FIGURE 4 11 CHROMAKEY EFFEC TE tgo aei Ai ida 25 FIGURE 4 12 DIFFERENT LIGHTS AND CHROMAKEY SCREEN ON A TRACK 26 FIGURE 4213 TRUSS LOCATION EE 27 FIGURE 4 14 BLUE CURTAIN TRACI EEN 28 BIGUREA4 IS GRAY CUR A E EE 28 FIGURE 4 16 CIRCUIT BREAKER BON 29 FIGURE 4 1
4. HTbutTsuseseTqeLsey lt joqol FT 3OOT lt 10007 son eA uru pue xeu poob oAeu 3ou seop 30q01 y 72847 yno suinj SHOSNSSSTHVI J3ueunbavppe ejeisgbsu Saosueso qe43 0 13Ssvbava3eb b6su gr esie NO I 440 0 IHDIA LI4HT suanjer DISDOTIS exe ZZ SYUOSNES STEVI LIHOIY PUE LAdT SU JT syoeyD s10SUSSOTALI ALVLS e3e3sbsu ypoTpueyqolbspwpuses 1 g ooqun 30qoa u0u aueunbayvppe o3e 1s5su osTe uLu aueunbayppe o3e43sb5su peoTAPUHSIRUOS9SI1P lt I00O01 FT 2 1D0T lt 10901 sen eA uru pue xeu poob oAeu jou seop 30q01 ey 728247 3no sulna NOHVNOS aueunbavppe e3e3sbsu uoaeuos 0Q iassvbav3oeb bsu gr este NO I 440 0 SUINJO1 JJO 40 uo e4e MVNOS oui JI syosyo JJoToOuoTeuOSsS ALVIS d e3e3sbsu yHA9TPpUPHoI1PsnNpuss t xooTure iodgoa abuer Gaarf oui ur buripeeag JUSTINO 38980To 343 seg 3842 18008 53 IO zequnu og3 SUTNJ Y epbuypue eTqnop e7 buy231e3s e qnop aequnywNaeuogj3seso O39eb SDuez USATO SYR ur Durpeor IUOS JUSTINO Syl FO 3898079 sua SUIh3OM 2 002 Taasvbay39ab bsu Zo z ebeg D Tagdsvb1iv21sb bsupbueygaieuos31sasoro1ab lt 10901 PUTIASOLAUOD SPPSSINAS Jaueunbayppe o3e1sb5su CCOIaasvbavaeb bsu T tddsVvbav3eb bsuyequnNaeuog3seso o23eb 30oqoa bura3SoIAuoo obessopwds Jaueunbayppe o3e1sb5su 1 XOOT 3O0qoa HVNOSISSSOTIO 3ueunbayppe ea3e43sgbsu TeUOCS ASSSOTO 0 131Ssvbavaeb b6su gr esie s
5. PTOA TWe dueXHdS 1039n139890 PTOA TWeTdwexyqs FOROS e EE oTTgqnd 193U9I1STTOSHKAS orrdnd TNSTAWEXHAS SSPTO ouoN bnqg Jorgpueu oui o3 xoeq sebessou o21j oi TaeTpueyorbspwpues y esn ued nox oe3oug 1eppueugorjbswpues 4douea3sriTbswqs S 19USISTIBSHAS sesn DUTUZEAE PO0Z GOEN ea3epg buradeeurbus eorueugoew uoruf 4edooo rxor eg uToOTeW 1O0Y2ne Iop pueu ey o3 xoeq sobessou o41j oi TeTpueyoLbswpues y esn ued nox voriouaz oxry ez ur opoo zno A ppe 38n aTdwexs Sjerduo3 Y 1ouej3sTTbSWQS SITISYUT 3843 Sse o e go uorgeaqueue dur e duexW pqs eoedseuru Duren burdgj4s SPNTOUTA ueoagj4ss opn ourd YU PTI SPNTOUTE ud ebessewds SPNTOUTA UY 19U9ISTTO SNAS y SPNTOUTA Y IWeTduexyqs urj pi Y IWeTduexyqs jopust I Zo T ebeg vOOZ g Aew uo p qurzd u TIWerduexuqsg epniour 0 T11921 do43xseg uroaeu sbPur33eg pue saqau umooq 2 SUPUSTTA eqtduexybsugeipueuoribswpues JI pe4rj eq OF TeTpueybsu y oi Dau m u y pues 2 19d0TUN lt I0O1 pbeartoAAaoa3aegaebo 30oqoa 6ura38S0o3 3ueunbayvppe seTduexybsu ur139eb 30qoa burag3Ss0o3 1ueunbayvppe seTduexybsu x3eb 340qoa bura39Sg0o3 13ueunbavppe 7 duexHbsu X3eb 340qoa bura3Sg03 13ueunbavppe eTdwexybsu IDO T lt 10 01H 30q01 eu WOII e3ep euos 2805727 squsunb1e bUIMO T OJ ey U31A4 ud TdWVXu 3ueunbavppe eTdwexyqbsu 6su mou e se WIdWVX4 939942 pue NMS dI
6. The navigation interface work with the video feed from the robots camera By calculating the angles pan tilt zoom of the camera and accounting for the camera mount height one can project the approximate distance and direction of desired travel after the user clicks on the image Physics model of the optical system could decrease the optical error created by the curvature of the lens 9 6 CONCLUSIONS Throughout the development of the theater Marcin Balicki and James Cruickshanks have closely worked with artists to improve StudioBlue s functionality and to produce exciting works of art Adrianne Wortzel and Huy Truong were the first artists in residence to produce video art pieces using the facility and the software created by Marcin Balicki and James Cruickshanks Although both creations were film productions they sufficiently tested all the technologies involved exposing unforeseen problems and potential improvements The tele robotic aspect of the lab has been slow to materialize however with all the underlying technologies in place the team is hoping to have a real time interactive online installation by the end of May 2004 Eliza Redux by Adrianne Wortzel is an online interactive psychoanalysis session with a Flash based interface that incorporates Eliza type pseudo intelligent conversation engine 54 and audio video feedback The office space is virtual and the roll of the psychotherapist is performed by one of
7. esto Ipue A9PDPSSINAS qusumbze sAaowsezr 4 ued obueg3 gO Ano xepuI gt gt 3noo 0 gt T Il OQezrs auaqoADge lt T sbavgounu lt T IT obuei Jo 3no ST I 942 JI Ses o3 x19949 T qurAueunbayeAouei obessopydS PTOA TPpua gt x ebessewqs aztszq4oAbsze Dburse dzour gt gt NOD PZTSIJOATUT 9ZTS 13I0AP18 9ZTSS1 13I0AP18 eZTSIJOATUT Sbavgounu gr 1 4SPB1VYIQUNU 6ze sb1iv3jounu i20 pb18e bie 9 buts ISUOD IUSUNLDIVPPE SPessanas proA 10 sbaygounu EZTSIJOATUT SZTS9113D0AP18 SOIS 107 SoOPdS OjBOOTTIP t Jueo o 2430Abae uu dueqas ura 44 d AL3 S PTOA TESTO SNPSSINAS PTOA duez2saut 198 fodAq odAj lt styy 9dA4 9 burag3s a3suoo ed l3es obessowdS proA Zen uzna z esezo s S quounbavppe srT Z II p pur3j s Q eseage s p purj s o uasans s queunbayppe sodu s Dp pur3j S i FT vooz 8 Aen uo peaqurad ddo ebessewdqs 0 rr99a doqaxseg uroaeu sbur433eg pue squeunooqg 2 eueue r4 3STP3 31nsoda 1 p1OMAS9MPTTPAUT MOJIU3 I lt potzed o 13sunu ita UO 16 gt UO 99 101 lt U2D iD 3T Tpue gt gt 49 PYATeST gt gt VHdTIV 2 3n00 4p0Tzed u2 3T r z3gunu qj BUS T 9ZTS 138UNU gt T 0 T qur peubrsun u0og 0 poraed qur ATASOTO Sirus Se FOOT of PSSu sporzod jo zZSequinu 2103 SXyoouo an13 31 ns91 TOO 4suoo za3gunu
8. PTOA ITUT We4drudesqs proA Tpus gt gt 1iasSsva3eb bsu gt gt bsu yaAtm earudesqs putita gt gt NOD 2 g ooTun 30oqoa AUIM xXUTM IeNISSpeIo3s I1 aursvbavaebo bsu UTM 1 QDaursvbavaebo b6su XUTM MOUNIMOLOD 9ed 3 gr esTe A x reob OF sqied OTqresod Oz YOOT TTIM 30901 849 YOTYM ur Pere egqnop egpqnop MOGNIMOIOS suop asoTojJ uog1aSpe19 s 0o aursvbav43eb bsu SSOTO HSOTIOlHSOLOS 9ed 3 gT este e qnop uMopburMO S 77839 3001 243 ezZeym Teoh oi eouegSsIDp eTQnop HASOTOLAYSOLOD ZZ suop asoTojJ uog19aSpe19 s 1 QDaursvbav43eb bsu ouop XNOQLNSOIO29 9ed 3 gr esTe euop eq TO euop MOTS OF TROL e oi ag OF peau am asoTo moy Jes X UIU3IM Teoh oui buruoee4g uo eoueJgo o3 e qnop HNOGLMSOLOO go Z ebedg vOOZ 8 Aew uo p qurzd ddo zIWezrudesqs 0 ITOooz doayxs q urozeu sburaa3a s pue SJUSUMIOG D SURUSTTA pesn sr y3ed eqo b5 ou 0 Jr Zuqed TeqoT6 au uo peeue YOOT OF eoueg3sIp au ST ISTP oAoqe se pesn usy2 p zoqs pue pogejno eo sr y3ed eqo b ey USATO sr Teob mau P u uM pr el 389Ip JUT y3 arecoriespeig7s uparooq ey2 usr yard peqorb ei Jeg o o oO uoeo uo pe3epdn sr y3ed TeooT ayq UO esneo2oq pares SI OUI q3nduoo uged u3 uo peaye oouejsrip euos je 3urod 7e06 e oq 3uerpeagb TeOOT e Sojernopeo 30901 oul PS9XTj ST qr u u3 pue Teob ayy oi poge jno eo sr y3ed TeqoTh 2984173
9. 3S413 11 UOTIOSUUOD jUOSTIT O ei osoOTO TPUS gt gt y INISAIDSAS gt gt sESea3ppV39DbD ISATI lt IT gt x QUSTTO YATM UOT ADSUUOD ASOT gt gt MOD pe3oeuuoosIp TTAN 248 3T Jeyoos Jey Der peulnz3al sem TIAN Ue qoaud e sem 21949 1138 puodas lt 3T x 3oyoos y OF butrtpuodsartioo DUTITJE Y OF Pp 949 ares Sak JI bBuTy3auos peor m s1ns oexeu Yeo1q 0N 0 238S 3T pres buty34ue 73 Uusem se1ey3 uequj TOYO burgeuru4oj InU ST SIU3 JI da TION i Qburazagpeea c 3483Tg 3T1 178 OTTYM burzijs SY peor quesTTo quOPO TOF MON vooz 8 Aen uo peaqurad ddo TWa2eAaesqs 0 rr902a2 doqxseqg uroaeu sbur33es pue squeuno2og 2 SueusTIA 0 poraed qur ULTOBOTO STH3 1 yOOT Of DOOU spotied Jo Zequnu TOF S3oO9uo fenzq 31 ns91 TOO 123Sunu burag3s ioeboe4QUuIST 7IWAJ9A429SqS TOOQ Zen uaznjeza JOs e 18 qZayoos suuo 9 Au 3ST83 uan3ax QA amp adue z3s grT 1 19D0S SUUOJAU x 138 138 9 Butaqs 191008 y 3 yxoosqs eqaeG3 b6 TIN1ISAISSIS TOooq 113s uzna z JOse18 3 sxoSos suuooxXZu 3exo0os suuopAu 4 138 Hutaqs 194008 y 3exoosqs eaeqa3eb TIN1aSA193SGS PUTAS 391 u1n391 391 uanjeza 2 AS1ATI lt ITRU9STTIFOSUUODSTP uLINO ed Ar3eb b6su gr 3ueryO aouMO SRT j2O0UUuOOSTp DS sof JT ebessou 3rnb e sr bew 942 JI 12949 Zen 291 Z Pp putj lt puooes c 31 0 seT lt puodes lt 3T
10. Master s Thesis Cooper Union May 2004 ActivMedia PeopleBot Web Site Activmedia Robotics lt http www activrobots com ROBOTS peoplebot html gt January 5 2001 Pioneer2 PeopleBot Operation Manual v 1 1 Activmedia Robotics lt http robots activmedia com docs all docs p2opmanl 1 pdf gt February 5 2004 iRobot Incorporated http www irobot com gt March 20 2004 Wortzel Adrianne Camouflage Town lt http www camouflagetown tv gt February 22 2004 Cole James A Web Enabled Communication Platform For The ActivMedia PeopleBot Master s Thesis Cooper Union October 2002 Balicki Marcin Computer Multimedia Systems and Communication Infrastructure for Implementation of Camouflage Town Exhibit at The Whitney Museum of American Art Senior Design Project Spring 2001 Wortzel Adrianne An Interactive Tele robotic Installation End of The year Show The Cooper Union 2002 lt http www artnetweb com wortzel robottheater endofyear html gt April 2 2004 Arsham Daniel COLORAID The Cooper Union Fall of 2000 lt http doc1 cooper edu 8080 gateway robotics site ashram html gt April 5 2004 The Forrest Wade Rapid Prototyping Laboratory Cooper Union lt http www cooper edu engineering me facilities proto html gt April 6 2004 98 16 17 18 19 20 2 22 23 24 25 26 27 28 29 30 31
11. QUITALL Disconnects all the clients from the server SEND arg1 arg2 Used to send messages back to the TCP clients The SEND is removed and the rest of the message is broadcast to all clients For example message SEND MSGlleft 23 will be converted and sent to the client out as MSG eft 23 l 5 12 1 3 SbMotionML MOVE double Commands the robot to move forward or in reverse by a given distance in millimeters The robot s direct motion move command actually uses short for the movement therefore the input limits are 32767 mm VEL double Sets constant velocity in mm sec forward and reverse LRVEL double double Sets the constant velocity of each wheel LEFT RIGHT in mm sec forward and reverse ROTATE double Rotates the robot by given amount in degrees Positive is counterclockwise This works similar to the heading where a rotation greater than 180 or smaller than 180 the shortest method For example the robot will turn clockwise 170 degrees if 190 is entered ROTVEL double Sets the rotational velocity in degrees sec Directions same as ROTATE HEADING double 77 Will rotate the robot to the desired heading degrees in the shortest possible manner For example if the robot is at 0 degree heading an input of 350 will turn the robot to the left 10 degrees so a full turn is not possible with one call to this command STOP Stops all motion commands Act
12. Sent when the gripper commands are used on a robot without a gripper 5 13 Installation and Operation Installing and updating the software requires familiarity with UNIX programming practices makefile gcc and knowledge of the operating system Utilization of RCCI is fairly straightforward 5 13 1 Installation The compiled program should work on any ntel based Linux machine with ARIA Saphira and if speech 1s desired ViaVoice and Botspeak installed If recompilation is required GNU GCC compiler version 2 95 3 is necessary It is imperative that all the paths are correct and that the machine is setup with Internet access For detailed directions consult the appendix 87 5 13 2 Operation Initially software testing was done using a common Telnet client such as the one provided by the latest versions of Microsoft Windows or any UNIX machines Before any testing can take place the RCCI server needs to be activated This is rather complicated due to the fact that ViaVoice engine requires X Windows and attempts to bring itself up on the client side user side Since MS Windows machines do not have X Windows a Linux machine Is used to connect to the robot and start up RCCI Before that 1s possible the client machine needs to allow all clients or just the robot s IP to open X application This is done by allowing all clients to connect to the user s machine by typing in the terminal xhost or just one by specifying particular
13. T JUTASPIOI9NOLISOY 19ND0SAS qur peubrsun 009 9on23 uan3ea 8ST83 uingoaz L Zo L ebea vooz 8 Aen uo peaurad ddo 4exoosqs 0o rrooa doaxseg uroaeu sbur433eg pue saqueunooqg 2 eueueIr4 1 sw 9 obessowdS qasuoo 11IjJ PTOA TENgITA SITJI OJ 198U9SISTT ey pesneo yorym ebessowqs bsu uezedo UOTJOUnNJ TeNJATA end TseueqsTT6swqs ey sa3ueue dur PTOA I TNSPUNOSAS gt XOS3Onrqsem PTOA ITNSPUNOSAS IOJOnr38U02 oTTgqnd xXselouAsSvav orrdnd tous23sTTIOSHAS orrqnd ji 7Wspunosqs sseTo ouoN bnqg 19PPUPU lt 19TPpUPy lt 19U93STT Tebeuew uo4j uorjoung ur Aeme 18 ST JIouejsr eours poo4goj eq prnom UOI43P 9Z2I sty 21oAOoMOH SIDQUIISTIBSHAS Tre Aq passassod eq p nous 31 oq eoue4ogje4 ay pue suo aq p nous sseTo Zebeuew oyag uoge burs ey3 se TeTpueybswqs burxeu Jo pes73sul opo3g8 JT Duren eq eu pes1y2 19430 ewos osneooq TeTpuey ey o3 xoeq sobessou o41j o3 TeTpueyoLlbspwpues osn jou prnoys zoj z u3q pue popea1y2 ST Sse o STYLI PBUTUIEMD burxoo un pue burxoo u3rA4 ngeadaeo eg buruageAp POO UDIEN SIP buradeeurbusy eorueqgoew uoruf 1Sd00 Irxor eg uToOTeW 10Ya2ne yeods30q SZITEUIJIUI TIIM BTA 10 yeeds JO egen JEJIJ Z S3soenbe4 eArg3noesuoo Auew burpues JOJ SMOTTe OsTe 31 bur o o 30qo01 eu burxoo 3n0493TM burzrseuaquAS pue saem burAerd JO zpo oxypj 03 yeerouAszy popeorq s PIIV sarz gur SSPTO ispunogqg
14. eaueAgebessew QueAqgebessou proa orrqnd KTHLOSNNOO LON ONS IL NVO UIaUuradd j3no ueis Ag y jo y obead vOO0Z g ABN uo peaurad eAetf Teueg oz4uojpesnoy r1oaquoou oas Ioa4quoou 3oeLfoadqL saqueunooq Aw uroaeu sbur33es pue sQueuno2og 2 SueusTIA
15. 23 18 Ullanta repertoire ranges from Play by G Stein to a more contemporary Fifi and Josie A Tale of Two Lesbiots A Story of Autonomy Love Paranoia and Agency by Roxanne Linnea Rae 23 The group uses robots provided by ActivMedia Robotics 4 1 3 OmniCircus Junkyard Cabaret and Robot Ensemble OmniCircus is an experimental surreal psychedelic musical cabaret group founded in 1988 by composer artist Frank Garvey 24 Its shows integrate live avant fusion music and performance with life sized computer controlled robotics and midi controlled virtual reality performers 24 4 1 4 The Virtual Theater Project The project studies the creation of intelligent automated characters that can act either in well defined stories or in improvisational environments Virtual reality initiatives that have a remote aspect but do not utilize robots are of interest because such system s interfaces and intelligence can be extended to robotic physical actors 27 4 1 5 Synthetic Characters Group This research project is under the direction of Bruce Blumberg at Massachusetts Institute of Technology His group aims to create intelligent interactive characters for storytelling games and Web based worlds Their passion is to create creatures whose behavior form and underlying architecture not only informs our understanding of the natural intelligence displayed by animals and ultimately ourselves but that also tou
16. Amr Orpne re3rbrp pue srsoqgquAs gooods HurpnyTour xoeqAerd orpny oy 198US34STT jTpueg 24 ois eoedseuru Duren 3TUT TOOQ berg yeeds 20g poZITIJIUT nu yeods jog epn ourd SspwAeTqmsu Toog vw Uxeaxe berg peatzze AeTd 107 ebessou mau SOeur 3see 3e ueds oi sposu xequ s 2 uio3xo Sswyeedsmou TOOq STII 9 E ST EE berg peatzize xeods 107 obessau mou Osu obessopqqs ad spunosgay eopnyourg obessou TeuzequTt nt quosedsacy opuyours PTOA IOQOYAOAYOsyo TOO Dieren Sr pue BISTXS 20901 SQI JT SyOoSsuo lt buTiq4s gt SPNATOUTH 10002 x TOOHIV 1ISq3utod 30q01 B8UJ943UI vU PTI SPNTOUTH pa3o0873o01d uu SBPSSDNAS y PSPATOUTA 198U9ISTIPSKHAS y PSPNTOUTE 1 bie y proA peoauujuna y PTOA TENJITA bury3ou seop Jeya 3ueunbie bre uegedp u ITNSPUNOSIS eurgep amp uorjgoung pes1y43 ureu xyserjouAg4v ey squeue dumr u IINSpunosqs gjepugjr4 I Zo TI ebegd vOOZ g Aew uo p qurzd uq r1TIWSpunogqs epniour 0 T11921 do43xseqg uroaeu sbPur33eg pue saqu umooq 2 SueusTTA DOLGNNOSOD INV u edAL3990 0su gr esTe burij3s ey ur sbej bursn peppeque ST UOIJgP9IJPA yoseds xeedsjoq 103 NO I 440 0 uo pue zo spunos Drue y suznj 3Uur 92OIGNDOSODIWV os ouop jou Seu QI JI SSZI P9IJIUI yoseds azrseyqu s oq xeeds3oq esn TTIM burga3S MVHdS 3901 tuan3ax1 Quem em buty34ue 350 UPD em os Pep SSeTo SIU3 SXOO GHLOANNOOSIG SSW ANAS y MSTPUPHOLOSHPUSS
17. este PUSS AQTATAOYWPUSS UUOD pues uT 4UuTad yno weqsdAs falla PS ES ala 28 ala TS pu s PUTIJS uOu ua u jOlezeduoo ps 0 TInu Hu u ujOLeaeduoo cs 0 TInu uOu Y QC u Olegeduoo zs TInu Oper IS uTAUurad 4no uea3s Ag un OLezeduoo Ts 0 TIRU IS 3T pe35euuopsr uuoo 55 TTnu i UUCO FT ps buraa3s cs butaas zs buraga3s Ts buraj3s pueuuojpues proA f wl HLVISuQJ AIATI3OVpues uuoo Q PSASSUUODST UUOD 9 9 TTnu uuo2 JE JU9MAHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Maus2STTUOTIDY mw uy u qsrTuorqovppe 18ISu0o332na d u Al d Ca UI g dOLS u joueuuoopu s 9a3ueAqguoraovpeudogj4doquorjoe PTOA orTand Haus23sTTUOTIOY MOBUPSUS AST TUOTIOYppe uoaangdoas d uu uu un a LOANNOOSTC puewuogpuss JUSAJUOTIDYP9SUTIOJTIS9JUOTIDP PTOA ot Tqnd TSUSASTTUOTIOY MeuygoueajsiqTquoraQovppeuo3 anga3oeuuoosrqa3oqoa3 d uu un 1 3X31399 9X U0910901 LOWNNOO pPueuuoj pues JU9SAHUOTIDYP9SUTIOJIS9JUOTIDP PTOA ot Tqnd TOUSYASTTUOTIOY MeuyuouoejsrTqTuorjovppeuoj3 4ng3oeuuoj3oqo4 uu un 3XeL9e6 Z4axXLGWUOCD axoeria3eb 3xrlguuoo pueuuoopues JUSAJHUOTIDYP9SUTIOJIS9JUOTIDP PTOA ot Tqnd Maus2STTUOTIDY MeuyuouojSsr TUOIj3OVppe GUO RAN qWOD d t d 3X911960 y IX pwuoo 1 JQOXoI39b gaxl guuoo 3xeol39b5 Za xigpuuoo a3xer3eb 3xripu
18. ois eoedseuru Duren lt bBUTIIS gt SPNTOUTA uy SBPSSINAS 1 SPNTOUTE u 19U9ISTTIPSNAS SUTISPH Y 19U9ISTIPSHAS Jopust 7002 u 19U9SISTTIBSHAS SPATIUT O TTODA do0IIS9G UTDARU SHUTIJSS pue squeunoog 2 g Aew uo peaurad ourmueTr a3sS bsweaTg3 jedue SUT ISH UoJSTHbutszeTpueybspgs buri3s PTA ebessou ey 9117 pue AeTpuey oui jo eouejsur sy 3ob 138 Y buts a3suooyuo pueHoribswpues 1USUSISTIPSUNAIS PTOA bsu bswearg3 jedue SUT ISH UoJSTHbutszeTpueybspgqs obessou 949 SIT pue TeTpuey y jo soue3sut y 3eb bsu s obessoywdSs asuoouno pueHdoIlbsypues 1SUSISTTOSHNAS PTOA PTOA Tous ist Tbswqs 19SUSISTI SHAS TSUSASTTOSWAS 1SUSISTIOSHAS ois eoedseureu bursn Y UO0JSTOUTSISTPUPHBSHAS epniour4g UY 139U9ISTTIOSNAS y SPNTOUTA I go T bea vooz 8 Aen uo peaqurad ddo azeuej3srTIbswWas 0 r1902 doaxseg uroaeu sbura343es pue s4Queunooq 9 SueusTTA I JO T ebeg Y INI09049S gripuesj E tuoydo7 uorqo uuoodoriv ro3srnurs 02 bDur32ouuoo Oj posn SSPIO uorjoeuuoon dag ZZ 4U0DTeTASS UOTIOSUUODTeTIA9SSAy B TIO UDIJOOQUOO rerros ZZ ZCUOS SOTADdQIAPUOSIVY jodqor S43 103 IPUOS 1001 y IOJOHIV I93UIOd 3200027 IPUIOSgUI fodAq buraas obessou Jo adA2 o435euuoosrp TOO joqoz ET SjOOSUUOOSID 7 pTOA 10GOYID8UUOD Tooq 3100 rerzos ot pojoouuoo 3o0qoxr O3 joouuoo If q410d5 QUT qasuoo SOUR PUTIAS AISUOD JUTSIDSUUOD Tooq Joger
19. 3exoos suuojAu 3T yo3eu O3 bur4js mou e pue Aan e se jexyoos e ppe uuooburuoour 5 iogjsueaa 3ex oos 19X00SIS M9U j9xX20S 190T4UONF9S uuojburuoour 0 lt q339eb uuo5buruoour 99 fUOJPLUTUODUT Id9208 79ID0S19A19S 9STTUM dew uorjoeuuoo ey UT QT 91098 pue Zar Zeieupii SQuer o Mau OTe 91942 JT joeuuoo OF Supa 3jequ3 sj3eyoos meu Aue 3ob uan3ea 0peuedosr i 3T iuojoburuoour 3exoosgs suorjoeuuoo buriuoour TOF 3exoos ieadodumme3j TTAN 138 x aeuo fsaqAq y aeuo peubrsun J9x20S y JEYyoos s proA eouoeToAo TINISAIDSAS PTOA Zen uaznjeza 3ST83 uanjea 9STej pausdo TPUS gt gt y INISAIDSAS u gt gt 1391011392890 191008194198 gt gt 101134 192908 gt gt MOD sT fenaq peuedo TPUS gt gt INISAI93SGS a gt gt 110419 gt gt 210d uo p u do I1I9A19S gt gt NOD 2 YOOTGUON ISS 39X2OS 429 AJ29S Q 193DUTTISS 3e xoosadeSA2oS 491 3894908qs 13s oO 31104185 1018e uedo I9ID0S19A19S 3T v JO T bea 3ST83 uanjea Tpue p IWA49Aa29eSqsg buruuna pue uodo peead ST J9AJ9S gt gt MOD psusdost FT proA uedo TINISAISSIS TOOQq uedo uagzn3ea a10d 1104 98 qz0d butaas uedo TIN1SA19SIS TOO 4auogarnejep UTOR este id rod 0138s o d iebequIrsr gt d buraa3s aagoga3ss WWASAAZSSAS PTOA soTo PIOA IWA49A429SQS TIWASAASSAS es eg pousdo 2 u11 0UT1I5 M19ITUT
20. Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Bug None Definition at line 34 of file SbServerML h Public Member Functions e SbServerML void Constructor e SbServerML string port Constructor creates a socket on specified port e SbServerML void Destructor e void setPort string set the server port e string getPort 67 returns the port bool open void Initializes the server bool open string port Initializes the server with port void cycleOnce void Runs once through the servers functions void close void Closes thegetDelimiter server void disconnectClients void Disconnects all Clients void disconnectClient SbSocket Disconnects one client string getClientAddress SbSocket Disconnects the Client bool isOpened void Sees if the server is running and open for connections int numConnected void Returns number of clients connected bool sendData const SbMessage amp send a SbMessage object bool sendData string send a basic string bool getMsg SbMessage amp parses the databuffer for message and assigns the oldesvectort one to the object argument void setDelimiter const string amp d sets the delimiter for msg parsing string getDelimiter void gets the current delimiter string getData SbSocket gets data and then clears the buffer bool getData SbSocket string a
21. React to Message 2 Does not respond directly to handler 1 React to Message 2 Respond via sendMsgToHandler Figure 5 4 Main Logic Flow Chart 5 10 1 Messaging system Messaging system implementation described above is at heart of this software design SbMsgHandlerSingleton manages references to listeners registered with it Each of these listeners has message types associated with it that get forwarded by the handler 65 One can think of this system as a mass mailing machine Figure 5 5 Starting with a pool of people interested in different subjects listeners A B C D If person A was interested in apples and pears s he would register with the mass mailing handler service to be put on the apple and pear list while B was interested in pears only C in apples pears and oranges and D is not interested in fruits at all Once information is available on apples the handler will mass mail A and C and if the information is on pears A B C will be notified while C will be the only one to get the mailing if oranges are in the news D will never receive a mailing Person Apples Pears Oranges AS Handler M Figure 5 5 Message System Analogy The message is required to have type associated with it along with the message information as in Figure 5 6 Furthermore the message has to be flexible and allow for various data types string integer double and be able to be easily transla
22. STATUS NO SUCH THREAD The thread can no longer be found STATUS INVALID Thread is detached or another thread is joining on it STATUS JOIN SELF Thread is your own thread Can t join on self STATUS ALREADY DETATCHED Thread is already detatched Definition at line 63 of file ArThread h The documentation for this class was generated from the following file e ArThread h 11 SbActionGoto Class Reference SbActionGototinclude SbActionGoto h Inheritance diagram for SbActionGoto Detailed Description This action goes to a given ArPose very naively This class has been adopted from ActivMedia s ArActionGoto The action stops when it gets closeDist away You can give it a new goal with setGoal cancel its movement with cancelGoal and see if it got there with haveAchievedGoal This doesn t avoid obstacles or anything you could have an avoid routine at a higher priority to avoid on the way there but for real and intelligent looking navigation you should use something like Saphira s Gradient navigation Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Bug Doesn t work as expected used Saphira instead Definition at line 22 of file SbActionGoto h Public Member Functions e SbActionGoto const char name goto double closeDist 200 Constructor e virtual SbActionGoto Destructor e bool haveAchievedGoal void Sees if the goal has been achieved e void cancelGoal void Canc
23. Windows Mac OS X and Linux 19 GRASP allows users to create a script of activities on a synchronous timeline The parameters of these activities or events can be defined graphically using the appropriate modules text to speech TTS pan tilt zoom PTZ camera motion gripper etc The script can then be used to send messages request to a robot server via the Internet to perform predefined activities Event instructions can be transmitted in primarily two separate manners The user may click through the script sending events one at a time at his her discretion or s he may choose to automatically send them at predefined time intervals Each event consists of a Text To Speech action a movement a playing of an audio file or any other possible action in any combination These options allow the user to visually direct the robots motions as well as change its behaviors GRASP needs to establish communication with the robot which also requires a type of message interpreting engine that translates general activity request from GRASP and materializes them in physical robot activity 1 e motion speech For the most part these predefined activities are implemented in ARIA but need to be set up properly and organized for easy maintenance and live feedback 12 di JBuilder 9 C Documents and Settings james Desktop grasp src 040220 src edu cooper me grasp model ProjectManager java al xj File Edit Gen speck Views De nom Taam AA mv Tanal
24. adA3 edAy 320d qur u do yayoosqs TOO en13 uan3ea eSTezZ uazn3ea f 4398UUO02 J 101194 Z 4eodxq 7180 419N azoaag Au 3 Nne39p yesaq 43s0y o3 a3no1 ON Z 13S1011HA4Uu vooz 8 Aen uo peaqurad ddo 3949084S 0 TT991 d0I4S9 UTD1PU SHBUTIJSS pue s4aueunooqg 9 SueusTTA L Zoe ebeg Jiseopeolig1ss 19800sqs Tooq onz3 uzna zx ST 8STP3 uazna3ea 3doxoos3es auoaaed HNIT 3adoyoosa s of eunT qre4 1ISIO11 HAU 19908 O i urp oezrs ur 5 tHoONIT OS LHMOOS Tos daAu adoxoos3es gr ioUT3 1ebuTT Tutt 19 ggouo TUTT osTe SWT TEHUTT Tutt T JJOUuO T UTT eur3 gt UTT 19BUTT 3onaas OWT FUT ISPUTTAISS J93I100SIS TOOq en13 uan3ea T 44u sT eSTeg una T qaAu qqAW SSOTO 38 osoTooqAu 3T 9SOT9O 349X 5OSQS TOO IJS y Ayo 1 uanqez 0 uanqez 1993UUO09 J1OX119Sd joeuuoo oq eun re4 73927071 qAU Gr appexoos AOnAYAS FOSZTS UTS y appexyoos 3onaa3s qqAw JOSUUOD FT UTS y UT APPeYOOS 3onaa3s ornl32euuoo 4exooSqs TOO urs Au s ol32euuoo uan4je4a 110dM9P1019N013S0Y 320d urs urs Au LANI AY TUeg urs urg Au eSsTeg uan3ea Gppe urs urgAu 4sou ippva3soui 3T ursAu goezrs UTSAU 39 019ZQ 1500 RER 2801 8STP3 uingoaz eoueuj3sou13eb agoaaed u 1u 131011 HAU 4souTeooT 13910113 4Uu1 wi 3asou
25. double getArgAsDbl int 1 const returns an argument as a double string getArgAsStr int 1 const returns an argument as a string Static Public Member Functions string convToString int 1 helper function that converts integer to string string convToString double d helper function that converts double to string Protected Member Functions void setTimeStamp sets the time of creation or recreation bool isNumber string const test if the string is a number Protected Attributes string delimiter delimiter for the current message string timeStamp timeStamp string string type type of this message int numOfArgs number of arguments that are part of this message vector lt string gt arg Vctr this is slow and may need to be replaced by an array or something like that 49 Static Protected Attributes e const int iniVctrSize 255 size that will improve the speed of the vector by allocating space for it Member Function Documentation string SbMessage convToString int j static helper function that converts integer to string internal stream function used in toString Definition at line 198 of file SbMessage cpp References convToString Referenced by convToString and SbRobotML fire string SbMessage convToString double d static helper function that converts double to string internal stream function used in toString Definition at line 191 of file SbMessage cpp References convT
26. e qnop TeuulooZ WVO 1 IdGaSVb2y39eb bsun uooz UOOZ 0 13Ssvbava3eb bsu gr 001 0 uooz e qnop umnoz Wv2 tuin39a1 abou 9 042 i JT 1 padA 2186 bsu sdAq uanjea Kl I ELOENNOOSIC SSW AGNES Ze TPueHOLOsppues pue gt gt u CINANOSP1SWeDqs pueuuoo 9zrj FOU TTIM gt gt a peqjqoeuuoo jou ST AO erte j usocop joqoWd gt gt NO noqouao4xX29u2j gT J0 c ebeg vooz 8 Aen uo peaurad ddo TWANOS aeuejqs 0 rr9202 doaxseg uroaeu sbura343es pue s4aueunooqg 9 SueusTTA I JO T ebeg J TPUS MOTSITTLXeW QUI peeds ITIL unurxeu MOTSITTLUTW QUT peeds QTIL unururu Morsuegxeu qur peeds ueq unurxeu TSuequru qur peeds ueg umururu AIOOZXeu qur enTeA uooz unurxeu amp oozuru UT on 9A uooz unururiu SOdITTLUTW UT uor3rsod 3TLL wunwrury Ze oquequru qur uor3rsod ueg unuruIiu SOdITTLXew qur uor3rsod 3TTI unurxeu Soguegxeu qur uor3rsod ueq unurxeu feTOWeO y PODAIV SSPTO TOIQUOO etaueo UOUPO POOA fodAq buraas odA3 ebessou 710007 y TOQOHAV ZXoguTOU 30001 TEUISSQUY qur jeje 4S eb eTqnop z wooz T 3TT 0 ued UOOZ 3TIL UP8qd JO en 8A quszino eu3 suagnje4g TANOP MeTSITTI PFOA peeds 23112 eq qnop MeTSued proA peeds ued e qnop reuuooz PTOA ff 0 00T Uuorarsod JUuezTIND 03 TerAe3ge e4 suooz STANhOp uooz PTOA O OOT UOI3ISOd wooz eIqnop
27. gt gt 3noo w 3due33e uor3oeuuoo paeosrp VINY ON SSWIGNHS 4Xe9 pueHoIlbsppues buTUUNY eb eTAY FT 381T3 OuTuunT SI VIMV 23842 euns oexeu PTOA JOSUUOOSTP IWi1OQdOWdS Tood an13 uaznjeza UTDIJ jOQgoOr og SE 1 T OlMHS Sspuseuuoory juruooec joqoda TT TIdVNH Spueuuojay a3uuoo 3oqoa GHLOENNOO DSW NHS HOTPUPHOLDSWpues TPUS gt gt TINJFOGouds peusr qease uorjooeuuo gt gt MOD ST d esTeg uanaqea OT quno2 grt 4 43unoo O00 deers 1ranav Tpua gt gt 3J rT Sadueqqe gt gt aunoo 6 gt gt Spuooss c ur urebe Pr s 2360903 oj Otto jou prnoo gt gt jnoo i utepe bur z3 QHIIV4A NOIIOSHNNOO SSNWIGNSS 4MelipueHolbswpues Aoeuuopburxoo d 30qO4j 3T 0pe32euuo5pSrj eTTUM 70 Junoo qur 4rxo reJ OM IT 3oouuoO O3 AX3 Ze L1ODTPeTISSHOTIDSUUOJSOTASIASS lt 10GOI UOTJOSUUOD s3oqo4 oul 3es d esT ej uanjea pus gt gt KEE o age gt gt TDSTISI u do gt gt noo u uwerqoad umoo erazes CHTIVA NOILIOSNNOO SSWIGNWS Me pueHorbswpues qeapbessopyuedoaeb uoj eraes 1738 o i Quedo aop erages 791 3T 1 UnOTIOSUUOOTPTISSIY Meu uoOTerd s uerqoad pro ue punoze 10ey euo mou e oipai pue suo PTO ay e3e ep UUOD Te TASS J T P s DuTias CD 191 qur PTOA I0O0YID9UUOD TWN3OqdOHdS TOO Zen uaznjeza UTBTIO Bogor ogj SETZ Et OLHS Ss puetimosSay 11 loOS lt 1001 7 ATEN SPURBUMODIV JUTUWMO
28. qeoorT OF SANTTeY 7497077 yAU Gsoureoop gjyoezrs ASOUTeEOOT SsweuyAsoyysh Ft 3S0Y 3T 8STP3 uan3ea 0 gt aagAu gr 1 ieTeueNasoHxeu ijsou eoo azeuo a30d qur 3sou y aeuo 3suo2 or32euuoo 3exoogqg ood en13 uan3ea JPaIq ursAu goezrs urgAu 3 y IPpexyoos 390nx3s q4A4u putq z3t T 210411878SH29P10219N013S0Y 110d UTS UTSAN ANY YACYNI TUOIUY Ippe s uppe urs urg Au LANI Au TTUEJ urs urgAu 8STP3 uingoaz appe urs urs u sou eoop ppva3soui 3T ursAu goezrs ursg Au 5s oaezq T 00089 gt 1104187S T 0 T JUT IOJ vooz 8 Aen uo paqutaia ddo 39490SGS 0 TT991 d0I4S9 UTD1PU SHBUTIJSS pue s4aueunooqg 9 SueusTTA 38 EE Err e woureu 3exoos bur33e5 Zoii w IJSIOIIHY WU 0 i 8zts 9 ursAu 3 x appexoos 3onaa3s qj4Au eueux20s395b 3T ursAu goezrs ezrs 8STP3 uazn3ea z aqs et EE EE EECHER EC udexoos pausdoun ue uo ueu q woos 74790 o4 DUT XI 13IS1011HAU 0 gt aaAu gr oZIS Y USTNADOS eUeNYOOS ISH yeyoosqs Tooq appe eoqu jeur jygnqpjAdoaa3s 3jnq x aeuo appe y Ippe ur I9N1IS VOLUT 1900SIS PTOA an13 uan3ea 8ST83 uznqa z 1 3d9228 10119d Wjexoos uo Adseooe oq perre4 1IS10113A4U 6urxoorguoNAU 93 ADOTECTINOME i CUTTS 39 0 gt GA U lt 4008 purxoorguoNAu 99 0 gt AJ V lt 1908 3T JodA Au sdAyAuK yoos uaT 9 4 UTSAWK lt YOOS 9 yx appexoos 3onaa3
29. virtual AREXPORT int detach void Detatch the thread so it cant be joined virtual AREXPORT void cancel void Cancel the thread virtual AREXPORT bool getRunning void const Get the running status of the thread virtual AREXPORT bool getRunningWithLock void Get the running status of the thread locking around the variable virtual AREXPORT bool getJoinable void const Get the joinable status of the thread virtual AREXPORT const ThreadType getThread void const Get the underlying thread type virtual AREXPORT ArFunctor getFunc void const Get the functor that the thread runs virtual AREXPORT void setRunning bool running Set the running value on the thread AREXPORT int lock void Lock the thread instance AREXPORT int tryLock void Try to lock the thread instance without blocking AREXPORT int unlock void Unlock the thread instance bool getBlockAllSignals void Do we block all process signals at startup Static Public Member Functions AREXPORT ArThread self void Returns the instance of your own thread AREXPORT void stopAll Stop all threads AREXPORT void cancelAll void Cancel all threads AREXPORT void joinAIl void Join on all threads 44 AREXPORT void yieldProcessor void Yield the processor to another thread Protected Types typedef vector SbMsgListener iterator vectlter iterator through the ptr vetor Protected Member Functions void register
30. 4 4 4 4 Audio Mixer and Microphones Controlled audio recordings are essential for success of the broadcast and films produced in StudioBlue Due to poor room acoustics acoustic interference from adjacent street and weak robot speaker systems the following high end audio system was put together e Two Audio Technica AT 853a Unipoint Microphones e Two 10 1 4 jack to RCA cables e Samson Mixpad 12 inputs The ambidirectional microphones were sufficient for actors however the robot speech came in muffled so a Shure Wireless Microphone system used in Camouflage Town was used as a remedy The wireless transmitter accepts A XLR accessory plugs in this case a conference microphone SAMSON IIS EE E x o el BES Let EAE AAA Ki Bae ode Wade Wed eee v re re re re rere Figure 4 32 Audio Mixer Shure Wireless Receiver and Transmitter Unacceptable noise from the street was diminished by boarding up two out of three windows with 4 plywood which was done by the maintenance department The window directly opposite the control stations was left untouched due to the placement of Air Conditioning unit and to allow some natural sun light During performances the window was covered with fabric for replicable lighting consistency 42 4 4 5 Supplementary Video Equipment High resolution video monitors are used for live preview from video audio feeds JVC High Resolution 13 color monitors TM H1375SU can accept and swit
31. A short manual was created describing procedure for using the TBC 6000 appendix Figure 4 23 TBC 6000 Chromakeyer The dual channel TBC 6000 model provides a Chromakey effect for two camera sources and allows to cleanly switch between sources with no distortion or noise 34 4 4 2 Cameras There are two types of camera s used at the lab three small close circuit TV type CCTV color 1 3 CCD cameras as well as two professional hand held digital video cameras 4 4 2 1 Sony SSCDCI4 The close circuit cameras are predominantly used for web casting applications and video capture for image processing i e localization Three High Resolution Sony SSCDC14 color cameras were purchased for SSCDC14 s small size and ability to produce high quality images in adverse conditions i e low light Adjustable zoom lenses were selected to allow for more flexibility in placement and added another visual production tool The 2 8 12mm Vari Focal lenses are manufactured by Tameron and have a viewing angle from 89 Degrees 2 8 mm to 24 Degrees 12mm with F Stop of 1 4 and have a DC Auto Iris They are CS mount type and operate on 24 Volts Digital a no COLOR VIDEO e Figure 4 24 Sony CCTV Camera While the above cameras are very small and are easily mounted on the truss system hand held cameras give the lab another dimension and can be used both for live performances and filming and are another high quality video and audio s
32. MER NS NS LEE 35 4421 Sony 595 DC II e e otros aetate A e ie lasa sh 35 w2 ADVA E 36 dis Cannot 36 Jj Dill ae er A HE ME aM ME RP tI MUR t 37 44 4 Audio Mixer and Microphones uec eo n e b sa s 42 AAS Supplementary Video Equipment sete ee ere m et e nee te as 43 Sekt COMDT uu l a ori et Obs a adha ai dua s dos 44 E NACO E 45 AG Video ER E EE 45 AAO 3 RobouControls Web SOEVEE s s eno ent o e p o n E 45 4 4 6 4 AmigoBot Control Linux Interface 45 456 5 Video E E EE 45 A A tad ha eee ae i Danh bua 2 46 4 5 A V Connections JW EE CT 46 4 6 General BE 47 2 6 1 WVideo PrOQUCLIOTI S2 yu u noo t E e ttem omen e tu uie ru EE 47 7 02 ee EE ee 47 5 ROBOT CONTROL AND COMMUNICATION INTERFACE 48 5 1 Existing EE 50 5 1 1 A Web Enabled Communication Platform for the ActivMedia PeopleBot 50 3 52 The Player Eege idonei A ditta de Cape hus ERU tune ane 5 2412 1 EE 51 II A 52 Sp ASS ion VO Datos 53 5 2 ARIA and lU e E 54 5 3 Speech Synthesis SOT Wa Ernie 55 5 4 Robot e EE 56 SAT Molo a MR Ue M UM EE 56 SE A EE SEI 34 3 APPEAR 57 IA SIN AAA LM 57 UP MEE Uu I T NEST 58 Sob NRI SCHON Sou oet Auc te as n ME MER LL MU M ML CM 58 Dd EE 58 5 5 Operating O O huuu sasa 58 5 6 AA O 60 5 7 Development ENvirOnmMents s csiisieseiidsscesccdesevsacdscusscdesscscecsdeboiedsascncedsseubscdsascsiesctelbivddaacssevivs 60 5 8 COdEe DOCUMENEAGON m O eaae aaa aaa 61 5 9 C OT E uuu
33. PATH ARIA bin SAPHIRA bin As root add the same lines to etc profile Robot directories ARIA usr local Aria SAPHIRA usr local Saphira BOTSPEAK usr local botspeak LD LIBRARY PATH S LD LIBRARY PATH SAPHIRA lib SARIA lib iii ILU BINDING DIRECTORY SBOTSPEAK binding export BOTSPEAK LD_LIBRARY_PATH ILU BINDING DIRECTORY export ARIA SAPHIRA BOTSPEAK PATH PATH ARIA bin SAPHIRA bin Install ViaVoice for Linux from the Original CD and Restart the system After Saphira Botspeak ViaVoice and especially ARIA are installed RCCI installation can proceed From the included CD copy rccil O directory includes source compiled code and documentation via FTP to your user directory Execution ExecutionThe code should already be complied into an executable file called rcci Startup script should start the required services and rcci with the desired port 1 e 5555 start 5555 Note Occasionally ftp will change file permissions on transfers To make sure that the files can execute change their permission via chmod 744 Compilation CompilationIf recompilation is required in rccil O directory file permissions permitting type make This makefile script will compile and link all the code and libraries Note Aria should be compiled with the same compiler as RCCI If there is a linking error it is most likely due to incompatible compiler versions Download and install gcc version 2 95 3 from http gcc gnu org Ad
34. The process involves working on a small part of the script at a time which gives a great deal of control to the director and the actors Chromakey and special effects are much easier to achieve in post production editing and can be redone if not satisfactory 4 6 2 Live Performance Theatrical or live performance is uninterrupted except few planned intermissions and done sequentially as one event much like classical theater The performers go through the script without repetition while audience watches in person or over the web in real time This leaves no room for errors and requires great preparation and discipline Since this method is a real time production it demands on the fly alteration of backdrops mobile audio microphones and special effects Furthermore it is much more difficult to produce due to robots inability to repeat its motion exactly and putting more pressure on the actors to adapt to the situation The performance can be archived and then altered as a video production 47 5 Robot Control and Communication Interface StudioBlue has highly functioning robots capable of moving forward rotating avoiding obstacles manipulating objects with a gripper and even speaking These functions are typically utilized by hard coding them in control software in C programming language 36 using complicated robot s application programming interface API and invoking them via key strokes or automatically upon preprogrammed event
35. Woody one of the last few classically trained Shakespearean robot actors of the highest caliber as he would say is not interested in the quantum advancements in artificial intelligence or self organizing systems of artificial life he just wants to perform contemporary plays Plays that speak to him and his vanishing generation Plays about their common Robot Condition He has no idea his ambitions are about to trigger the emergence of the first native life form in cyberspace Initiating not only an era of the post robotic but a post human world as well Script and Production Design Huy Truong Cinematography Huy Truong Scripting Software James Cruickshanks 108 8 5 Request for Service Wall Electrical REQUEST FOR SERVICES The Cooper Union for the Advancement of Science School of Engineering Department of Mechanical Engineering Telerobotics Theatre Room 232 31 January 2002 Department Chair Prof Jean LeMee Advisor Prof Stan Wei Directors James Cruickshanks ME Masters Marcin Balicki ME Masters 109 Introduction The telerobotics theatre is still in its infancy We have just finished the acquisition of the larger part of the hardware needed to perform the myriad of tasks necessary to meet the needs of such a theatre However in order get to the point of full operation there are still several technical issues that must be resolved These include primarily the electrical system currently present in the theatre along
36. const Gets the long description of the action virtual AREXPORT void log bool verbose true const ArLog log s the actions stats Protected Types enum State STATE NO GOAL STATE ACHIEVED GOAL STATE GOING TO GOAL enumerates the current state of this action Protected Member Functions AREXPORT void setNextArgument ArArg const amp arg Sets the argument type for the next argument only use in constructor Protected Attributes ArPose myGoal current goal 13 The documentation for this class was generated from the following files double myCloseDist allow distance within the goal as success double mySpeed desired speed double myTurnAmount increment amount to turn to achieve heading double myOldDist previous goal distance ArActionDesired myDesired internal action ArPose myOldGoal old position State myState current state of the goto function ArRobot myRobot bool myIsActive int myNumArgs std map lt int ArArg gt myArgumentMap std string myName std string myDescription e SbActionGoto h e SbActionGoto cpp 14 SbActionML Class Reference SbActionML include lt SbActionML h gt Inheritance diagram for SbActionML Detailed Description Manages Aria and custom Sb actions that combine and control robot behavior SbActionML listens for queries to control actions and manages their initialization The more important actions are the SbActionMove and SbActionRotate which allow the user to
37. etc e bool connect conType t const string amp const int amp connects to the robot or a simulator e bool disconnect void disconnects from the robot or a simulator 60 bool isConnected void checks if the robot is connected virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions bool connectSim const string amp host const int amp port Connects to the simulator bool connectRobot void connects to robot connected to serial port virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes bool disconnected disconnects from robot string type type of message ArRobot robot internal robot pointer ArSonarDevice sonar sonar for the robot ArSerialConnection serialCon serial connection class ArTcpConnection tcpCon tcp connection class used for connecting to simulator vector string msgTypeVector vector containing all the message types that this listener is interested in registering with the han
38. gt gt Apesy xeeds3og gt gt TPus gt gt Mod z nzq ATUT 0001 d Ts TT3niV orw Tqeussq PTOA 3r1negop Aq pe318e3s pue po qeue ST 31 uora3rubooe4g SI1893Ss pue euoudo4doru ou seTqeuyg OtWe qestqsq Uuorg3qrubooe4 sdo3s pue suoydorotu ey seTqestd TIQNbPooa3saepunsrW39ssq JA TUISq yeods30q eSezr P9IJ3UI 31UTj 3T uMWadSu edAL eb bsw zt Z Zo T bea U3r4 PBUTISISTLSI TOF 103091 eseq uM V3dS edAL5SWppe ZTeTpuey Osu Jeuej3srTqbsu ey o3 sedA3 ebessou sppe fosTez bsw eTdMou esT eg Oswyeodsmou esTeg TUT enzq nzq qe d1o peo1y9 y 3483S OL IWSpunosqs iL IWNspunosqds 4u l INSpunosqdS SPATSUTE vooz 8 Aen uo peaqurad ddo rINSpunosqs 0 rr902 doqxseq uroaeu sbur33es pue sau umooq 2 eueue ra TTAN uzna z ADO TUN 9STeJ PSNART mou Q0aas o 0 13ssvbiy39b bsu x 1eyo Aetasa 113859 0 24985277760 bSu 9 ssarppe Syd ssed zent Y uso 193utTod 18eyo e OF bur4js oui 3se9 o3 pasu Tpue gt gt 0 J31Ssvbiy186 bsu gt gt y AVId LOS gt gt MOD 6swW eTdMou gTt esTe fosTez bswyeodsmou 2 013s oO QuUuassvbavaeb bsu x aeuo xeedssq x38 amp 2 0 23Sevo77 780 bsew 9 sboxppe 35793 Ss zent I uso JIogurod Teya e OF bUur4jS oui 3se82 oj Daat Tpus gt gt 0M9a3ssvbavaebo bsu gt gt a MWHdS gt gt MOD Psn 1esdsmau Ft bsu mou Y ST 91942 JI J29u9 aso Que
39. more powerful computers Lastly the software should be structured in layers with modules allowing for possibility of implementing other robot software by replacing a layer or implementing functions as modules rather than redesigning the whole application 14 4 StudioBlue Tele robotic Theater StudioBlue is a brainchild of Adrianne Wortzel and was made possible by an NSF grant and the support of The Cooper Union and its faculty 2 Even though the Cooper Union is comprised of Art Architecture and Engineering schools the space that is common to all three is very limited and the academic and social interaction between the students of these schools is minimal As mentioned in the introduction the robotic theater attempts to improve this situation Once available space was found with the support of Cooper Union s Building and Grounds Department the new interdisciplinary laboratory was created b Figure 4 1 StudioBlue Preparation for the First Shoot The Mechanical Engineering Department at the Cooper Union is in charge of developing this theater that includes multiple autonomous and semi autonomous robots that serve as actors in a virtual reality theatrical space The goal of the project is to create a playground for students of all disciplines creating an interdisciplinary research environment based on robotics Marcin Balicki and James 15 Cruickshanks planned out the appropriate equipment from robots stage lightin
40. q urozeu sbura3a s pue squeuno2og 2 SueusTIA Zo ebeg Tpue gt gt U07I9TPUTSISTPUPHPSNAS a gt gt JadA1185 bsu gt gt ai GOAL s1iaus3stT Aue oAeu qou soop obessoW ONINAVM gt gt NOD ul ttut QQedArjeb Osu 42 lt HdAL HOVSSSW NMOXNAO DSW AGNES OSNSI1TI G INES SISTxqedALbHsul ZT qo zzoour sem Hsu sry 38u3 mouy 3 useoop Zosen au srauz ujo 3nq buruueadboaud poob Alan jou ST SIU3 TTS OF bsu oui pues pue oajPo4JO OS JI 19U9ISTT ANAS p SI 919439 JI ees 3snf punozZ 3ou ST AT JI srT OITJ Soo4J0g pue edA3 5414 se 3 eu Uu3rA ebessou e Soj0910 qiogurod O3 TO2PTS9T sus DUIOUSZIOIOZOD ST Las ZZ bsu earg IA x TA pue lt d i A urb q lt d A 19713094 103 eTqerzea duoej 1 jadALAeb bsujdeWaTpuHhbsW da3d399Ad29Uu94SsITT GQeadA119b bsu sI1STXHSdAJLOSU 3jT bsu Mou p sojeo4oO pue s1eo o 138 91I8919 bsu 3rnegep ey ST z jlrurr b 9T SXII UST Duras qa wo sbesson Y SjOoro 138 s buraas a3suoo bsyeargj uoj3goe bursaqe pueub5swdS PTOA Tpue gt gt U07I9TPUTSISTPUPHLSNAS ua gt gt JadA119b su gt gt ai GOAL s1aus3stT Aue saey 30U soop obessoW ONINAVM gt gt NOD f a a 0edArz39b sSu 4 lt HdAL HOVSSHN NMOMNA SSNWIGNSS 5SW9413 a UNES S 3S TXSed ATbsu gr 3091100UT sem bsu siu 38y2 MOUX 3 Uuse8op Iesn au esr4dequ3jo 3nq buruueadboaud poob Alen jou ST SIU3 vooz
41. the robot will rotate counterclockwise until it has rotated 300 degrees STOP Disables the above actions 5 12 1 5 SbCameraSONYML SbCameraVCC4ML All the camera control commands begin with CAM and follow up with a subcommand as the first argument CAM nit Powers up and connects to the camera only SbCameraVCC4ML CAM zoom double Zooms in and out from 0 100 0 1s no zoom 100 is the camera s maximum zoom CAM zoomrel double Zooms relative to the current zoom level 100 CAM pan double Pans the camera left and right 100 positive 100 is maximum clockwise pan position Negative 100 is maximum counterclockwise pan position CAM panrel double Pans relative to current pan position 100 CAM tilt double 79 Tilts the camera 100 positive 100 is maximum position up while negative 100 is maximum position down CAM tiltrel double Tilts camera relative to the current camera tilt position 100 CAM stop Stops all camera motions only SbCameraVCC4ML CAM panslew double Sets the speed of panning only SbCameraVCC4ML CAM tiltslew double Sets the speed of tilting only SbCameraVCC4ML CAM backlightlint Sets automatic backlighting on off only SbCameraSONYML 5 12 1 6 SbExampleML EXAMPLE Example command that returns MSG IEXAMPLE X Y TH VOLTAGE 5 12 1 7 SbExampleMLT EXAMPLETHREADI An example of how a threaded message listen
42. umooq O2 PSUPRUSTTA O0noqouaoQ4x29u2j FT Uou3 o3eAI3oeop pue oj8BArjoe uso T SUOI3OP e qrssod ya TTe burppe 19738 poejosnuuoOD ST JI JT XOGuo qT u01 e3ep 396 ueo em es 3001 au xoo sw s SBESSINAS ISUOD S9I1TI TINUOTIDVAS PTOA 1 y poTun 30qo4 1 30301 do3sdnorguoT390Y1Y eu d03Sb 1 30301 TepueMANOTHUOTIOYIY Mat ISPUEMO Ja1eATI9 9p 197 TUTTSTARA 06 qzrurT Tqea s uoraovppe 34oqoa JeqeaATt Aoesp szedung 08 saedunq 3 JUuOoTIDYVPPpe lt 10q01 SoJRATIOPDpP TSAODSTZ 2 00T 49Ao2e42 5 uor3oyvppe 3oqo4 S kee EE uaar 6p uaznj39 uor3joOvppe 3oqo4 JoOqe AT 39099 p OoIrob 2 06 o34e3o42 S uorqovppe lt 1aoqoa 2 00T do3s uor32vppe 30qo4 1 J 1PATIDPDP SAOW Z re eAou FJUOTIODVPPe lt 10G01 06 OLOB s uoraqovppe 3oqo4 I WHIHVNH Sspueuuloj 4yv 3uguoo 30qo4 I OLMS Spueuuloj4y 3uTuOo2 30qo4 Depeeu JT s4euos ey3 uo urna pue sdojgoue qeue oj ioSquiume4 wey sa73eAT30e zesn Ir3un au eog38Arj3oe8ep pue suorjoe pearsop TTe ppe 3s81rIg burob suoryjoe Ajrrorazrd Tayor GIN Agraorad Oui sr ez zebs9ur sy zopago pooh ur BUOTJOP ano ppe ZZ rTpuo iSNOIIOV LINT4 gt gt 3N09 9TUT id JOQ I 10901 i 1 3T este OZITIJIUI UOu3 pue ogurod 30q07 egyj ejepda Sr 3T 3E 30q01 943 jo UOTITUTJOSP 2827 oui uey qu z jJjJTp SI 3I JI 49949 SISTXYO qr JI 3ST83 uan3ax TTAN 1 LOO
43. 0000000T 3STAPTO AU QburpeeHejiTeqass pearsoegqAu Teob esogav ob 0305uor4ovqs PTOA Q T9A39S pearsoqAu VO QHAHIHOV SIVIS e3e3sAu UMpeAeruoe s gaurad fTeojAw TeospToAu Teob eo5Au G gt OI9A3eb 34oqouAu sqeg uaeWagv 99 GZ O x ISTqdesoTOAw gt ISTP 3T5 Sg OL S9NIO9 ALVLS 9jej3sAu eTbue burpeeHaes pearsoeqAu osTe e0b esogdqav T 9e053es 0305uoT39VqS PTOA Uuinj JOU op 3ousda8AOo M jr u4nj OF ur3 SIH a3nq urebe AT 0p VOD ON ALVIS eqeqsAw p rxrs Gq u 5 uan3eza prOA OST9OU O DIOHUOTAOVAS PTOA 3T J9891 0000000T ISTAPTOAW QburpeeHejTeqass pearsogqAu Q T9A39S pearsogAu 3ST83 uanjea VOY GQHAHIHOV HIVIS 97e4SAu ST 1 UATROb peAeruo ov 3gaurad ona uanjea VOS GHASIHOV ALVLS e3e3sgAu gr 0 gt 3srp ISTAPTOAU gr do3s prnoys m esT o PTOA T PLODPSADdTUIVIARUY naoo ouorqaovqs TOOq Teob ey spzemoq burAou SIO oA Ueya SATITSOd ST S8oOU89419JJID ey JI 300g85 1340 OM OSPO UT SI SIUZ d eTbue d 30 eoo2olerbuvy gjaurad Jo309UuOT39VQS paoouorqovqs reogAu ore ibuyvpur j jasogqeb lt joqoyAu 7bue qurod oj 3Uuem m aIoym ess IST 30 3SsIq 3aurad 0000000T asraperoAu 1 leogAu pIlieoue4j4srqpurj jesogqeb lt joqoyAw ISTP 20002 peedsAu QsraproAu i J0 SIUPISTAPTOR I2UTAA L JUNOUYUIN AU TTAN uzna z 0 0 0 O o 0 esodav Teo23es VOD ON ALVIS qe3S Uu IVOO GHAHIHOV
44. 1 CONNECT Connects to the Simulator on the pc where the RCCI is running default port CONNECTI sim Connects to the Simulator on the pc where the RCCI is running default port CONNECT sim address port Connects to the Simulator at the given address and port CONNECTIrobot Connects to the robot on default serial port DISCONNECT Disconnects from the robot or simulator SETPOS double double double Sets the apparent position of the robot in the world SETPOS X Y HEADING MOTORS int Turns the robot motors on and off O off 1 on SONARIint Turns the sonar off and on 0 off 1 on ROBOTPARAMS ROBOTPARAMS velmax rotvelmax accel decel rotaccel absmaxvel velmax maximum translational velocity rotvelmax maximum rotational velocity accel maximum translational acceleration decal maximum translation deceleration rotaccel maximum rotational acceleration absmaxvel absolute maximum velocity ROBOTNAME Returns robot name ROBOTNAME name ROBOTTYPE Returns robot type ROBOTTYPE typel Turns and goes to the goal without avoidance Accepts X Y coordinates positive X direction 1s straight ahead while positive Y is 90 degrees to the left GOTO double double Same as GOTO but with obstacle avoidance using sonar data and gradient path IGOTO double double planning from Saphira STOP Stops the Saphira gradient path planning GOTOSETDONE double Tolerance on reaching the goal mm GOTOSETCLOSE doubl
45. 1 The incandescent lights 2 are controlled by a switch located at the entrance to the room Control of these lights must also be rerouted to the location noted in Figure 1 In addition boxes containing 4 outlets each will be used to power the 12 lights and several CCTV cameras They currently do not exist and need to be installed Control of these outlets must be routed to the location shown in Figure 1 by the other two switches where a security switch will be placed Mounting Hooks 110 In addition to removing the lighting fixtures hooks must be anchored in the ceiling to support the theatrical lighting There will be X s marked at about 20 locations on the ceiling were supports are needed to hang the trusses See Figure 1 Painting Paper The floor is currently covered with blue screen flooring The flooring which is not always in use quickly gets dirty and is in danger of being damaged do to relatively heavy foot traffic Something 1s needed perhaps painting paper to cover the blue screened floor for protection Dividing Wall A dividing wall is necessary to separate the two labs that Room 232 has been broken up into the telerobotics theatre and the acoustics lab The proposed location is at the point on the west wall where it protrudes approximately 15 This can be seen in Figure 1 Air Conditioner The summer will be coming soon and it will be necessary to keep all of the equipment cool The lighting and co
46. 2 paz 0 ese1ar123sdue7 Qaias 3 oz Zorte PUTTIIASSITAM lt 39313 31 GGZ lt ezrs 23sdue3 eTTUM 74S 139dus7 butaqs sogAq ur Upolu 3 U590p OZzIS Duri3s BISJODIPHO zr wey EST ATIBOTISPDQ EqIPd Ur 31r pues ebxeT SI oDPSSOU 94 II OS JIUIT Y SI S89j3 q EIG dn uey3 yeerq 10 bUIAJ3S au JO 9ZIS oui YIWIT OF Daat Aeu 6p0c gnq aeuo 4T pue suuooAu i LI urb q suuoo u 3T 1078197 SUUOJZ NU TOF 3ST83 uan3ax TPUS gt gt u INTISDAIODSGS 6uTuunz JOU lontos IO poj3oeuuoo qu rToO ou ebessoeu pues j Uu82 5 3noo Tpua gt gt IJS gt gt Pbsu stya pues JOU TIM gt gt y PDUTUUNI JOU ISAISS 10 po3oouuoo AUSTTO ON INISAISSAIS a gt gt NOD ezrs suuopAu peuedosri 3T xew s q q gig sebessow u3r1A gjgn3s Auunz vooz 8 Aen uo peaqurad ddo TWaeAaesqs 0 rr902a2 doqxseqg uroaeu sbur33es pue squeuno2og 2 eueue r 2 BAUSTTOIOSUUOCDSTp l HAA OSW ebessewqs ejyeqpuss TPUS gt x INISAI9SAS 309euuoosrq AsenbszrA JUSTIOn gt gt NOD a TTVLINOw ed 3 gT este J9AJ9S EY WOTF SJUSTTO ey TTE 39euuooSIDp TTI TIVLIINO u eqeqpues i pue a23SSV39b Uu 3n02 1 junSsvbav3oeb bsu queunbavppe u T sbavgjounN3eb b6su gt T fT T qur peubtsun z0z 0 uaSsvbava3oeb bsu u obessopqs obessou JO d 3q e 937329129 uo os pue edA3 sepn our uoruA ebessou ey FO 3891 9Uu3 spues pue NHS S9AOUOSI
47. 32 Gerkey B P Vaughan R T Howard A Player User Manual Version 1 4rc2 December 6 2003 lt http playerstage sourceforge net doc Player manual 1 4 pdf gt April 2 2004 Saphira Operations and Programming Manual Version 6 2 ActivMedia Robotics August 1999 ARIA Reference Manual Activmedia Robotics lt http robots activmedia com ARIA Aria Reference pdf gt February 5 2004 Java Technology Sun Microsystems Inc lt http java sun com gt April 6 2004 Saphira Web Site Activmedia Robotics lt http www ai sri com konolige Saphira index html gt January 6 2001 Saphira 8 Manual Activmedia Robotics http robots activmedia com Saphira Saphira Reference pdf gt February 5 2004 Kessler Gary An Overview of TCP IP Protocols and the Internet lt http www garykessler net library tcpip html gt September 15 2003 Ullanta Performance Robotic lt http www Ullanta com Ullanta gt January 4 2003 Garvey Frank OmniCircus Junkyard Cabaret and Robot Ensemble lt http www OmniCircus com gt April 1 2004 Garvey Frank The Center for Robotic and Synthetic Performance The Robotics Institute Carnegie Mellon University March 31 2004 lt http www ri cmu edu centers crp gt April 2004 Synthetic Characters Group MIT lt http characters media mit edu gt April 1 2004 The Virtual Theater project May 2001 lt
48. 3eg t out 3ur iebur T3es Tooq enTen ISPutT ey 298 T JUTH9P101S50H0119U qur peubtsun otTWe 4s Tepio 83 q 3sou o3 ISPIO 934q YIOMIEN T JUTASPIOISNOLISOY qur peubtsun or3ea3s Xopro eoqgAg zeng 07 ropro S 3808 7 7 NWISWVNISOHXVW uzn3 z Uue9e I9UeNASOHX U q 9ZIS qsuoo OT AeQS y3busT eueu 3sou Xew amp Ur AppeyYoos 3o2nz43s goezrs uan4jea2 JUSTAIPPYYAOOS q 9ZTS ISUOD DTIBIS APDENIOS SUI TIO SETS Pf 3j3nq y aeuo appe y zppe ur 39N19S YOLUT PFOA orqeqs ssoappe eoradounu Putz OUT Ippe 3439AuO azod urs ursAu uan43eza PTOA 110JUT qur qazous peubrsun Ippexyoos Sus JO 110 392 10 EECH appe uts utsAw 3 uznqez uppvur x Ippe ur 30N19S zippe UE 943 coy JIOSSBOOY ursAu S uan3ea JUTIPPYADOS y UT AppeYoos qonzqs y JO bea vooz 8 Aew uo peaurad u 3exoosds epniour Q rr29202a2 doaxseq uroaeu sbur33es pue sau umo oq O2 SUPRUSTTA y 3exooSqs JTpue di boeouogeAegbura4sgAu Tooq oyos ngsseoons TOF berg jorduoj3o5burag4sAu TOO ejep ojgeduoo 103 DEITIT g1eygosdeosy4209but13s4u TOO Io3ogpIPHO odposo OF DOT 4seysogbutaqjsAw q ezrs 1933nq burpee4a ur U0TITSOA 38067 au sdeex ZZ TKaduygngbutzqysAu zeyd 1933nq buraz3s A3dus amp SogburaasgAu q ezrs IOJJIUq SU 1073 sojAq Durpeor ur rugdTpeu azISs34308Bngburaza3sgAu zeuo e3ep joxyoos sezlo3s 7847 419gjjnq 9439 SI STY OCIG uZISdd4ng qur OTQZe
49. 41XIuoo3oqoa pT9t43Xeln Meu paxIzuuoo PTSTIIXSLL Teuegr Meu 9 oued o Toeuege JPTST4IX91 Meu Z3XIZUUOO PTST4IIX9L uoaangn Meu guoz33nguos uo3angrnp DT9T43X9IP Meu PIXLEWWOS p 9eTr43Xeln JPT9T4IX9L Meu 3axIeguuoo PTSTIIXDLL JPOT9ST4IX91 Meu ZIXLEWWOO PTSTIAIXDLL Teuegr Meu G oued o Touear S gu EES TE LEE qxrLuooaoqoa 0 uorsueurgq M9SUPZTSP9119 914198S 34xjuoo2a30oqo4 OTSTAXOLC Meu jquozangr Meu jquozangr Meu caxlIcuuoo PTSTAFXOLO puoaanguoo uo3angp Tuoaanguoo uo3angp uLOHNNOO 4 3X9IL39suo33ng3oeuuo p3oqoa 86GGG84 3X9139 XII10gGA198 0L uorsueurq MSUPZTSP9119 J914198 IX 11104M198 npe aedooo ou zoqoza 3Xel39s AXLppyAAes h189I98U0TI09T199198 1XIPpvA198S 2 02 ogr uorsueurg MSUPZTSP9I119 914198S IXIPPVAI9S 7 fITATAS LIDENNODS1 1 3X91398U09IN8I99UUO0DSTAAMISS 4HLNHO SIUC ISUODHUTMSUSUUDT TYTeqUOZ TIO ASSUO RANG AOSUUODSTQGAISS v JO T ebeg uuaXerdrri ooraesuoaqanga3oouuoosTiQqA4goSs ano e TMOTA4T O Tr 349A 3no e T3osS sTUA uor deox 3 smozyq JI1TUTAL PTOA eqeatad poeapxoej3saurad e euora deoxy uo3eo JaturTal p A13 Xeueqroagaquooesnoy orrand uoa3angp Meu o3e3guoa3ang Uo I NEL eez1vax rn Meu xogbsu eoava4xelnD Teuegr Meu c ouedt ouegdp TeqeTr meu TTeqeTl Tagen Juo34ng Meu uo33ngdo3s uo31ngr uO43ngfP Meu uoj34ng3oeuuoosrQqaoqoa uo3angp e0T8T41X91 Meu PAIXLpwuoo
50. 6sWdunq ebessepyds 3TA qur A qut T qur peubrsun vooz 8 Aen uo peaqurad ddo TW3oqouds 0 rr99a2 doaxseg uroaeu sbur433eg pue squeunooqg 2 eueueT r4 UWNVNIOSOH ed 3 gr esTe oueN 30q0y suadnjeM MWVNIOSOM uzn3eza uxoqipueuoribspypues 1 KarooteAxeyeantiosqvaeb suezed bura3igoAuoo u jueumDbavppe u Too5ov3ouaeb sueaed bura4SgorpAuoo unbiwvppe 1 ILeoeqsueap3eb sueaged bura4SgopAuoo unbiwvppe 1 unbiwvppe 1 O WT9A3OHA439b sueaged oura43SolAuoo D D Ioeoovsueala3ebo sueaged oura3SoIAuoo u 4 un D XKewrt9eAsueaIa3eb sueaed bura434SoIAuoo SNVEVALOGONY u Lu 9SN i JUSUNDIVPPe i INES a U ebesseWds que que JUSUNLDIVPPEe 1 queunbayppe 1 quoe unbiwvppe i t xooTurn e jioqoa J eueazeqaqoqow3eb 340qo4 swezed sweted suegeqaqoqouHayv 3suoo sen eA uru pue xeu poob oAeu JOU seop 30q01 ey 3euj 3no sulna GSWVuVdlOdOH SdA12 3T ST l IHAXeWSqe rq400ovaoa rd40oHdsueag3 14OOVSUPA423 XPeU 4A304 XeU THASUEAX3 s rqnop sen Tpus gt gt 1iasSsv3eb bsu gt gt PSU YITM IW3OqOWqS PUTATA gt gt MOD TTOM 007 YIOM OJ uees 3 Uuseoop YOTYM sdogeue4ded 3001 SWVMVd lOSOM 1 g ooTun 30qoa4 Z I QIVNOS sSpueuuojaiy a34uuoo 34oqoa umn zor D eseo uu otpueguoribspypues Jager edA 3 4ueunbayppe w 0 QiVNOS spueuuoj4dv q3uruoo 4oqo4a HdALLOgOW 3ueunb
51. 7 Lighting Tips For Chromakey Video or Photography Dan Porvin Cooper Union School of Art Video Deptartment First you will want to have plenty of space to work with and quite a few lights Here are the 2 most common problems when using a chromakey backdrop e Uneven backdrop lighting e Reflected spill onto the foreground subject Here is how I recommend you set up your lighting Step 1 Light The Chromakey Backdrop When lighting a chromakey backdrop you want the lighting on the backdrop to be as evenly as possible with no shadows Your backdrop lights should be behind or even with the foreground subject Step 2 Light The Foreground Subject You will want to light the subject with its own set of lights You want as much separation between the foreground subject and the chromakey backdrop as possible The more separation you have between the foreground subject and the chromakey backdrop the better This reduces the chance of the foreground shadows hitting the chromakey backdrop It will help minimizes the blue or green fringe from light that is reflected off the chromakey backdrop called reflective spill Step 5 Neutralize Any Color Cast To neutralize any color cast from light reflected off the backing I use a soft back light from each side to light up each side of the foreground subject helping to neutralizing the reflected spill from the chromakey backdrop On non Ultimatte Keyers a standard technique to combat spill is
52. 8 Aen uo peaqurad ddo uo3eibursaeipuenbswas 0 rIr9202 doaxseqg uroaeu sbur33es pue sau umo ooq O2 eueue r jtpueg 1983711094 JXOjPIJIOJ3I IOgooAOdArIbDsU lt DUIIYS gt 103 99A oqS A d rIbsu lt Hutzqs gt 10799 Ilo pueu 544 JITA burdeg3srbe4 ur pog3sorojQUT ST IOUSJSTTI Sry 2879 Sec obpsssou 143 Tre DururPjuoo 102094 J 2 wxoeqg ysndaio30a8nadA bsu u Hbutazqs ysuod edALHOspppe PTOA Tenqata udNdS T ed 3 ebessou e se burijs uy werzed burbessou 103 sod 3 ey 19381691 pue asou butureguos 103091 949 peeT IA TeTpueybsu Oj3 u 3srr PTNCYS z u j3srTr Sri jPu3 edA3 ebbPssou et sppe pe32e43oad 1 138 DUTIAS asuooge pueHoIlbspypues PTOA TENJITA I JO T ebeg d Jorgpueu oui oq 3ues eq prnoys 23843 buriagj3g 135839 uezeda Ie pueu ebessou aya o3 xyoeq sobessou burpues TOF xoeq TTE 1 bsu obessopyqs ISUODASTPUPHOLPSKPUSS PTOA TENJITA TeTpuey ey o3 3ues eq p7noys 3843 ebessowqs bsuy weredp Ilo pueu ebessou ou o3 yoeq sebessou burpues TOF yoeq Teo o bsu s obessoywdS 3suoo o421j PTOA TENJITA SITJ O3 198U9ISTT SNH SIU3 pesneo yorym ebessowqs ey bsuy ueziedp pa3T19yUT ueu4 uorjeQ3ueue dur burpeeu 30e13sqe sand st 3I pe4ebbI43 ST 198USISTT sty TeaAsueym ZeTpuey ey Aq pe 82 eq TIAM SIUL uorjoung 1SUSISIT ep SILA 3081988 sseTo STY Sexyeu uorjoung TENITA a1na amp 50309Aed rpjb5su uangaz proA sed
53. ALREADY DETATCHED Public Member Functions e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function 79 virtual void run Thread void arg implements the ArSyncTask main thread function vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler virtual AREXPORT void run void Run in this thread virtual AREXPORT void runAsync void Run in its own thread virtual AREXPORT void stopRunning void Stop the thread virtual AREXPORT int create bool joinable true bool lowerPriority true Create the task and start it going virtual AREXPORT void runInThisThread void arg 0 Run the code of the task syncronously virtual AREXPORT int join void ret NULL Join on the thread virtual AREXPORT int detach void Detatch the thread so it cant be joined virtual AREXPORT void cancel void Cancel the thread virtual AREXPORT bool getRunning void const Get the running status of the thread virtual AREXPORT bool getRunningWithLock void Get the running status of the thread locking around the variable virtual AREXPORT bool getJoinable void const Get the
54. Botspeak libraries which were compiled with that version 46 The new Linux distributions come with GCC version 3 and above and therefore require installation of version 2 95 3 The process is clearly document on the web 46 Following common coding guidelines the C interface for implementers is located in h header file which is sometimes called the prototype definition While the module s class definitions or implementation of functions is placed in cpp files The header files contain sufficient comments presenting what the class does and how to utilize it 35 5 7 Development Environments A combination of text editors and integrated development environments IDE was used in the software development process VI Improved VIM was used to make small code alterations when a graphical interface was not possible i e in the case of Telnet sessions 47 Otherwise KDevelop or KEdit text editors tailored for C editing were used extensively to work on multiple files simultaneously All these are part of the KDE Desktop environment and come bundled in most Linux distributions 48 For commenting and cleaning up the code BorlandX for windows was used for its friendly interface and excellent code formatting capabilities as well as clear color coding and publishing 60 5 8 Code Documentation Extensive commenting 1s almost as essential as the quality of the code itself It improves understanding and maintenance
55. Dem bsuc stu3 Tpua XITNSPUNoOSaIs pueuuo2 a113 JOU TTIM gt gt Tous gt gt iaSsV3eb b6su gt gt bsu YITM SANNOS BUTATAN gt gt NOD u pea3oeuuoo JOU ST 10 ISTX2 US0p AOCqoYy gt gt NOD bsu 9 obessowds a3suoo e42lj i IWSpunoSqs PTOA I10JOY1IOIADS9UD FT Pa3ep TROOT BSOOOP oi AT UTYQIM xoorpun xyon ssn sm se DUOT BP JT 5SSOOOOB 3S2TF Dojgosuuoo oq oj eyy UEO ou OS peezu3 82O au q pe re2 eq 3ou TIAM SSETO SIU3 xooTqun Se qerabBA B8OO yootTun 3ST83 uanjea Z yooTun lt joqoz enz bspAetTqmou an13 uanjeza 1 yooTun lt joqor TPUS gt gt Apesy xeeds3og gt gt noo z nzq TUT 000T deers tranav TIQNbPooa3saepuns tW39Sssq pe3oeuuob5sr 310qoi gT 1 ADO T lt 1001 3ST83 uan3ax 31UISq TION LOHOH8S 3OQqOHDUIJj TI4V 20901 FF yeods30q ZTTETJUT Zz nz3 uznje4 uey3 p qo uuoo Sit pue soop 7T JI s3srx 3001 949 JI X99u2 QTUT FT PTOA J10OY104X99Y9 LI TNSPUNOSAS TOO p qo uuoo ST 3I JI pue s3srx 30q01 943 FO eouejsur ue JT syo uo uAVId edAI3eb 6su gr este pe4erd oq 03 eprj y FO eueu pue UOTjPOO Sy ST Duri3s ey2 os uop 3ou SPy QI JI SSZI U9IJIUI STTF AVM P AeTd o3 xeeds3oq esn TITIM PBUTIIS AVIA LINSPpuUnosaqs LTNSpunosas fenazq Pbsnxesdsmau GNDOSODSINWV ed AILbsWppe 9SOLANNOSODINV Jo dAILOSHPPe Z uAV Idu edATLb5SWppe TPUS
56. EH EH HE HE HE EE EE EE EE EE EEE EE EE EE EE EE EE EE E EE EH HE EE EE EE alls S BINDIECOL touch eld Test the o file o file cpp allows for specifiying the name and location HO aO 216 S OBJD marxncos OXSRCD ma cncpp S CPB CFLAGS ec 0 S OBJD magn o 9 SRCD main cpp 9 INCLUDE S OBJD SbMessage o S S SRCD SbMessage cpp S INCD SbMessage h S CPP S CFLAGS c o OBJD SbMessage o SRCD SbMessage cpp S INCLUDE O OBJD SbSetverML os S SRGOD SbServerMh cpp SCINGD SbServerMLh h S CPP S CFLAGS c o S OBJD SbServerML o SRCD SbServerML cpp S INCLUDE OBJD SbSocket o SRCD SbSocket cpp INCD SbSocket h S CBP STOERLAGS c o0 S OBJD SbSOGketeo SISRCD SDSOGKGLtJgCODp S INCLUDE S OBJD SbMsgListener o S SRCD SbMsgListener cpp S INCD SbMsgListener h S CPP S CFLAGS c o OBJD SbMsgListener o SRCD SbMsgListener cpp INCLUDE 124 OBJD SbMsgHandlerSingleton o SRCD SbMsgHandlerSingleton cpp INCD SbMsgHandlerSingleton h S CPP S CFLAGS c o S OBJD SbMsgHandlerSingleton o SRCD SbMsgHandlerSingleton cpp INCLUDE 9 S S OBJID SDRODOLMB Of S SROD SDRODOtMLb COop 1NCD SDRODOtMEB h S CPP S CFLAGS c o OBJD SbRobotML o SRCD SbRobotML cpp S INCLUDE S OBJD SbManagerT o S SRCD SbManagerT cpp S INCD SbManagerT h S CPP S CFLAGS c o OBJD SbManagerT o S SRCD SbManagerT cpp S INCLUDE S INCLUDE2 O OBJD SbSoundsMLT o 9 SRCD SbSoundsMLT cpp INCD SbS
57. HLVLS 9e3e3sgAu gr ISTASSOTO ISTASSOTI N LBUTY74Ue op 3 Uuop SM 91947 91 9M JT 1 uu Teoh of ubnoue eso o st Jey soueqsTqC leo5Au eoo53es 4srqesoyoAu S 4 4STP esoT o bavav G lt reoo5proAuprieoueasrqpurgj T 90o5Au FT husunbiv1X2N19S WOTIF 3sn sr Jes Teoh eu oui JI SAD9YD SIU3 Teoh u Arb y 07 209 eureu UOCTIOWIV TSA rqnop ASTASSOTO eqQqnop sureu y ABYD ISUOD JOJOJQUOTIDYAS paosSsuorqaovqos ISTP erqnop S bue eTqnop uu 3oqouav SPNTOUTE AU OFOOUOTAOYVS epn ouri P91TS9 JUSIANO perATSSequoTtAoVWAV eATJ paoSuorqovqs peaursequoraovav x erpeuarjoe Aq Daipaio ozoguor30Yqs worTZ paeydoppe sem SSPTO STYL x Z go T Bea vOOZ g Aew uo p qurzd ddo oaosuoraqaovqs 0 ITTooz doays q urozeu sburaa s pue sau umooq 2 eueue r c FO z ebea iosursoqAu s uan3eza 1STp 3STQPTO AU I9A T9A39S pearsogAu TSA UJO 4ITDOTSAR TaUTIA fooedsAul 9A DeedgAu lt T9A g3T Z x 002 x 48Tp Abs T A sT F ISA T 9A39S pearsogAu f T A UVJO Aq3TOOT ARB Jqurad OT x 98Tp qabs Toa vooz g Aen uo peaurad ddo oaosuoraqaovqs 0 ITooz doays q urozeu sburaa s pue squeuno2og 2 SueusTIA I JO T ebeg pe3oe43oad 1 su 9 shessewqs 3asuoo ITJ PTOA TENn21TA OJIIJ 09 198U9SISTT ey pesneo qoruA ebessowqs bsuy ueadedp uorjoung TeNJITA znd 4deuej3srTbsWqs oya sa3ueue dur PTOA JINUOTIODVAS 1039n139890
58. INES 4 Sd 3 gt ll zl3J3ertl9SW se 3no ques Bq TTIM l l clagerl2SWlaNds ST jno bsu Mou spues 3se4 y spuedde pue odA3 ebessau mou P Se qr Sjes pue juounbae 381T3 9492 942 ONSE ey sdrx3s uorjoung Sri b6urg34ue butTy4ue aNaS ZZ padA 12386 bsu od 43 bsu Jo ed 3 xo9uo bsu s obessoydsS qasuoo rrj W219A429SQdS PTOA ATnsoltl uanjea 3STe3 ATNSOA 16 gt UD 55 Q lt UD i FF ZTpu gt gt 49 PYUATeST gt gt y VHdI1V 5 3n09 4 4poraed EP UO FT r ai3sunu Y 1eyo 447 f ezrs rjgunu gt T f T qur poubtsun 103 y jo y ebeg vooz 8 Aen uo peaurad ddo TWaeAaesqs 0 rr902a2 doqxseqg uroaeu sbur33es pue squeuno2og 2 SueusTIA jexoos e Jo dTYSI UMO IS SUPIL UTSAU lt S UTSAU 93STe3 esoroog u q4Au s q A S y I9XD059S dOO prosa perugonzra3s 32594006 Ades ZZ esoToop TOOG pz aur doo TOO De3ona3sop ST 3I Uueu4 19IATIODSDP STTJ eua SSOTO J9NDOS ISITJ 9YI SAB O 11728 ITIA 19430048 Of 394008 ouo usuocgy 2365777 sorinjonijs 399508 dooD pozTTerT3turano Tooq ora3eas TO P9ZTTPTIGTUT ST 390x008 949 194294M Herz QEeyoosqs TOFJONIISSO 1 edA7 adAXIL esoroop Tooq 320d 3quT I9190SAS esn 03 ed 3 roooz3o1d edA3 wezledy paz3on13S9p ST Joxyoos y Jr 770d oui esoo AreoT3euo3ne esorgop uededg OJ 3ex00s ou purq o3 Zequnu 310d 310d uezaedg 310d 1o9Atos P SP qr suedo pue jexyo
59. Media technology which encoded video and audio at the performance location sent it to a streaming server located in California From there it was distributed to the users 12 A significant problem arose due to the interactive nature of the exhibit and the limit of the technology resulting in a 10 30 second delay between round trip audio visual exchange which was irritating and confusing to the user Real Player streaming has acceptable bandwidth requirements but uses a large buffer responsible for the delay With the advent of FlashMX and FlashMX Server Macromedia video and audio streaming real time interaction 1s plausible with a typical delay of five seconds or less The audio quality is excellent while the video quality is related to amount of motion difference from frame to frame as well as available bandwidth and encoding choice The other advantage of Flash MX is that it is platform independent 46 and provides nice interface creation capabilities including animation and is widely used on the Internet For more information on this topic consult James Cruickshanks thesis 6 4 6 General Usage The lab could be used purely as a general robotics software development facility but is much more functional in producing interdisciplinary works of art There are two types of approaches to using the lab video production or live performance 4 6 1 Video Production Video production is the preferred method for beginners to StudioBlue
60. Stops the Saphira gradient path planning GOTOSETDONE double Tolerance on reaching the goal Set how close we need to be to a goal to slow down or be done in millimeters GOTOSETCLOSE double Distance to goal in millimeters where the robot starts slowing down GOTOWINDOW double double Area in which the robot will look for possible paths to goal X Y in millimeters 5 12 L LI SbSoundsMLT SPEAKJIstring Will use Botspeak to synthesize speech initializes if it has not done so Synthesis customization is done via special codes that are placed in the input text string argument The following is an example of Botspeak ViaVoice annotations vbN vhN VrN vyN V N vsN vvN vg0 vgl pN OU A WON Pitch N in range 0 to 100 Head size N in range 0 tiny head to 100 huge head Roughness N in range 0 smooth to 100 rough Breathiness N in range 0 not breathy to 100 breathy whisper Pitch fluctuation N in range 0 monotone to 100 wide fluctuation Speed N in range 0 slow to 250 Fast Volume N in range 0 soft to 100 loud Set voice to male Set voice to female Create a pause n milliseconds long Reduced emphasis No emphasis Normal emphasis Added emphasis Heavy emphasis Very heavy emphasis 83 Example of speak message SPEAK vg0 When are you going to be 3 finished with this thesis Marcin PLA Y string Will use Botspea
61. TWA21O0qoNqS od 3 owes y uqra p z 3asr6 rxr eq ued Ieus3StT suo ue amp u3 TON un3ea ij 403ond3sop oqa UT 95942 929T9p 03 Tequiewer JI 434193U97ISTTOSU ADeEA YysNATOFID09A112 IP SU PUSISTT srrz3oedsar ura sedA Dau siso3stbs1 pue sjoe qo z u jljsrTr ou S9IP91D ST Dpr OS 3T PUES 3UDID pu xtoaoc A13dDbsu 3STe3 uin3ax G3dageueasrTbsu pueuo3oeAaa3gbsu urbequo3oeAa3gbsu purgj p3s 3r IOAIOS DIS 11828 Of poTISI oOIA3 SUO OUS 643 IOjESTDOI O3 QUEM 4 Up Ze tragurod zouojgsrTybsWqs pope JOU II Z Zen uazn3je4a Sj3srxo peead e 193urod sey JI ees OF uo4ees pue Ja71e9109 amp 3ga2eueasrTq6su 175 193U9ISTTIPPpe lt A1STPuegbsu DESTUT SUS LEES APearTe SJSTX JT JI yooyo ISITJ ZZ ue pueubsya3trur Ii03080A nO O3 zo3Uurod zouogsST 43 pee prynouys sus Ze aaqaqugqs xyoeq usnduoa3oeAaga3gb5su Jepiuegbsu ey o3 QT ppe JETT ega 03 joetqo zouo3s5rTDSw ou 549 ppe 1 YyIW3OdOHdS Meu 1214IY4AS 2419U92ISTTOSU y 19SU9ISTTIOSHNAS p93483S ST I9A1O9S oui JI TUO 3X4JOM 14s Hutz As ISUODASUSISTTIISISTHOI ISPPLUENAS PTOA 110d usdo lt 19841958d97 3T saros ogj dn 31898 03 A r3 1 gouea3sugeAouea ad2eT puegbsu 1oAa2esSgdo3 xyoeq ysnduio2108 1114bsu Ie pueu uoge burs oui jo eouejsur T UO ou e3e ep pesn 3ou sem d1e3urogdpuyvbswppe esneooeq Ayeous ST SIU3 INISA1I9SAS Meu TOATZESdO 4 T 1 9I9T9P JOAIJOS QIUI T pueuoa3o9SAag3gdbsu i
62. This client server paradigm fits perfectly in Object Orientated programming methods 37 and is directly used in ActivMedia s robots It was also applied in design of RCCI model RCCPs architecture is very modular allowing robot function components to be altered added removed and combined without disturbing the structure of the model In this way one could port RCCI model to other non ActivMedia robots as long as they implement the command structure defined in the following sections In order to develop this software package great effort was invested in becoming familiar with Linux C ActivMedia s API robots and general programming conventions Although the code is extensively commented knowledge of the above is essential to understand and manipulate RCCI 49 5 1 Existing Projects 5 1 1 AWeb Enabled Communication Platform for the ActivMedia PeopleBot For his Master s thesis at Cooper Union James Cole created a Web Enabled Communication Platform WECP for a single ActivMedia PeopleBot implemented on Kiru for Data Dynamics exhibit and later on to be used in Cooper Union s Robotic Theatre 11 His work integrated the Saphira 6 2 programming environment the Botspeak Via Voice interface the PTZ Camera drivers the ACTS Color Tracking software and Windows multimedia functionality through a TCP IP communication channel Shortly after the completion of the work ActivMedia created ARIA and SRI Research Company rewrote its Saphira packa
63. Triangle Truss To support lights props camera cabling and any other theatrical equipment a truss system was installed in the ceiling This truss system was required for mounting spot lights ambient light fluorescent lamps and cameras allowing for easy adjustment and maintenance y Figure 4 18 Triangle Truss System The truss is a standard lighting industry 8 3 4 triangle and came in four 6 sections two 2 sections and two 90 Degree turns Figure 4 19 Truss mounting anchors and chains The triangle truss system was installed with two vertices facing the floor to accommodate more points to affix lighting to It was determined that 5 8 diameter concrete anchors in the ceiling and 4 chain 31 were sufficient to support the muss The mounted trusses were tested to hold 350 lbs but are expected to support twice that 4 3 5 Turntable Stage Since the space is not very large and camera positioning as well as altering lightings is difficult a large Lazy Susan turntable stage was designed and built in the summer of 2003 by Yoongeu Kim Mohammed Yusuf James Cruickshanks Huy Truong with the assistance of Professors Stan Wei and Adrianne Wortzel 34 Figure 4 20 Turntable fabrication The circular platform has a diameter of 11 3 and is made of a layer of Y inch plywood supported by a web layer of standard 2x4 wooden studs The studs are arranged to provide support and redistribute unbalance
64. UTOTPN 10Y2 nep 3r1AI3OP 103041 siosuos a1q83 Sojejs 1eu0s obej oA A1933eq tuor3rsod uorz3ouw quezino sepn our uorgeuiogur SYL Zeen ey OF yoeq spuos pue uorgjgeuiojur paysenbsezr s19y2eb TWOo393Sqg 039 saogou 1eu0s 3rioo 9oA uor31Sod 9738798 s 3oqo4 103 s3seonbor sobeuew Z FER Zz Z j ZZ eae ZZ ois eoedseuru Duren burdgj4s SPNTOUTA lt WeSTZISS gt opniourd a4 PTI SPNTOUTE ud ebessewds SPNTOUTA UY 19U9ISTTO SNAS y SPNTOUTA Y TIWNe3e3Ssds eurgep H IN93939dS J9pudzI4 vooz 8 Aen uo paqutaiag u IN9e3ea3sds epniour Q rroo0a doq3xseqg uroaeu sburj33eg pue squeunooqg 2 ourmueTr I aursvbav43eb bsu gr sT I A48A IHS HVNOS ISMHI4d 1 1r ebueuaeuos3eb 30oqoa 6urag38S03 3ueunbavppe o3e31s5su r buewuageuos3eb 340qo4 4 p95 5 gjaqurad T f ireuosgunNa39eb 340qo4 gt T 0 T JUT IOJ T qUISYybazy eb bsul FT SYYNOS TTY pues u q3 0 ST jJueuNbzrze puooes 9u3 JI 1 3OOT lt j0007 NVNOS 3ueunbavppe e3ea3sbsu a XJBUOS y 0 assvbavaeb bsu gr este IPUOS IO 398 39749 107 SODIPA unir pte z 1 sr uounbze puoboosB Sy II STAPTTEAL 1RUOS ou TIO burpeea e u1n391 JOU prp Teuos T adeuos EeTqeTTeaAe TTE TOF SONTeA oui uagnjez 0 ST puooes pue SYYNOS ST Juewnbze 3SITJ 9u3 JT 1PA IRUOS HLIVLS uzn3eza e3e3sbsu XuoeipueHorbswpues 2 g gooqun 30qoa pbearpoAAago3aegaeb 30oqoa 6ura38S03
65. admin binaries var log var adm kernel var adm syslog var adm messages sbin liloconfig rm fr filename or directory force recursive cp i interactive copy rm i interactive remove mv i interactive move use this to rename file filename classifies type of file sum calculates and prints a 16 bit checksum find name rhosts exec ls l find all rhost and ls them or you can rm or any other command tar cv tarball tar files create and view tar cvf tarball tar usr create tar of directory and contents tar xvf tarball tar extract to add compression to an archive use the z option for gzip or Z for compress to decompress tar gz use z to or to decompress tar Z use Z rpm i file rpm redhat package manager rpm ihv force file rpm forces installation chown user file change owner of file dir chgrp group file change group of file dir chmod Absolute form The other way to use the chmod command 1s the absolute form In this case you specify a set of three numbers that together determine all the access classes and types Rather than being able to change only particular attributes you must specify the entire state of the file s permissions The three numbers are specified in the order user or owner group other Each number is the sum of values that specify read 4 write 2 and execute 1 access with 0 zero meaning no access For example if you wanted to have read write and execute permission on myfil
66. and shutting down RCCI and registering SbMsgListeners with SbMsgHandlerSingleton Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning a Singleton class needs to be destroyed by the last thread alive by calling removelInstance which is this class Definition at line 22 of file SbManagerT h Public Types e typedef pthread t ThreadType e typedef std map lt ThreadType ArThread gt MapType e enum Status STATUS FAILED 1 STATUS NORESOURCE STATUS NO SUCH THREAD STATUS INVALID STATUS JOIN SELF STATUS ALREADY DETATCHED Public Member Functions e SbManagerT const string amp Constructor e SbManagerT Destructor deletes the objects msgListeners allacted for this class e bool init void Initilizes robot and TCP server e virtual void runThread void arg the function to run in the new thread this just is called once so only this gets run as soon as the object is created so this part should have the init stuff in it 43 virtual AREXPORT void run void Run in this thread virtual AREXPORT void runAsync void Run in its own thread virtual AREXPORT void stopRunning void Stop the thread virtual AREXPORT int create bool joinable true bool lowerPriority true Create the task and start it going virtual AREXPORT void runInThisThread void arg 0 Run the code of the task syncronously virtual AREXPORT int join void retZNULL Join on the thread
67. aspect of the theater is technologically 55 advanced as possible Text To Speech TTS apparatus should control voice characteristics gender age voice style allow for specifying emphasis tone intonation and pauses to give the user most flexibility to create desired voices and embed emotions in the dialogues ViaVoice Outloud TTS 44 developed by IBM was part of a package originally implemented by ActivMedia not only to synthesize speech but also to perform voice recognition Its TTS capability was successfully utilized by James Cole in Camouflage Town 11 Since IBM has discontinued Linux versions ActivMedia has adopted Festival which does speech synthesis and Sphinx which does speech recognition Both are implemented in the ArSpeech class They are not as easy to use as and produce lower quality speech than Botspeak a wrapper for ViaVoice and therefore will not be implemented in this version of RCCI Botspeak and ViaVoice for Linux were included with Saphira 6 2 prior to the release of ARIA Controlling synthesized text via Botspeak is done simply by inserting annotations in the input text the input text string 1s an argument in a Botspeak TTS function Pitch head size roughness breathiness tone pitch fluctuation speed emphasis can all be controlled by inserting a string of characters in the text to be converted to speech For example vrN changes the roughness for the text that follows with N in range 0 smooth
68. bUT1I1S 11047I9S PTOA 310d 198ntos ey 298 PTOA INISdAIDSIS JXOJODnIJSOm PES 1 10d BUTIAS INISAISSS jzxod porirosds uo 39908 P SOJPOIO I030nI38U0 9 PTOA INISAISSAS Jo3onr3eHon ZZ oTTgqnd Teus ist TOswqs ottqnd TWrASsazesqs SSPTO ouoN bnqg ueppueugorjbspwpues adoueg3sriTqb6swqs S 1SUSISTI SHAS s sn buruaeAj POO uo4ew IPP buradeoeurbux eorueuoow uorun raedoog IXOr eg uroageyw 1043N89 TeTpuey oui 02 xoeq sobessou o4Ij OF ade puegojbswpues u3 esn ued nox o3oug ISATSSI9NIZ S PIDOWAIJOV Uo4j peopou sem 31 uOrjounj SSOTO 9242 YRIM Tontos y eso o pue pueuuogual u3r 4 spueuuoo oAouea pue uorjounj puewUIoDppe 242 YIM Spueuuoo ppe uorjoungj uedo 242 ua3r4 doA4doS u3 21228 peddrai3s sr GANAS ebessou y ur peppeque obessou y s3seopeorg obessou od 3 NHS SUL po4rj ST SodA3 ebessou TIVIINO UeuaM pojoouuoosrp 91 SJUSTTO TTE pue obessou IO buripues Aq 3oouuoosrip upo SQUSITI Uuorgoung eouge o Ao an pra sueddeu yotym sebessoau sjexoos buruuoour 103 yooyo Tpeorgeuojne qou soop 3I s3exoos pojoeuuoo TTE oi 9o417 PIA Ques obessou Aue j3seopbeo4q TTT 3I 39euuoo OF S3uer o rdr3rnu SMOTT QI suorjgoouuoo buriuoour 107 u 3q3srr OF s3jexoogqsg sesn SsP O SII eqep IIOSV AO rI pu s suorjoouuoo 3exoos e drj3 nu I9A19S dI dOlLl Sobeuen PLE FER 11 ZZ d e fh fh fof ILL Ee fh IEE ZZ FER A gf IIS ois eoedseuru Duren uy 19U9ISTTIOSNA
69. boolinit initilized botspeak flag e vector string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler e ArMutex myMutex e bool myRunning State variable to denote when the thread should continue or exit bool myJoinable bool myBlockAllSignals ThreadType myThread ArStrMap myStrMap Static Protected Attributes e ArMutex ourThreadsMutex e MapType ourThreads 81 Member Enumeration Documentation enum ArThread Status inherited Enumeration values STATUS FAILED Failed to create the thread STATUS NORESOURCE Not enough system resources to create the thread STATUS NO SUCH THREAD The thread can no longer be found STATUS INVALID Thread is detached or another thread is joining on it STATUS JOIN SELF Thread is your own thread Can t join on self STATUS ALREADY DETATCHED Thread is already detatched Definition at line 63 of file ArThread h Member Function Documentation void SbSoundsMLT fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 41 of file SbSoundsMLT cpp References checkForRobot fired SbMessage getAsStr init ArThread lock newPlayMsg newSpeakMsg robot and ArThread unlock Referenced by fire void SbSoundsMLT runThread void arg virtual im
70. burpue ue 30U SIT JI 5ngburaasg Au uaznj3eza Jouougbura4sop 30b em Jeya UINIST 3 UOD an JT re ngburaasAu y uzna zxz joyoqbutazysop 33n3s poob oui uaunje4 mou AeyYo vooz 8 Aen uo peaqurad ddo 4exoosqs 0o rroo9a doaxseg uroaeu sbur433eg pue squeunooqg 2 eueueT r4 SANOYONUOD OT 79 Au HOVHANNLYNY SSPD 1 US TSuUeN2SO0HXxeu 3soyT esoT azeuo ageet apesngezr uorqoSuuoo fa IJSIOIIY WU edAq d rI 470d qur 3sou x aeuo 3asuoo 30ouuoo jexooSqds TOOq p snj wuoo 101134u XTJSO4H4HNNOOH eseo QsoyulTeooT uzna z OUZIZ9 YORTMS esto Ma9xXoos 3j2euuoo o3 eun re4 111011 HAU t uu uzna z Qsou peoop gyoezrs Asou eoo eueu3sou39e9 g3r 0 gt UT appeyoos 3onaz3s goezrs ieTeueNasoHxeu ijsou eoo Ze UTSAU S x appexoos 3onzaa3s qa4Au 3oeuuoo gr SWENISOHASH 3ex osqs PUTIAS PIS f9dAq adA Au en13 uan3ea 9STP3 uznqjez appe eoau q ur 34sou doaas 1 139908 10119d PADOS gan exeu oq eun reg 1IS1011H3GAU TTe439N 1011 3A4U sT sweu u du 1s0uy 4do13s du Ft LENT 4V Ippe s ippe goezrs Ippe s ippe 9 x axeuo UuppeAqasou3eb dy 0 0 MKYIDA MOOS LANI 4V 3exoos qaAu 33 adn ed 3 gr este dy y 3ue3sou qonzqas esTeg uan3azx i39xXoos auoaaod SoU y aeuo appe 5 Ippe ur 3o9nd43Ss isoHA4ppe 3exoosqs TOO 1983008 OL 9exeu OF eun r 9J4 IJSIOIIHY WU ITTe439N 1011H3AU 0 gt
71. by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler 30 Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbCameraVCCAML h e SbCameraVCCAML cpp 3l SbExampleML Class Reference SbExampleML include lt SbExampleML h gt Inheri
72. combine the popular functions of move and rotate to be used in combination with action limiting functions such as ArActionAvoidFront Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Direct Motion Commands Be aware that direct or motion command may conflict with controls from Actions or other upper level process and lead to unexpected consequences Robot gt clearDirectMotion will cancel the direct Motion so action can get the control back there is some other way to automatically do it using robot gt setDirectMotionPrecedenceTime may block actions forever if too high robot gt getDirectMotionPrecedencetTime be careful direct motion commands may prevent actions forever may need to set robot gt clearDirectMotion maybe I should use actions instead of direct motion commmands because direct motions do not work with actions well Note You can use the sendMsgToHandler to fire messages back to the handler Bug None Definition at line 39 of file SbActionML h Public Member Functions e SbActionML void Constructor SbActionML void Destructor 15 virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages b
73. e yoeortdde eru ur y2ed eqo b e aen o3 ST 3uerpe4b uo 3uouourjo4a 19y930UuY peedsuoeoaddy eur43esgpeag59jgsS Y2TM poeds uq 298 O3 quem Xew nox yoeoidde eurj oui TOF paTOubT ST 3SID SsoTo 9u3 ouoga3eg pea59js YITM eouegsrp ouop y pue SUPIPIASQOPLIDIS U3IM sTaejewexzed o poej3sqo quetTpez6 oui 3sn pe oq quem osTe TTIM NOA ugoeoaddy eurj4osfpez59js TTeO sru3 op o3 uorqrsod uaArb e OF uoeoaddde eurj Y TOF 3uerpea4b y esn osTe ued nog arnpow uor438brAeN UOI39ZI P8OOT TeseyT oui uo13 deu prab e Duren qusTpelib pue uorjezr e2o 3joe ueos joP 2O 3 YOOT p 4oA P oi 35sdser UTM UOIQPZI P9OO TOJ UOTRIEZTTEOOT jnou3rM qu rpezD oTseq 3joe peab saT peor 2192970 eTdues JueaseTez euos SO OPjSqO JO iP9 O SI 3I UeuA4 punoze un pue OTQTIEHOQd II adn Or O3 A3 TITTA 3T 3 UST Jr JI Zero SI SATDEZ urns SJT JI 998 IA 31 uged u3 MOTTOJ OF Seeadbop Gp uey edou udnj oj speeu 30q01 ou go ebeg v00Z g Aew uo p qurzd ddo zIWezrudesqs 0 ITooz doays q urozeu sburaa s pue sau umooq 2 eueue r 197ITUTTSP butzqs buraijs 1S9ITUTTOP ebessou 4aogarnegjep buragjs DurIgS cod STRESS Zeg 4700 buraz3s gaod opouedo Tooq berg uedo 4d8A4298S buT1IS 19SBS2IUTST Toog 1oboQur ue sr BUTIIS e JT Sxooeuo pe32e43oad sus obessowdqS 3suoo o421j PTOA TENJITA S1TJ OF 198USISTT ey pesneo uoruA ebessowqs bsu werzed uorgoung TeNJAITA eund 198us23sTIBSHAS ey sa3u
74. exists vectIter vectorFind vector lt SbMsgListener gt SbMsgl istener finds the position of the pointer in the given vector end if not found Protected Attributes map lt string listenerVectPtr gt MsgHndlrMap this is the essential data structure that holds the key and the relevant pointer to the list of msgListener pointers SbMessage msg temporary msg variable Static Private Attributes SbMsgHandlerSingleton pinstance 0 internal single instance of THIS class The documentation for this class was generated from the following files e SbMsgHandlerSingleton h e SbMsgHandlerSingleton cpp 55 SbMsgListener Class Reference SbMsgListener include lt SbMsgListener h gt Inheritance diagram for SbMsgListener B 56 Detailed Description Abstract class for the messaging system You cannot create an object of an abstract class type however you can use pointers and references to abstract class types A class that contains at least one pure virtual function fire is considered an abstract class Classes derived from the abstract class must implement the pure virtual function or they too are abstract classes This class provides messaging functionality it stores the listener types that the listener wants to be registered with Since the MsgListener can send messages back to the handler sendMsgToHandler via the pointer to the handler SbMsgHandlerSingleton getInstance it can only register with one me
75. facing 180 to 180 in degrees Vel translational velocity of the robot in mm sec RotVel rotational velocity of the robot in degrees sec LeftWheelVel velocity of the left wheel in mm sec RightWheelVel velocity of the right wheel in mm sec Volt voltage level of the robot s batteries 9 0 13 0 volts Returns values of sonar set in mm 1 no sonar or max 0 All sonar 1 0 7 2 8 15 3 16 23 4 24 31 STATE sonarl int Will return the number of the sonar that has the closest current reading in the STATE closestsonar int int given range Requires start and end angles STATE sonaron STATE tablesensors on STATE motors AUTOMATIC RESPONSE MESSAGES MSG CONNECTED This message is sent after a successful connection to either robot or simulator MSG DISCONNECTED This message is sent when a robot sim and RCCI connection is lost MSG CONNECTION FAILED unknown connection method Warning when an unknown connection type is specified via the CONNECT MSG CONNECTION FAILED Refers to an instance of a connecting problem related to opening a serial port serial comm problem for connecting with the robot MSG CONNECTION FAILED Refers to an instance of connecting problem related to opening a socket for simulator not available TCP robot simulator MSG CONNECTION FAILED If the first attempt to connect to the simulator or robot fails this message will trying again be broadcast MSGISTALLED j nt
76. his residency at the StudioBlue Truong translated his script into GRASP and used it exclusively to command Woody in a play involving two human actors Prior to the creation of GRASP a simple Telnet client was used in the lab s first major production by Adrianne Wortzel to send commands to RCCI It was found that this method was rather cumbersome and slow However both of these instances proved valuable as real life applications of RCCI The software went through a number of iterations such as the addition of multiple client connections and internal feedback system The latest stable release is version 1 0 Through trial and error relying on precision of the robot location feedback system 1s not possible Besides the typical dead reckoning errors involved in robotics changes in temperature and wheel diameter associated with two inflatable rubber tires amplifies this error The tires were also 94 inflated to an optimal pressure to reduce the noise produced by the interaction of rubber and floor surface The change in the size of the tires is not accounted for in the control code which results in incorrect rotation or distance traveled calculations Familiarity with the robot behavior through rehearsals greatly improves prediction of robots response to motion commands Due to unforeseen developments that caused James Cole s software to become obsolete maintainability was a significant design objective for RCCI Modular architecture was i
77. instance of an abstract class type can not be created but pointers and references to abstract class types can exist A class that contains at least one pure virtual function i e fire is considered an abstract class Classes derived from the abstract class must implement the pure virtual function or they too are abstract classes This class provides messaging functionality it stores the listener types that the listener wants to be registered with Since the MsgListener can send messages back to the handler using sendMsgToHandler via the pointer to the handler SbMsgHandlerSingleton getInstance Since only one message handler exists the listener can t register with more than one handler In the future this could be improved using an array of pointers to different handlers 73 5 11 15 SbRobotML Manages robot connection and checks for errors bumpers stall etc Creates and instance of ARIA s robot interface Provides connections to the real robot or simulator It checks if the robot is connected if any of its bumpers are triggered and if it has stalled It also provides an interface for activating sonar and the motors Returns some robot parameters name type etc 5 11 16 SbSaphiraML Listener wrapper for Saphira intelligent avoidance software This class calls Saphira function that avoids objects and intelligently maneuvers around IGOTO At each sync cycle 100 ms the Gradient module calculates the lowest cost path fro
78. int Will send which motor is currently stalled left right This message is sent when one or more bumpers is activated If they are pressed a message is generated displaying all the bumper states where 0 is MSG BUMPERS 0 0 0 1 0 1 0 default state and 1 stands for active MSG WELCOME TO StudioBlue RCCI SERVER Upon successful connection the above message is sent to the client e ET connection attempt This message will be broadcast if ARIA is not initialized SERVER mis mesa is broadcast when the TCP seri being shutdown SERVER This message 1s broadcast when the TCP server 1s being shutdown 105 MSGIMALFORMED MESSAGE Parser failed to create a proper SbMessage 1 e MSG UNKOWN MESSAGE No listeners registered to fire the particular message type The message will be TYPE gt TYPE discarded MSG SHUTTING DOWN RCCI Broadcast before RCCI shutdown MSG NOGRIPPER Sent when the gripper commands are used on a robot without a gripper 106 8 3 NSF Abstract NSF Award Abstract 29980873 FLAWSOO0S Robotic Renaissance Bridging Engineering Art and Science via Web Robotics Investigators Carl F R Weiman Weiman pcnet com Principal Investigator current Chih Shing Wei Co Principal Investigator current Adrianne Wortzel Co Principal Investigator current Sponsor The Cooper Union for the Advancement of Science and Art 4 Cooper Square New York NY 100037136 212 254 6300 NSF Prog
79. jerd pue adoq uoo Tea qouyyooT es Asebeuewin burMs xeAe qazodur QUENSSeTOTSeeqpuyyoo Tus IS AS job 1ebeueywrn reed4qpuv3ooT3es zsbeuewin 1 qme eael qazodur Axa y sbze JOUTI1AS UTRU PTOA or3eas OTTQnd OS orjuoow ebexoed I Zo TI ebeg vOOZ g Aew uo p qurzd eAet Tozquojgesnow IOoa4uoou oas ioa43uoou 3oeLoadqt squeunooq Aw uroaeu sbur43eg pue squeunooqg 2 eueueT r4 I JO T ebeg T Laos nai 0Q 3tTxo uex3sAs PNISOTO MOGNIM U9AgMOpUIM dI19b 9 FF SQPUSAFHMOPUTMSSSIO1d zedns JUSAHMOPUTMRU9SAFMOPUTMSSSIOIA PTOA p ao aozd p9soTo ST MOPUTM USUYM ATXS ULD M OS USdPPTIIADAO IInU dPTO au JU9AF9Ssnonpeseeroyesnou ptoa orTand Ueadepvesnow Meuuouejsri TesnoWwpp sue gq us quod d apro ia u5NIOGVHH I Pueuuo ppuss suegros quogu puguuoo S3 e3Os Z Z E Cuan aw na w TAAT PUB D Tete d ros puewwoo Su pues X d X gpIOo ggIP JUT uqeu euos op Ad x d gpqo x gpio eurqg4eagp sorudeag53eb eueqquequoo TTnu i dPTO 3T 3utogasb ou d JUTOA eudqueAgesnoywpebbeagesnou ptoa orTand Meadepvuoraowesnow MSULSUSISTTUOTION9SNONPPL eueqque4uoo Ileuegioaaquoou eueg oag3uoou ppe eueqquequoo Lv9 8vLVIC Lv9E8VLVIC UOTISUeUIQG Moeu ezrgunurxejy3es 3Xlxoegpeoj 2 09 OZG UOTSUSUTG Mmeupzrigpoeddojoud3es TSUBATO1FUODQU 2 09 80cg uorsueurg MBUPZTSUNMUTUTNISS TSUBATO1FUODQU ITO433u0 9SnOW 9 T3TI139S STU3 008 O
80. message handler virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Static Public Member Functions AREXPORT void init void Initialize the internal book keeping structures AREXPORT ArThread self void Returns the instance of your own thread AREXPORT void stopAll Stop all threads AREXPORT void cancelAll void Cancel all threads AREXPORT void joinAll void Join on all threads AREXPORT void yieldProcessor void Yield the processor to another thread Protected Member Functions bool checkForRobot void checks if the robot ARIA instance exists and is connected virtual AREXPORT int doJoin void ret NULL virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes ArRobot robot robot pointer string type type of message SbMessage msgExample internal most current message ostringstream oss stream instance used to convert double to string bool newMsg new message flag ArMutex myMutex bool myRunning State variable to denote when the thread should continue or exit bool myJoinable bool myBlockAllSignals ThreadType myThread ArStrMap myStrMap vector string gt msg Type Vector vector containing all the message types that this listener is interested in registering with the handler 37 Static Protected Attributes e ArMutex ourThreadsMutex e MapType ourThread
81. messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler 51 e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions e bool checkForRobot void checks if the robot ARIA instance exists and is connected e virtual void addMsgType const string m adds the message type that this listener should listen to Protected Attributes e ArRobot robot internal robot pointer e string type type of message e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Member Function Documentation void SbMotionML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 48 of file SoMotionML cpp References checkForRobot fire SbMessage getArgAsDbl SbMessage getAsStr SbMessage getType robot and type Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h
82. o aursvoavaebo bsu gr u INUOTIOVAS pueuuoo 94drj JOU TTIM gt gt u pe3ooeuuoo JOu ST 10 ISTXS2 US90p 30oqoWH gt gt MOD Lu ld 9ed 3 gr este Z FO z ebea vooz 8 Aen uo peaqurad ddo TNUOTIDYAS O TTOD1 d0IIS9G UTDI1RU SHUTIJSS pue squeuno2og 2 eueue r I JO T ebeg SAOWUOI32VQS ITPUDR 4 T fsaqeasAw seas To erTeunus 973898 949 JO oouej3sUI IVOS OL SNIOS HLYIS 1VOO UNAWHIHOV ELVIS IVOS ON HIVLS 291838 unue UOI329P STY JO qeas 3uediino ou soegedounuoe Teo Au esogav ES Ju ITeonbTIO SSOJAVY Teob pojsenbe4 l eo5proAu esogav VOTITSOA pro 7 7 iosairsogAupearsequoraovav HOIJOP Teuz qur 77 jboegpeuanp Au Tooq berg xoeq urna 3s T dp roAu eTqnop TEOD OF SOUPSEID Jeer Sut ITqingAu eTqnop HO TJOSIID 3USIDO eya ZZ INJOJUOTID9IITG WN STGnop burpeeu enrnsryoe oj uainj OF 3unouwe quusustout SjossdsAul Tqnop peeds pearsep 4srqesoToAu eTqnop sseoons se Pob oui UIUJIM 9OUPE3SID MOTTE pe joe 407d poeaursog Au sS uan3ea PTOA PSITSSq Sb peagrsequoraoVv4y Tenqata uUuOrjoe partseg39b eseq ey 103 uorgje3ueue duri Z pDeaurseqaueaganopearsequor4joV4aV e4Tj y PSATSSQuoT AWAY TenaarA uUuOrjoung SIT eseq FO uorje3ueue duri ISTP emqnop o5 proa ob fpeedsgAu uan43eza proA peedsg39eb eTqnop o9s uu Je Teoh oui OF TeAeTQ TIT uorqoe y p ds ou s39e9 peeds peedsAu Deeds eIqnop peedsg3es pr
83. obessowqs e vol obessou Y SoJIIJ PTOAPI1SUSISTITIVIOUNNISL qur SIouejsr Jo Tequnu T8303 suainz391 5 buraj4s AsuodsASus Ast TJOWNNASS qur I JO T ebeg d od 3 bsu e 103 SI9SU9SISTT JO Tequinu suinje4 proA sedAIjounwN39eb5 qur i buraijs 3SUOD s198U9SISTTOSHNISL IS3USISTIBSNAS y pbutazs asuoo ed 9SAOouoe43 PTOA siouojsr pogeroosse pue oxy p SOAOUOI 1 y TAUSASTTHOSWASPSOUCASULTSUSASTTSAOWST PTOA Aan Jo burpaebe4 deu oui WOJ IS8USISTT SH JO seoueq suT TTE s aou drx 1 y TAUSASTTHswgas 3 burazj3s ISUODMUSUSISTTIAQUII PTOA ed 3 Ie not31ed suo uo4gj aieouejgsr bsu oui seaowezr T UO x 19U9ISTTOSNAS IS9UIISTIPPL PTOA SSPIO I U JSTT oui uo4j y sodA3 Hsu sjoezrj3xo I9U93STT Y sppe t x 198U9SISTTOSHNAS a PUTIAS ISUOD 1SUSISTTPPE PTOA dew 541 o3 Tred 18US3STT 4A9Y Y sppe pTOAPDUPISUTSAOUSI PTOA or3eas qT burege op Aq eouejsUur SAOUSJI proA eoueasuy3eb uoq rTrbursa TpueHDbsmiqs ora3eas pejeezgo eq TTIM 3I 3SIxe 3ou s op jr SSePT O STY O3 oouejsur ou3 suinjo4 oTTgqnd U0JISTLUTSISTPUPHPBSNAS sseto ooueg3sujoAouo4z DPurTTeoS Aq aaTTe pe zu3 Iser oui Aq pe Aoajsep aq oq spaeu sse o uoge bursg e buru4eAa4jg POO uo4ew IPP buradeoeurbuwg eorueuoow uoruf IedooJ IXOr eg uroagew azoujneg peeds ur ureb IOJ 919Y poproAe sem STYL xog3nywa4y bursn Aq ae pueu oui xoo o3 3sobbns I aseo jeug3 ur pesn sri buripe
84. ouaddo SPNTOUTH u orp3s epn ourfg U 3eur edae epn ourj4 qQ ur jeurjeu epn ourjg u 3uo29g SPNTOUT lt y uezed s s gt epn our4g UuU 3e3s s s epn ourj UuU 3exyoos s s epn ourjg Uu sed 3 s s epn ourjg u pasrun SpNTOUT u sed 3 s s pnTour lt yYy auta3 sAs gt aSpnTIouT u 3exoosqs surj p u 3exoosqs JOSPUITA vooz 8 Aen uo peaqurad u 3ex2osqs epniour Qo ir20a2 doaxseg uroaeu sbura3eg pue saQueunoog 2 ourmueTr Ippeyoos ouj TOF Tossacoy JeweNYOOS eb Tooq urg Au 3exoosqs ur p zo3as eueu jexyoos ayy 395 JeueNasoH439e9 putas pas oraeas ssoadppe 3sou eoo ou 299 3sou xy aeqo Ippe 9 appe ur 3IDN13IS ISO0HI1PpPe Tooq orqe3q3s DBurz3s 3sou e 03 ezunjondjs sseadppe ue j49AUO t 1Ppe 3 appe ur 30n139s 3isou y aeuo asuoo ippvasou ood or4eas a1n30n13s sseadppe ue oi burzjs 3s0y Y 3194U0 T 3 UTS x appexoos 3onz3s 19 u r bsu x aeuo qaAu uoajAoo4g uaAnqQez UT appeyoos yoezts T qur peubrsun UTS yx UT Appeyoos u T qur Hsu y proA uo14A2S 41 JUT jexyoos ey uo4j ebessou e oAISOOSM T Ippeyoos 3onz3s goezrs UTS x a1ppexoos 3onaa3s o UST Hsu y azeuo q4Au oa3pues uan3ea UTS yx UT 1Ppeyxoos 3onaas UST AUT PSU y proa qasuoo orpu s AUT jexoos y uo ebessou e pues 1 ursAu goezrs uTSAW 9 x a1ppexoos 3ona3s pn ue Hsu y azeuo qa4Au oa3pues u
85. p1PMIOZ Z soue3sTp 3oqo4 249 seAou e qnop MAOW s9TuTT 949 918 uu 9 C OS jueueAou ey 107 34ous sesn AT enjoe pueuuoo oAou Sus 23849 XUIU3 I 1 xoOT 30qoa padA 121865 bsu d q pew jo ed 3 yooyo uzn3ea KIIq312uNNOOSIGISSWIGNSS XMerpueHolb5swpues Tpua gt gt u INUOTIONAS pueuuoo 94drj JOU TTIM gt gt 4 pej3oeuuoo jou ST 10 jsrxe j useop joqoH gt gt jnoo IOJOFIO4AADSUYO FT 387T pejosuuoo Sq 09 sey Z FO T bea Osu s ebessowqs 3suoo ezrj TWuUOTIOWAS PTOA 3ST83 uanjea 2 g ooTun 30oqoa espej urINJeT pue 30qo1 eu yooTun os pez3osuuoo Jou 918 9M Zen uaznjeza 2 g gooTun 30qoa uor3oung 3rnb pue yonun pojoouuoo oTe 8A JI ipeaoeuuojpsr 30qod gT DO T lt 10 OT qT UOJj e3ep 396 ugd em es 3001 au xoo 10119 JO esneoeq uorj3oung sru3 21nb esTieg uangaz TTAN u LOONES 1 1090YPUTIT BTAY I001 3T Zena UITRIT ubud pejoeuuoo sar pue se JT SISTXS IOgHOYES 30901 ey JT 99UO PTOA JOGOYAO TYOSYO HNUOTIONAS TOOQ Sen o3 DUTOD ere Sa JT Azeseoosu ET sru377 po32oeuuoo ST qr JT pue SISTXS 3001 949 JO eouejsur ue JI SAD9UD PTOA TNUOTIONAS INUOTIONAS 2 yu TIDICLOY Jo dA LES nNppe 2 UCIHOOVIOM 2 IHOHGSNVH 2 IHOOVSNVH adAIPSnNPpe adAIPSnNPpe a9dAIPSnNPpe 2 GV THALOUXWW JSdALbswppe 7 QUISASNVHIXVN uH VII udOL 7 uHLVLOY u ON TO Y i La Li i Du Si i H
86. peAreoe4 AVY oA 3843 mou peeadu3 ey 297 3sn TIAM GVHMHHIHTIdWVWXH DO300UUOO ST JT JI pue s3sTxe 30qOI Sun JO OOUPISUT UP IT SN99840 imo Quem om burqugAue 396 UPD em os ejep sse O STY SADOT LTIWeTdwexyqs 1 TNSTAWEX HAS uzn3eza Gd3198NNOOSIGISSWIGNSS X etpueHorIbswpues TPUS gt gt 7 CIVXHHISIJAVXS SdALb5SWppe un LINSTAWeXHas pueuuoo SITI JOU TTIMu gt gt T9 puey bsu u po39euuoo 30U ST AO ISTX2 2 US20P qaoqow gt gt NOD U31A burz 3grb r TOF 70703A eseq 198us3sTTbsu ey o3 sed j ebessou sppe esTeg bspyj eu OqOWH40 329U921 3T an13 ent o73e910 ISTTT pejo5UUDO eq 09 SPU pes HS EECH 7 Tpue gt gt zZassyqeb Hsu gt gt bsu Yat ALVIS bUuIJIJ gt gt 3noo bsu e duexaqbsul OLTIWerduexuqs rINerduexmadqds bsu 9 ebessowds 3suoo earj i IWe duexudsS proA 0G 4u lTIWerIduexgqs SPNTOUTA vooz 8 Aen uo peaurad ddo rINeIlduexauqs 0 rrooa doqaxseq uroaeu sbur33es pue sau umooq 2 eueue r I JO T ebeg jrpueg d proA 1oqouHaogQ4xoeuo TOO poj306uUOO ST Pue S ETXO 30007 949 IT Send leddria2b y 1eddra59av SSETO rOIrjguOO soddrab Sua O3 EEN 72 fadAq burajs odA3 obessou 1310qo4a yx 30qoWHaVv 1930Tod 30907 TELE dd d 93eArTad bsu sebessoywdS 3suoo o421J PTOA TENJITA OTTJ 09 198U9ISTT oui pesneo quoru4 ebessowqs bsu ueiedg Uuorg3oung ena3arA e1nd 4deuej3srTbsWqs ou squeweTdut PTOA INISAATADAS I030n2380g PTOA INISAATIDAS T030
87. produce an amazing creation Figure 3 1 Scene from COLORAID 10 The principle investigators of the NSF grant promised a creation of a venue software tools for developing robotic performances and to facilitate interdisciplinary learning Such controlled environment would have been very convenient for producing work like Arsham s Implementation of the proposal requires versatile and intelligent robots a space large enough for them to freely roam among other actors computers for software development and control proper stage lighting audio and video recording equipment and simple scenery changing method Lastly an avant garde concept was proposed for the theater to have the means to operate it from a remote location via the World Wide Web This would allow general public to direct plays or become spectators Implementation of this functionality requires an Internet web server audio video encoders and live streaming capabilities as well as an intuitive robot control interface that is preferably platform independent 3 2 Robotic Control and Communication Interface RCCI Previous research in the area of robot interface programming has focused on providing a control environment that is specific to a particular task While such approach is very helpful it is often very low level forcing the programmer to spend much time to alter the application for another task 16 An interface that is user friendly and versatile enough for robotic c
88. sr pue s3srxo 30q01 9Su3 JT Sxoeuo 1001 y 3oqoWHav z jzurod 30q01 B8UJ943UI 93IRATAd PTOA ITUT PTOA JUSTPeIb ey SOSZITTILUT sus SPESSaNaSs 3suoo o421j PTOA TENJITA S1TJ 09 198U9SISTT ey pesneo uoruA ebessoywqs bews uezedo u0OT30UNGF TENITA end 198UuS23sTIBSHAS ey sa3ueue dur JINe1TUdesqs 1039n139890 JINS1TUABSAS EE SS oTTgqnd 193U9dI1STTOSHAS orrqnd TWwertyudesaqs sseTo ouoN bnqg Oourj aoAo q3u rz jJIp aq ACW yOLODIn nOLOD FO sula33ed uorqou qoex 2949 23521 buruzieaMg TaTpueHOLbspwpues TauaqsTT6swqs S 4ouo3SriTqbSwqS s sn PUTUTEME POO uo4ew S7PP9 buradeoeurbuxg eorueugoow uorufj Zedoo rxyor eg UTOTPN aouajnejg XooT TIAM 9earugdeg 22749 MOPUTM au JO 9ZTS oui SS2QTIDSSP MOGNIMOILOS UMOP MOTS O3 S3493S 20q01 ey 39u3 TEOD 09 9OURISTP oui 579S yASOTOLASOLOD SITUA HNNOGILHSIMO2 bUursn Jes oq ued 90b ey peuoeez ArTinisseoons sey JWI seunsse 30q01 ey ueu4 oeoouejSIrp SYL uOLOD UOIJ3ISOd pearsop oui o3 ob ATaATeU O3 30q01 ay TOF burMO Jjo pouzunj eq ued 31ed eoueproAe oul OLODI punoade ioAnoueul AT3Uuebr oaur pue s3os qo proae 7843 uorjoungj e1tydes sTTPESO SSeT O STYL SIEMIJOS eoueproAe 3uebr o3ur ertydes TOF 1odde1m 19U93STT A Ee Fe IEE d Lee L d fh ae TEF IEF ZZ x ois eoedseuru Duren bura3s epn yourgs ud PTI SPNTOUTE ud ebessewds SPNTOUTA y U 19U9ISTTOSNAS y SPNTOUTA Y I
89. the PeopleBots This work is a collaboration with graduate students from Parsons School of Design 6 1 StudioBlue The creation of StudioBlue has fulfilled the objective of the NSF grant by creating a space where a variety of disciplines unite to produce innovative technologies and demonstrate artistic expression The theater is outfitted with autonomous and semi autonomous research robots supporting computers audio video recording equipment and theatrical stage with a turntable floor ample lighting and bluescreen technology In addition the laboratory posses a Turnkey Video Editing System making StudioBlue an independent production and post production facility The theater has received much publicity even appearing on Martha Stewart Living s special on The Cooper Union There is obvious public interest in this type of research and many are eager to see continued results 92 6 1 1 Suggested Improvements In terms of the lab layout current space is inadequate for more than three performers on the stage at one time Furthermore the robots navigation accuracy 1s very low and can exceed a foot difference from the commanded distance the error is between 5 10 percent of the stage size A larger stage area would give more flexibility to the directors diminish the obvious motion errors and allow the actors to compensate for robot s inaccuracy A larger studio would also improve the video recording methods by allowing for more camera plac
90. the double delimiter to create a message A sample camera control message looks like this CAM zoom 56 It is imperative that the creator of the message does not include the delimiter as one of the arguments which could happen when sending string for TTS for example Such mistake will cause the message to be formatted differently then expected As for internal structure of the SbMessage class the message is stored as vector of strings Each element except for message type always returned as a string can be accessed as an integer double or a string This structure proves very flexible in implementation Once the message is parsed 67 and created it 1s up to the class that uses the message to know how many and what type of arguments it should expect If the stored argument as a string is accessed and is not a number or it doesn t exist the SbMessage will return 0 5 11 Components Classes All classes created for this project have the prefix Sb for StudioBlue and in some case have a suffix suggesting their derivation ML suffix stands for Message Listener and indicates that the particular class derives for SbMsgListener The T suffix represents a class that has threading capability derived from ArASyncTask which in turn is based on ArThread All class names begin with a capital letter enums either begin with a capital letter or are all in caps member function names start with a lower case Each word in name is capitalized
91. there are two other methods to stop RCCI on the robot telnet robo4 me cooper edu 5555 Typical method of stopping running applications on Linux is using the following combination of keys Control C Occasionally this does not work a more severe method is applied using the killall command killall 9 rcci As the software became more complex with many commands to test a graphical user interface client was created using Java programming language 19 it is discussed in detail later 5 14 Java GUI Test Application 5 14 1 Sample Java Client Towards the end of the development process a more rapid and flexible application testing method was desired A graphical user interface client was created in Java to communicate via user defined message It simply allows the user to connect and disconnect and send control commands to RCCI When send button is pressed four of the arguments from the input boxes are structured into a Message and sent to the robot Robot replies are displayed in the communication box OO NO 4 MouseControl L loj x bobo2 Me cooper edu 3555 COMMECT SERYER DISCONNECT SERSVER CONMECT DISCONNECT freak town sen Figure 5 12 Flexible Test Application Screenshot 5 14 2 Mouse Based Navigation Interface Mouse seems to be a good control device for video games why not robots What if the mouse motion could be mapped to robot s coordinate system with adjustable scaling moving the mouse
92. to gel the backlight with a color opposite the chroma key color That s magenta for green straw for blue DON T do this with Ultimatte screws up the spill correction Note If you take the time to light your foreground and chromakey backdrop correctly No blue or green fringe on the object or the persons clothing hair or skin then even the most basic chromakey hardware or software will give you good results Rules For A Good Key Make sure your lighting is even and well balanced on the chromakey backdrop Keep the subject as far forward of the chromakey backdrop as possible Light the subject separately Prevent shadows from hitting the chromakey backdrop Make sure the subject does not contain the same color as your chromakey backdrop 115 8 8 Linux Command Guide This was compiled from man pages random websites reference books and is considered common knowledge of Linux Ipr P Printer file a2ps fin ascii to postscript psnup 2 d fin fout ps file into ps file of 2 pages per page Ipstat cancel cd takes you to the last directory cntrl a jump to beg of line cntrl e end cntrl k delete from current cursor to end cntrl k delete from current word cntrl r cmd line history search history grep In works on any command that returns text grep searches in text files grep i boo filename find boo in filename no matter the case awk tail f logfilename shows last few lines of log files updates less more cat etc f
93. to the experience Besides a comprehensive engineering education many valuable skills were attained The topics varied from UNIX software development to lighting design to managing large projects Often the actors become skeptical about the robots place in theater Whether the robots will become the stars or just another tool to help directors express their ideas they will never replace humans Nonetheless it is hoped that the theater will serve the Cooper Union community as and interdisciplinary crossroad for art architecture and engineering students as well as the general public 97 7 Bibliography l 10 IT 12 Es 14 15 Faver Cheryl Toward a Digital Stage Architecture A Long Term Research Agenda in Digitally Enabled Theater EEE Multimedia October December 2001 Vol 8 No 4 2001 Weiman C F R Wortzel A We1 S Robotic Renaissance Bridging Engineering Art and Science via Web Robotics NSF Award Abstract 9980873 January 2000 The Robotic Renaissance Project Gateway Coalition Cooper Union lt http doc1 cooper edu 8080 gateway robotics site gt April 5 2004 Wortzel Adrianne Endeavors in Robotics and Theater lt http www artnetweb com wortzel robottheater gt February 23 2004 ActivMedia Robotics 2003 lt http robots activmedia com gt March 2004 Cruickshanks James Graphical Robot Action Scripting Platform GRASP for ActivMedia Robots
94. upon a monitor which reveals that they are indeed engaged in mutual surveillance and interchangeable communication Each person may be under the impression that the communication is one way that they are the observer and not the observed But that is not the case 13 3 Statement of Problem 3 1 StudioBlue One of the first art projects completed utilizing one of the new intelligent robots at Cooper Union was COLOR AID by Daniel Arsham for Adrianne Wortzel s Design Illusion and Reality class in the Fall of 2000 14 The theme in the video depicts a young woman s relationship with her partner much more robotic than with a machine The premise of the video focuses on the fact that a young woman finds her relationship with a robot less robotic than her relationship with her partner The robot learns to feel emotions through color while the woman s boyfriend is unable to notice the clearest signs of human emotion During the shooting the robot Pioneer PeopleBot was confined to a small area in the Rapid Prototyping Laboratory at Cooper Union 15 which is congested with loud machinery students and constant street noise along with poor overhead fluorescent lighting The production was done with assistance from James Cole who wrote custom control code for audio file queuing and limited robot motion The artist did not directly control the robot but rather directed the engineer to command it Despite these hurdles the team managed to
95. y TEALOY adAIPSnNPppe adAIPSnNPpe adAIPSnNPpe adAIPSNPPpe adAIPSnNPppe t UISAHTQJ edALbSWDDeE ATHAu edAL5SWppe u HAON JS dA LOSNPpe TeTpuey bsu jyedALbspppe YIM BUTISISTOSI TOF 410329A eseq TeueqsTTbsuw u3 o3 sedA3 ebessou sppe PTOA ITNUOTIONAS INUOTIONAS YU TNUOTIOWNAS SPNTOUTA vooz 8 Aen uo paqutaia ddo TNUOTIONAS O0 I TOoz doayxs q urozeu sbura3a s pue squeuno2og 2 eueue r lt a3aSsv3 D Dbsu gt gt bsu YaITM uorqou PBUTATA gt gt NOD 1 yooTurie 3oqoa 0O tHasVbava3eb bsu peoegqa3oWda3es 310qo4 IHOHGlOH ed 3 gt esTe uorgege eoep Teuorg3e301 Sieg eTqnop THOAdLOY Q IHasVbavy3eb bsu eoov3ou3es 310qo4 G THOOVLOUn 9ed 3 gT este uoTJeTEeTsooe Teuorg3e301 Sieg eTqnop THOOVION ZZ 1 O TGQasvbazy eb bsw Teceqsuerzyljes lt jogos GQ IHOHGSNVHI 9ed 3 gr esTe uorgege eoep s3os e qnop TH4OMHGSNVMIL ZZ 2 0 tdasvbavaeb bsu peoovsueap3es 30qo4 Q1300VSNVHI 9ed 3 grT este uorgeage eooe s3 s eTQqnop THOOVSNVYL 0 taasvbava3eb bsu xeWwTeA30u3es 30qo4 IHALONXVNW 9ed 3 gT este oes bep AQTOOTeA euorge3o4d unurxeu s39s e qnop TMALOMIXVNW 0 tdasvbava3eb bsuyxey 9ASsueai3es 30oqo4 QIHASNVHLIXVW ed 3 gr esTe oes uu 3100T 9A umurxeu s39s e qnop THZASNVMIXVW HOT3OW32ea2rQqaue9eT O 30qo4 Z go z ebea F00Z g ABN uo peaurad ddo TNU
96. z 85 pa3easueegxeeag3ebo aeddra5 Ft 7 ALVLSYAdd1 ud JuSunbazyppe Hsu uDSWu aueunbayppe bsu dGNHS oswu ebessopywds ALVLSYAdd adn ed 3 gr este Onen SOT Z p soT zZ uedo USaMm299 0 b5ra3erpppedaubra2 brag3e ppedager pexewsr ege3seso ouedo lea3eg3sgueegeeadgagoeuur oge3gutegxXeegdgago3gno 1ISdATIB 949 oqe UOTIPUIOJUT SUINIeT HIVIlSHHddlMN9 J amp OTdeqaeddrab aoeddrab6 Qaursvbavageb bEw D 3gSsvDbavgeb bsu APpeESI IT esTe jez04StZeddtszb lt areddtasb Quaursvbavaeb bsu z 0Q uassvbava3oeb bsu 91078S 3JT esTe xooTUn 30q04 09T JO TEH29 dd T 1206 2odd 146 o aursvbavaeb bsu T Q uassvbava3oeb bsu 3T19U 3T tun3az bsueTpueHOLSswoues QUHddIludy ed 3 gT este Z yooTun lt joqor post og USO DUIIJS ZO 30T tert ADEOXIer GxOj3B8eT aArpeugen xy uie teddr1b sToym y setos sdo3s burz3S WHddlNH2 10 3UI MWMddIM9 10 3JUsSunbiyppe bsu ST JasoTOdtab lt asaddTib uLu 3ueunbavppe su QUaursvbavaeb bsu 0Q uassvbava3oeb bsu 990T 9 3T esTe erpped 3yBT1 Z 9 TeA g3T JuSdod Tr ab a2oeddra4b Q Uaursvbava3eb bsu 0O 13Ssvbayaeb bsu uo9do 3T esTe u10u a3ueunbavppe bsu Jdo3sdT1b lt A1DdAATAL Z go z ebea v00Z g Aew uo p qurzd ddo TWaeddrasqs 0 Tr902 doqxseqg uroaeu sbur33es pue sau umooq 2 eueue r Z9U0g9sSTT JO 30 S dAJ S320EIJXO J3PU3 Jeppuegbs
97. za TpueHbsmWqs UO0OJSTLUTSIASTPUPHBSNAS 019Z O3 193UTOA zrTerqrur uu3raob qe epniourj4 uJ UOJSTHuTSreTpuepHhsWqs SPNTOUTE vooz 8 Aen uo peaqurad ddo uoa Tbursz TpueHDsmIkqs 0 ITTOooz doayxs q urozeu sbura3a s pue squeuno2og 2 SueusTIA TTE OF bsu oui pues ZZ pue ojPo4JO OS JI 19U9NISTT ANAS Y ST 919439 JI ees 3snf punoj 3ou ST QT JI sT 293ur d O3 FOWRISIT Ogj Dtrrorezerezen Sr IAx SU S1TI lt IA x att pue lt d i IA urb q lt d IA 197170914 103 eTqerzea duoj edA rn3eb su dlewaipuHbswWN d124108 2198U293STT QeadA1286 su s23STXHSdA DSu FT 103094 249 UT 3uouo 9o U po DITJ pue 10329A oya 396 deu ou ur ebessau jo odA3 an purgj su 9 obessoywqdSs asuoo bsweargj uoqe oursaeo qpueHuosydS PTOA 1 pua lt A uzn3 z ae oa IT Ze zz z3dbsu T 4 J31 if T 2 pua lt A T Uurb8eq A T 1921309914 U0J9TPBUTSISTPULHDSHAS 103 FF d pou3 u p O 1 a3gbsu pue A urbeq A purj pas uan3ea A AO pez3utod 1030894 ou ur peuTe QUOD ZZ 134 6suw o3 enbe 3ueue eo 3SIIJ ey SDUTI A4 1x3gbsu y AUS ASTTOSWAS 4ATAGIOSATSUSYASTT PUT 410790914 010I93TPDUTSI9TPUPHODSHNAS 19313294 103I93TBUTSIS9TPUPHDSHAS Zen uan3jea 3STe3 uan3ax 0puedewaIpuHbSsWw 3 purj dew21puHbSW FT 3suoo q 3 OUTIJS asuoo sisrixyed jbsu duoj3jo bursaqe pueubsywds Tooq funu uaznjeza 1 azTs lt puodas lt d
98. 0 WWHYLS MOOS LHNI 4V a3exoos qaAu 99 401 ed 3 gt snzq UAN eZ qqbue u du ppe s Ippe u du dooq 1 110dM9P1019N013S0Y 110d urs urs Au LENI 4V TTuezj urs urg Au sT 1 8ST93 uzn3a z Gppe urs urs u IS0Y IPPVISOU 3T ursAu goezrs UTSAU 39 019ZQ 8STP3 uan3ea appe ur goezrs 0 Ippe 53 a3esuseu 1 aweuA q3s0y180 10119d IS0YTRooT sou asoypueuAq3so0y39b du 3T d 8STP3 uan3ea dy y 3us31s0y 3onaas eoueuj3sou3eb agoaaed Cam XISTIOXTIHG W appe s Ippe ur qonzqas SOU y aeuo asuoo ippV4Ssou 3exoosSqs TOO 4QsouTeooT z4sao0aagAu SOU BS zeOOT OF 8un re4 13IS101134U Hsoypequog 1011 H34u 4 g uanjeza 33nq s buraa3s QasouTeooT go zrs 4sou eoo eueu3sou39e5 g3r DB6urz3s Mou P qe rzo z 2 33ngq appvur VOLUT Jsouj FT 001 3jnq zeyo ssozppe eorieunu burz3s o3ur Ippe 349AUO L Zo ebeg vOO0Z g Aew uo peaurad ddo 43exy2osds 0 rr92o0a do4axseg uroaeu sbur4j43es pue sau umooq 2 SueusTTA 8STP3 uznqa rx eoueua3sou3eb 2uoaaoed wISOUTPOOT e3e2o0T Of eun re4 IJSIOIIJ WU sou eoop gyoezrs Asou eoo eueu3jsou395 3r i9eTeueNasoHxeu ijsou eoo azeuo Q10411898 JUTAIOJPITPLAPuti J900Sqs TOOQ 8ST83 uzn3a z esto en13 uzana zxz JeweNYOOS 395 Ft f9dAq adA Au 1 8STP3 uazna3ea 1391008 10119d 193908 qd exeu Of ean reg 1IS1O011
99. 08 38U05 22 oTTgqnd 198U9Sd21sTTIPSHKAS orrdnd TNAISAATIDAS SSPTO ouoN bnqg TeTpuey oui 02 xoeq sobessou o4Ij OF ade puegojbswpues u3 esn ued nox o3oug ueppueugorjbspwpues adoueg3sriTqb6swqs S 19SUSISTI SHAS s sn buruaeAj POO uo4eW e3 epg buradeeurbusg eorueugoow uorun 43edoo rxyor eg UTOTPN 10Y2 nep 939 xe amp u3gji eso o uedo Ioddr1b6 243 JO 93838 oui suanjgea pue suze aioddr4b FFTT ey s oa3uoo 3I 3uosoud Jr 30gejdoeq soueuioz194 1oddr1b oui spoaq3guoo qwaeddriag59qs SuOI3oung aoddr4s5j sabeuey FER ETE V L ae TEF Z ZZ Lee ois eoedseuru Duren lt BuTtaas gt epn yourg YU PTI SPNTOUTE ud ebessewds SPNTOUTA YU 19U9ISTTO SNAS y SPNTOUTA H INI1ISAATIDAS SUTISPAH H TINISAdTIDAS jepugjr4 vooz 8 Aen uo peaqurad u IWaieddrasqs epniour Q rirooa doa3xseg uroaeu sbur4j43eg pue sau umooq O ourmueTr Q aursvbavaeb bsu T 0Q uassvbava3eb bsu dO3S 3T Lu du ed 3 gt esTe posn eq upo DUIIj S 10 JUT aey Te esoTo 7 tusdo 7 do38s 0 1eddr4b eua suedo pue sesoTo bura3S dIMD 10 3UI dIMDO 1 JUMOq3j T T 1 odd 1 4b 0O uursvbavaeb bsu E 0 213ssvbavaqeb bsu UMODp gT esTe Hnag T T 19dd 145 0oQaursvbavaeb bsu z 0 13ssvbava3eb bsu dn gT esTe dos 31ITT lt TISddTAb 0 urIsvb1y1a6 bsu gu issvbivisb bsu 0d018 y IT ld EELER pesn eo DUTIJS TO JUT 1949378 u wop gcz dn doj3s
100. 1 13s sso uanqez weeT IS o3ur e qnop 31s9sut p gt gt PJUOTSTOSAd Ss gt gt sso t wa TIS SSO p e1qnop bura3goa3 INS189S9S PUTAS 3STe83 uanjea wooTun lt 3oqoa d Zen uaznjeza 2 g ooTun 30qo4 pe39euuopsr 30qo4 gT 1 J DO0OT lt 4O0qO0I 3ST83 uan3ax TTAN LO8OHHS4 3OQOHpUTJ eTI4V 30qo4 gr Joni uanjez uey3 pez3osuuoo SJT pue seop 3T JT S3SIXO 20901 942 JT yo9uo9 PTOA JOGQOYAOFAOSYO IN9SIPISAS TOOQ pojoouuoo ST Jr JI Pue si8TxS 3090 Suj Jo SIUBISUT UP II SXOouJg Sqzqaeaqasbsu ej3eIep PTOA TW939 3SdS IW93 31SqdS uHLVIS Jo dALOSNPPe TeTpuey Dew U31A burdgo3srbe4 TOF 410398A eseq 198us3sTrTbsu ey o3 sedA3 obessau sppe ebessowdS Meu qaea3asbsu PTOA TIW9319 1SqdS IN9e3e3SdS drueuor epn ourg uu IN9eQ3 3S8dS SPATOUTE vooz 8 Aen uo peaqurad ddo TWe43ei3sds 0 rr99a doqaxseqg uroaeu sbur433eg pue squeunooqg 2 eueue r4 sen eA uru pue xeu pooh aney jou seop 30q01 ey 3843 3no suzn3 HOLONW 3ueunbavppe eqe3sbsu i92030u 0 13sSsvbav3eb bsu gr esTe NO I 440 0 Ss1030U y JO 973898 eu3 pues Sio30U HlVlS e3e3sbsu poTpueyolbspwpuses Z i9d0TUN lt I0OI 0 7UsSunbiyppe lt 1e723bsu sT uLu ueunbayppe c ea3e3s5su QQoauobbralIuIbursuese deriaubPrHsT 30qo43 3T u0u aueunbavppe c ea3easbsu ST E EE Eer QeaebbralurIbursuesge qer3jeT1Sr 30q04 3T
101. 12 Different Lights and Chromakey screen on a track It is imperative that the blue background is lit as evenly as possible Huy Truong suggested and installed extra lights see lighting section and filters to achieve uniform lighting effect Assuming that the cinderblock wall painted a matt blue paint was sufficient for future Chromakeying the room was painted except the ceiling to function as a background 26 L as gas Ber Bui ze PRESE ia EXIT COMPUTER h LG LE TT e OE NEW WALL 52713224 STRUCTURAL BEAM IN ACOUSTIC LAB data CEILING BLUESCREEN TRACK A SPOTLIGHT x HOOK LOCATION il HANGING TRUSS DA HCH lg Figure 4 13 Truss location Turned out that that was not the case and a smoother and more maintainable surface was desired With the help of James Cruickshanks and Chris Simon as a part of Yoongeu Kim and Mohammed Yusuf s senior project 34 a professional blue screen curtain along with a rack system was purchased and installed The 10 x 24 sheet fabric background made by WESTCOTT was mounted on seven 10 rail tracks that were mounted along the perimeter of the performance space 17 4 x 15 3 The rails required bending to round the corner of the room A soft bend 36 radius in the corner decreases the difficulties in evenly lighting corners and removing the corner seem essential for successful Chromakey effect The track is made by Flex I Tracks and is 13 gauge e
102. 2 44 An IBM ThinkPad laptop is used for remote development and control Last addition was a Mac G3 functions as a video editing station Most of these machines are typically used for software development and testing however during performances they may take on another role 4 4 6 1 Video Encoder One of the Dell stations has two ViewCast Ospray 200 PCI capture cards for video and audio capture exhibiting 30 fps performance for uncompressed video The machine can encode the Audio Video stream and send it out to a streaming server or create digital archive 4 4 6 2 Video Tracking One of the more powerful Desktops can be used for robot localization 1f image based navigation system is used otherwise it can be setup to control AmigoBots or used for general software development 4 4 6 3 Robot Control Web Server The third high end Machine is reserved for robot control applications such as GRASP and or a Web or Media Server Web server function typically does not require much processing power unless high traffic 1s expected 4 4 6 4 AmigoBot Control Linux Interface An older DELL 1 GHz machine is running Linux operating system Redhat 7 2 and is used for robot maintenance and operating the required robot side applications This is favorable over Microsoft Windows OS due to issues arising with exporting X Windows 35 to non UNIX environment This machine also has two 2 port PCI Serial Accelerator I O cards made by StartTech whic
103. 2 JI JT WOIj Iezurod ie nor31ed sey eAoue4 pue edA3 Aay qjr4 poj9rooSsP 03094 149 396 S900 AT II wey S358Ixo Od Aj ei II 199149 G qada3a3srT6su y Tue Ast TOswaqs 15 HuTtAAs ISUODA93U9SISTTSAQUIT UOFJSTOUTSISTPUPHPSHAS PTOA aG3adasrqT6su xyoeq usnd 3 dewa21puHbOsWw Opue 3dewzrpuHPSW GadasrTb5su 3 deWma2T1PUHDSW DUTJ42O329A gT sT OOIA3 euo Wes au 193s1b91 oi QUEM j UOQq 4d1983Uurod adeue3srTbsWqs ppe jou JI systxa peo1Te TaqyuTod 947 JT ees oj quodees pue SdA9 Aex o3 DurpuodsorzgOoO 103094 23 job of SEI SdA3 1141STTO6SU IDeE usnd a3 jdewaTpUuHbSW amp 49uoj3sTT56SWdS gt 107024 Meu 2 HeWITDUHDSIW ST O3 ett 543 ppe pue Asay 7847 TOF 1073094 Mau P 932910 jSIXO US90P 3 3srxuedArbsu gr IA x 3 1144 pu s d q ALA urb q s d q 114 103 103298A 949 O3 92991931 13 DUTIS ATA 1030921931 DUTIIS gt 10399A JsadA1PsnN186 lt 1214ISTTOSU sod 4 lt PUTIJS gt 107094 sjsrXo ed j bsu ey JI 192949 384 31343 JOU ST JT yr 19USFSTT Sys ppe Jent esrAregyg3o JI O3 19U9I3STT STY pp pue 103094 Mou p 2389109 OU JI peade3srbeag peead e st edA3 au JT xoeuo 103094 edA3 198us3stT oui ur edA3 y re 10 G3adasrq6su za2eueasrq6swas reueasrqppe uoqe burgae puenubswqdS PTOA aaaasrT6su xoeq usnd a3 dewal1puHOSW Opue 3l ewzrpuHbSW G3dasrq56su 3 deW2IPUHDSW DUTAJ3O329A gT sT OOIAj ouo oues
104. 3 FIGURE 4 34 VERTICAL INTERVAL VIDEO SWITCHER 44 FIGURE 4 35 COMPUTERS cm 44 FIGURE 5 1 PLAYER MESSAGE SYNTAX l6 52 FIGURE 5 2 ARROBOT THE MAIN CONTROL CLASS FOR ARIA 42 55 FIGURE 53 COMPONENT DIACRA EE 62 FIGURE 5 4 MAIN LOGIC FLOW CHART A 65 Xl FIGURE 5 5 MESSAGE SYSTEM ANALOCN nennen nnne sena rn aa nnns esas rennes snas 66 FIGURE 5 6 MESSAGE PROTOTYPE 00 eive dtu ee ea rtu Eed 66 FIGURE 5 7 MESSAGE SYNTAX EE 67 FIGURE 5 8 ARACTION INHERITANCE DIAGRANM 68 FIGURE 5 9 ARTHREAD ARASYNCTASK INHERITANCE DIAGRAM 68 FIGURE 5 10 SBMSGLISTENER INHERITANCE DIAGRAM 69 FIGURE 5 11 SAMPLE MESSAGE FORMAT S 76 FIGURE 5 12 FLEXIBLE TEST APPLICATION SCREENSHOT ecce eene hene ee ree e enis 90 FIGURE 5 13 NAVIGATION APPLICATION SUGGESTION MOCK UP 9 XII 1 Introduction Considering that theater has been evolving for 2 500 years robotics in theatrical environments have been used long before the word robot existed The Gr
105. 3 1 Er E E 87 5 13 2 Operaio osos HON ee M Md UM 88 Vil S14 Java GUE Feste Ae 89 5 14 1 Sample Jaya t l uu ay TT TR 89 5 14 2 Mouse Based Navigation Inter Idee uci in ee ERR CH m HH EM 90 5 14 3 Sugbested Navigation Eege 9 CONCLUSIONS sanas 92 6 1 SEO 92 OLI S5 bpeested IMPLO YEMAS eege 93 6 2 RCE i ndr died dt rea di D ened 94 62 Sussesicedilinprovementtu uuu uuu uu uuu a u kauki Qui a is 96 6 3 REMITE one RUD 97 7 BIBLIOGRAPA EE 98 o APPENDIX insti 102 8 1 Contents or Included CD BE 102 8 2 IA A O 103 8 3 INSE CADSIEACL O O ON 107 8 4 StudioBlue Erd uereg geesde 108 Sw 3BhzidRedux Velso EE 108 Sb Ee RODOS ia 108 8 5 Request for Service Wall Electrical eee ecce ua su 109 8 6 Chromakeyer TBC 6000 User Guide 113 8 7 Lighting Tips For Chromakey Video or Photoeraphy 115 8 8 Linux Command G idleuu uu ee ee 116 8 9 Robot Issues and How to Correct Them 120 8 10 Aria Saphira Botspeak Installation Instructions 121 m WEM risiede ccr cc suu uuu massa 123 5 12 X T4 Compilation Mak TE 124 S13 RCCLEDocunment4tlia ote teo A AI O E 127 614 RECESQUECE TT 225 8 15 Test Application Source Code Java
106. 3 sr ebessou yoeg 3 n9egop aegoeagequgo enbrun buradeeurbux eorueuoow uorufj raedoog e Aq pegiur op OUTIS po33euioj e bursn pogjeo4go oq OSTE ued sobessanas 3ueunbayppe se yons suorjgoung bursn poAoue4 pue poppe oq ued SbUur43jS s3ueunb1e od j y burwo o4 uoge bursage pueubswqs ur burssoooud 103 sobessou y sqzos 43uoagouUur uOIUM HdAL AG peziadgojoeaeuo ST obessou yoe 30euioj burags pezruebio ue ur uorgeudogjur obessou sazoqs sse o obessowqs Suorgeorunuuoo TOF pesn sse o s1n30n198s obessop ILL Ee E IEF PLE FER PL ELE ILL eae Ug ZZ fh ELE ois eoedseuru Duren lt We9178S gt SPNTOUTH lt LO O SZ SPELL SU Lak lt buTtiq4s gt SPNTOUTH Y ebessowdqs surj pti Y ebessowaqs JOPUITE vooz g8 Aew uo peaurad u ebessewds epniour Q rr202 doaxseg uroaeu sbura33es pue squeunooqg 2 ourmueTr amp adue sj eTruM paiearurTreqass peg3eduoo 3ou sr ebessoeu ey 9e IUuM sqjuewnbie ppe p 9 Hbutazq4s ysuod 24S 5 buts qasuoo ebeoess mqs SPPSSINAS III p putgz s Q eseae s p purg s o uasqns s ed AI3es r 1339Absu quoeunbavppe ST T ezrs a330AbsU gt T I T qur padubtTsUun 10j3 st 3T 988 pus JOJIUTTODp O3 dn DUIIJS ISTTF SY Dur JeNL 0 1339Ab5su ed Ara3es an13 uanjea A3dus 130A0SU 3T s jadA118s PZTSI1IJOATUT SZTS91 1IDAP18 SOIe2 JoJ Seords SIPDOTIS sodu s p purj s gT esTe 10 sbavgounu pun
107. 3GAU 0 gt 0 fWVHOG MOOS LANI 4AW 194D008 qa4Au 3 4AN edA3 3T este eSTezF una 1 1291008 10119d PODOS OL exeu Of SINTTPA 1IS1011H3GAU 0 gt 0 WWHYLS MOOS LANI av aeyoos qaAu 95 dOL ed A3 g3t edAq adA 1 818910 yayoosqs TOO eonz3 UANWeZ 8STP3 uana3ea Usa73sTT 10119d 4 Q9x90s uo USASTT O43 euan re4 192S101134U 0 gt S qa Au u qasrTT 99 dOL 9dA3 gT 8STP3 una 12199008 10119d IS0yTeD0T 13910113 4u asod Zammer 49OUT OOT I3JUIJdS we 330d O4 192908 PUTA Of ean re4 132S1011H34Uu 0 gt ursAu goezrs urs u s yx IPpeyoos 39n13S qaAu purq 191 31 110dM9P1019N012S0Y Jod UTS UTSAUW ANY wIGGVNI Tuoqu appe s zppe urs urs Au LANI av ATtwezy UTS UTS UN 8STP3 uan3ea appe urs urgAu sou eoor 1ppva3souij g3rT ursAu goezrs UTSAU s oagoezq 8STP3 Ginet eoueua3sou3eb 2uoaaod ZLSOUTRBOOT e3e20T Of eun re4 33S920aayAu T QGsoureoop goezrs sou eoo eueuj3sou3eb gr fadAq adA Au 8STP3 uana3ea 17294008 10119d 199908 an exeu oq SI1NTTO Jua 13IS101134Uu 0 gt 0 fWVHOG MOOS LANI 4W 194008 qa4Au 3 4AN edA3 3T este eSTez uan3ea 1291008 10119d PODOS OL exeu oq eun re94 1IS10113GAU 0 0 fAVHHLS MOOS LANI 4V 19X008 qqAw 95 dOL edA3 gt ieTeueNasoHxeu ijsouT eoo Ze 1793 QUT
108. 3e pe3epdn 386 3ou seop burpeeu s e4drudes uosee4 ouos 103 2 HOT3O0WA32eSu2rQqage9eT 30qo4 burgeAr3oe uozg ezairudesg JO uorje3ueue dur uorjoe eudo9Q3UT 3uoAe4dd TIAM spueuuoo uorj3ou 3joeaurp snorAe4dd Ssrazou3o peaurnbeg ST styq 10109 9d 3 gt 2339T ey3 o3 bep oe pue peeue 3ubrez3S ST X sogeurp4gooo x saqdeooe ooueprioAe 3n0y9TM 890b oui oq seob pue suzna 3snf eiqnop erpqnopl lOIO2 1 1D0T lt 1001 JeodA TL39b bsu sdAq pew Jo ed A3 yooyo d umn zor CHLOHNNOOSIG DSW GNSS ReTPueHOLOswpuses Tpua gt gt u TNertydesgqs pueumoo att JOU TTIM gt gt 4 pej3oeuuoo qou ST AO jsrxe j useop joqoH gt gt MOD 0390qoua04399u9j 3T 387T pejosuuoo Sq o3 Sey Osu 9 obessowdS qasuoo 1rjJ TWeaztydesgqs proA 3ST83 uanjea 2 yggooTuri 3oqoa Zen uan3ea SO TUN lt OQ JITUT peiruri g3t ipeaoeuuojpsr 30qod gT 2 1DOT lt 1001 3ST83 uan3ax TTAN uLOGONdSy FOQOUPUTT e Iy JOGO FT Cent uznjer uey3 pejgoouuoo SIT pue Soop Sr IT BS3EIXOe jOoqgor Sei 31 xoceuo PTOA JOOYIO4ADSYO MWeartydesgqs Tooq pe3joeuuoo ST JT JI pue Sjsrxeo 30q01 9429 FO eouejsur ue JI SID9UD OIne1tydesqs zIWearudesqs udOLS y edALbswppe MOGNIMOLOD edALOswppe oouejsrp eso o s3deooe oeuoq3eso30b SO TOILNSOLOO9 9dAILb5SWPDe oouejsrp eso o s3deooe oeuoq3eso30ob HNOGLESOLOD edALOsWppe oouejsrp suop
109. 3oe IXJUODIOGOI PTOA 3ST83 uanjea Zen uaznjeza T Tnu uuoo eso o uuoo f au Br nu AMO Jpueuuoopu s TTnu i uuoo FT T 0U I0ISSUUDS 39euuooSs rp ueeTooq esTeg uanjeza g euagogjaoequor3oe 3xIuoo3oqod eejdepe pe3oeuuoo Apeea Vv u auragd 4no uejs g JUSAJHUOTIDYP9UIOJIS9JUOTIOP PTOA orTqnd sT fsoqdepe sa qdepe styy es e3g uanjea eeadepe euegriod43uojgesnogPadepyvuor4oe 73x u0o310q01 eueg od3uojesnow TTmu uuoo i19A 42498 oq 39euuoj 3 u 5 uTpaurad 4no uejs g ooa3depe poeuegqToa3uojesnow poeaxoeaqgaurad xoe 3zguo asrTuorqov 3au A 3Me eAe SqueureTdur xo uorj4deoxu uo3eo 19Idepyuor3oe 3xjuoo3oqoa eueg od43uojgesnow ssero es e3jg uaznjea 1 uOradexqgq3euagog44oequnN upaurad 4no ueas g poezlyoeasqutad xe xeuoradeoxqyqeuauo44goqunN uo3eo ad 3 3895 os e ueo 1 obessan1ab 2 INES a UT3UTId LEE OCT A e uuo2 d03oeuuo MSU i10Ojoeuuo2 esTe Juedo uuoo STU3MeueasrToebessowppe uuoo axerj3ebaxipiaagodAaes aujesaed a2ebo3u UN ebessoew3eb o puedde xogbsu 3XOL 786 4X LPPpVAZSsS MOT AOSUUODAOGoY Meu uuoo este Ax3 UN ebessoew3eb o 3xela3es xogbsu 935euuojosr uuoo TTnu uuod JT G lt JaunopeurTq3eb xogbsu gr ONIIOHNNOO UTIAUIA2d 3nO uejis Sg aoco suuoo ueeTooq ONINWOONI 9 ed r3e5 9 gr ano puse ur q3utad eurj pue ed 43 eym 103 3897
110. 3ow 39eaiq buruaeag FOOZ U9IEN IPD butzesuTbuy eorueqoew uorug 1edo0 rxor eg UTOJN 10Yy2NEeYD JUOTAPTOAYUOTIO VIV se yons suor3oung BuT3TuWTT uor3qoe YATM UOTIPUTQUOO UT pesn q OF 978707 pue aAou queqsuod AQTOOTeA sdeex szodung s1sdunguoT21DYIVY uoT30e Zedunq SPTSPTOAP JUOTAPTOAYUOTIODVIV proAe apts AUOT APTOAP JUOTAPTOAYUOTIO VIV proAe JUOZZ 3A0U SAOWMUOT IOVS Jo suorjoung zreTndod oui eurquoo o7 Zeen y MOTTE YOTYM o3e93oWNuor3ovqs pue eaAoWuor3o2vqs eu3 eade suorjoe Jue ITOdWT e4dou 9y uor3ezrTrTerqrur 11949 sobeueu pue suorjoe Torquoo o3 serdonb zo sue3sr TWUOI3OVQS IJOIAPuOq 30qox Tozquoo pue eurquoo 23849 suorjoe qs woz3sno pue eTIy Sobeuew WOTIOe SAON UOIJOP UON 9318201 9329e20yUOTADVYAS UOIjO o393o4 BIZ UON ois eoedseureu Duren lt bBUTIIS gt epn our4g 10106 oaosuoraqaovqs UOTIOe o30b BIZ UON odAq buraa3s od 3 obessou PTOA 3IUI PTOA AU eTJ1V SPOTOUTE nY SAONUOTIOVAS y SPATOUTA nY 0J09U0TIDVYAS y epn our BA qaeaowuorqaovqs PSPNATOUTH uu ebesseyds SPNTOUTH uu aeueasrTqbswdS epniourd SUOTIOR oul 9eZI E8IJIUI 1 proa 1oqouao4xoeuo Tooq poj3oouuoo sr pue s387Txe Joqor ei JI Syoouo JOOST y JOqOYIY Jo3urod 30q01 eUJ493UI u INUOTIOVAS eurgep4 u INUOTIOVAS JSPUJTH vooz 8 Aen uo paqutaia UY IWuorqaovqs pnTour 0 TTooS 1 doa ss q urozeu sbura3a s pue sau
111. 3ueunbavppe o3e1s6s I9AaubPTu39b 340qoa bura39Sg0o3 3ueunbayvppe o3e3sbs L9A339 1399 30qoa 6ur238S03 3ueunbavppe o3 e1s5s I9A30Wu39b 30qoag burag3Ss03 aueunbayvppe o3939Sb5s L9A390 30qoa 6urag38903 3ueunbavppe o3e1s6s ur3eb 30qoa burag3Ssoa3 aueunbayvppe o39319b5s A39b 340qoa bura3Sgoa3 aueunbayvyppe oqe3sbs X39b 30qoa bura3sgoa3 aueunbayvppe oqe3sbs Ww1OJ dxo se q s3utad ueezj3ss esnedeq 3ur ue OJUT e qnop ou 38e9 2 1D0T lt 10q01 u 1LVIS 3ueunbavppe e3ae3sbsu uu 0 u3ssvbava3eb bsu gr 9be13TOA T9AT99UuMaUubrM T9AT99UM3J9T T9A30M A3120 9A DUTp 9Uu A X UI UI UI UI UI UI UI UI UOTIPUIOJUT TeEITA no pues s3uounbie ou sey obessou ou3 JT ALVLIS u HLVIS 9ed 3 gT AT Zenn spureumoo IO aequnu sey J I8A ZIPA INIVIS Op O3 3eYymM eu 93 prnoys edAI ey ebessou ey esred jedAzpjasb bsu sdAq OSW JUSUNbryppe lt ejeyshsu QN3S edALaes eae3sbsu zeaTO lt 972e1Sbsu Jno ques eq o3 ebesseu ou e4dede4d go T bea uanjea I C SELOENNOOSIC SSW GNSS ze TPueHOLosppues Ipue gt a IM93e3SdsS pusunoo Satz JOU TTIM a gt gt jj PS SHUI OU St AQ 4 LX 31 USS OP 190d0Yj gt gt 20D JIOFOYIOAADSYO FT 3S1IT pej3oeuuoo aq OF sey TPUS gt gt i3Ssva3eb 6su gt gt bsu YITM HIVIS bUIJIJ gt gt NOD bsu s ebessowdS ISUOD S9I1TIT WWE WeAsSdS PTOA
112. 43S TTM puoes dGNHS dAL Jes oTdwexybsu 3UuoAe9 NMS P Soit YOTYM QNHS P se edA3 Dau y 298 Jieo o e Qdurex 4b su 3IdWVX3H ed rl3eb bsu gr BonTeA 9727S 3001 suos y9TM TeTpuey oui OF xoeq H IdWvX4 pues TIM W IdWVXH uorg3oung e3geraudoaddde att pue U2IM pogeroosse sem J1oUO3SI oui 3e9u3 bsu jo edAQ oui 3893 4OU uanjea KIIqu12uNNOOSIGISSWIGNSS MerpueHolbswpues pue gt gt u CINerduexHiqg pueuuoo 94313 JOU TITM au gt gt u P9ojo2ouUuOO JOU ST AO jSIXO 4 USSOP jOQqOMH gt gt 109 JIOFOYIOJADSYO 3T I JO T ebeg 3SIT p qo uuoo aq oj Ssey Tpue gt gt i3qSsv3 D D5su gt gt PSU UYITM etTduexy PUTATA gt gt NOD bsu 9 obessoywds 3suoo e421j TINSTAUWEXHAS proA uorqounj edrj TeTpuey eua sr SIU3 13s sso uanqez page SE STONES SUS UIDJOI ueoljs o3ur e qnop 31esut fP gt gt sso 41188850 p e1qnop burz3goa3 INSTAWEXHAS HBUTIIS buraijs e OF e qnop e jd98AUOO es e3jg uanjea 1 Jg poTun 30oqoa espej udnje4 pue 30qo1 ey xoo un os pojoeuuoo jou aTe 9A4 Zen u1n39a1 1 i90TUN lt I0OI uor3oung 3rnb pue xoo un pe3osuuoo aTe m JI p9359UUO ST 3OqOZ FT 4 y3oo0T joOdqoa lr OTT Sep Jeb UPS o es 30q01 943 Xoo JOIIe FO eosneooq uorz3ounz sry2 3inb f esTeg uzn3 z TION 1OHOUudS 3OqOuHpUTJg eT4V 10001 FF tena ti e ULI pe3oeuuoo s3T pue sak JT S3SIXO LOHOMGS 20qo42 ey J
113. 7 ELECTRIC LAYOUT OF THE LAB 30 FIGURE 4 18 TRIANGLE TRUSS SYSTEM 31 FIGURE 4 19 TRUSS MOUNTING ANCHORS AND CHAINS 3 FIGURE 4 20 TURNTABLE FABRICATION e ee hee ee tesen eek esee tesee uses esee eee te sense sene 32 FIGURE 4 21 TURNTABLE DESIGN DALL 33 FIGURE 422 GREEN TURNTABLE EE 33 FIGURE 4 23 TBC 6000 CHROMAKENER I eene ene emen hne nenne hes ee ese eset estes eese senis 34 FIGURE 4 24 SONY CTV CGAMBRA EE 35 FIGURE 4 25 PANASONIC MINIDV CAMERA 36 FIGURE 4 26 CANON GLI AND CARRYING CAS 37 FIGURE 4 27 3 FRESNEL SPOT LIGAT WITH FILTER 38 FIGURE 4 28 LIGHTING CONTROL CONSOLE DIMMER PACK 38 FIGURE 4 29 FLUORESCENT LAMPS WITH FILTERS 39 FIGURE 4 30 LIGHTING ACCESSORIES EE 40 FIGURE 4 31 SAMPLE LAYOUT OF LIGHTS eene hhenn then teens ese seese sese sese st ese tes ee te ena tie 41 FIGURE 4 32 AUDIO MIXER SHURE WIRELESS RECEIVER AND TRANSMITTER ce 42 FIGURE 4 33 HIGH RESOLUTION JVC 13 COLOR VIDEO MONITORS eene 4
114. 8 Aen uo paqutid LaiebeueWwdqs 0 rIrooa doaxseg uroaeu sbur43eg pue squaumoog eueueT r4 jtpuej Eer lt DUTI3S gt xOj99A PUY 9117 burqugeuos zo AGITO ue Aq peoerdez eq o3 poeeu eu pue MOTS ST STUI GGZ 9ZTS1JOATUT UT or3ae3s 3suoo JT 103 eoeds burjeoo e Aq 1707234 oui JO peeds oui eaoa4dur TTT 38 49 Szrs I JO T ebeg isbivjounu UT obessow eru JO 31ed ore Jey sq3ueunbie Jo 1ISqunu odAq burajs obessou sty JO ed 3 ue4seur3j putas putras due3sout3 4 eqrurT ep PUTIJS obessou 3uoag4no ey TOF 4931IUITO9p i4suoo PUTIAS ISQUNANST TOOQ Jequnu e sr bUIJ3S ay JI 3892 due73sautT 1398 proA UOTIP91D91 IO UOTIPAaTIO JO DUTA ey SI198 pa3o09301d p aTqnop buTAASOLAUOD PUTIJS 013e3s burijs o3 eTqnop s3xenuoo 3ey39 uvor3ounz azSsdjTey T qur PUTIISOLAUOS PUTIIS DTIBAS Sura3aes o3 1oba3ur s3enuos 3ey43 uorz3ounz TedTey 3SUO0D T QuT zqssybayqeb PUTAS burijs e se qusunbi1e ue suln391 3suoo r aur rtdasvbava3eb eTqnop arqnop e se queunbie ue suinjo4 4suoo r aur iursvoava3eb qur T9b973UT ue se juewnbze ue sudinje4 4suoo PTOA 1ISSYI19B PUTAS SI9S9TUTTOSP sepnjour bur13s e se obessou y suinjo4 SPB1YIOQUNU uan3ea 3suoo proA sbayjounN3eb qur obessow ur squewnbze Jo Tequnu s39b fduejsgoeur4j uznqez 3suoo proA due4sgeurli3eb butaqs durejseurj suainje4 ZedA uzn3 z 3suoo proA ed rnj3eb
115. Ar bspyw39b lt Hbutazq4s gt 107309 sod 3 ebessou jo 10328A OF Zeiutod ay uangjgeag O3 USISTT OF SQUEM 1DUDISTI STQU3 2849 sebessou Jo sodA3 bureqguoo 4103298A eu O3 Te UTOd e suuznjge4g jaeusastTOswqs 1o3onaz3soq iaus21sTTOSNAS XO30oni18Uu05 orrqnd 19U9ISTTOSNAS SSPTO ouoN bnqg SioQurod jo A e11e ue 9399192 10 ZaipI Sru343 obueuo oq oru eq prnom Iorpueu euo uey o4dou U3IA Jog3srbog j Uue2 I98U9ISTT au 9194 SISTXS 193UTOA TeTpuey oui 2UTS ogoupjg POO uo4ew e3e9pg buraieoeurbuyg eorueuoow uoruf iedooo IXOr eg uroaew azoujneg ue13boaud sty ur adeo pueu obessou ouo u3IAM Teqystbezr ATuo upo qr eoueg3sug3oeb uoge bursgae qpuegbspqsg reTpuey ou3 OF 193UuTOA ay VETA aeppuegorjbspwpues ao pueu oui o3 xyoeq sobessou pues UPD TOUSISTTOSW 249 eours u3rA p z 3sr6 rx oq oj SUP I U JSTI ey 22142 s d I U JSTT oul saezoqs qr Agr euorj3oung burbessou soprAoad sse o STYL SosseP O 308e198q8 ere Zoo ou3 10 uorjgoung Ten21TA eand oui a3ueue dur jsnu sseTo 308198qY 9842 uoij poAI4Jop s sseTO SSPTO goe4djsqe ue podoprsuoo ST 98113 uorz3ounz TENITA eand euo jseo 38 surejuoo 228142 Sse o v Sod 3 SSPTO 3091988 oj sooue4dogjo4g pue saogurod osn ued no d4oAowou odA3 sse o 30e138sqe ue jo 3oe qo ue qe zO 3ouueo nog Uuo3s s burbessou oui TOF SsSe O jOe43SqV PP fh HY prr gif d FER L P3 PLE eae ZZ ZZ fh fh V
116. ArgumentMap std string myName std string myDescription The documentation for this class was generated from the following files e SbActionRotate h e SbActionRotate cpp 23 SbCameraSONYML Class Reference SbCameraSONYML include lt SbCameraSONYML h gt Inheritance diagram for SboCameraSON Y ML Detailed Description Manages Sony EVI D30 PTZ Pan Tilt Zoom camera This class controls functions of the camera attached to the serial port on the robot It controls all the functions available for the camera Pan Tilt Zoom etc Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Todo Would be nice to figure out how to test which type of camera is connected to this robot and then create the appropriate control class Bug None Definition at line 24 of file SoCameraSON YML h Public Member Functions e SbCameraSONYML void Constructor e SbCameraSONYML void Destructor e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back t
117. Bururuz q3 p TIOJ Sssoooaud e sr buruue d Up JUSTPLID BSOTAPAQII TaooTzge pue IOSPTOOTIE OOTJIE S3S40U 3r se deu e qQ31A4 p z q3sr6 rx 30901 ayy dosy 09 UOTIPZTTEDOT AOXAEW UTM posn AT eord 3 sr epnpou quetperb oui dew prtom e ur burAou pue suged buruue d 1043 000 SONI ebr qouoy pougeu 43uerpeab oui uo paseq TeuueTd u3ed eurj e9e4 e sey e1tydes sdeu priom pue saToe3sqo TeooT UO peseq JUSeWeAOW jU9SIIOIJj9 104 ert Add P1TYdAdES uo4j 3d498XM y A3T4T308 UP ST pe1g3s e1tydes worz eqo b e uor3oypea59eu3 PATIOVYSIPPIDIS 2 Teopodse spueuuoo 39470 Z lt peeds qur peedsuoeoadddy eur439Spe45gs Droa YOTYM qur uoeoaddy eurjos pe4i5js PTOA SABMTE Z ogeradoaudde usyMm T o dn xovg UvO wor jor pez oua JI 299 PTOA xoegue243oe5pezg59js qur shkemTe Z ogeradoadde usym ou 0 dn yoeq ued uorgoe perb ey JT S392 yoequed ur xoeque 4espez259gs XOegU82299p942J7S 314 U21A dn xoeq o3 pamoTTE Sr Jr sins eye yarq JO pesa3sur una qr 3e oq pepeou snrper urn oui 299 PTOA snripeNduanp492pe94257js O8gUue 39egpe497s U3IM yoeq 3I exyeu xoeq jo pes73sur una 31 397 07 pepesu sntpe1 una au s3eg SNTPEYUING AUT B IDENUIDIJOSDEIOIS PTOA x Zen pejrur suop asoT92JPuog19aSpPeI15oJ3s YOTPOS oM MOPUTM JO ZTS XEU UTM XUIM XEWA39Spe94g57is COS TUTDEJ5IS8 3TUT 3S 10qo3 x JOGOYFS I10OYINO FS U314 HUTYIOM aip SM JPyM SAMOUX JS OS 2OqOMJS OJUT 30qoNd4V 9UYY 18PD0
118. Camera V CCAML h Public Member Functions e SbCameraVCCAML void Constructor e SbCameraVCC4ML void Destructor e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler 28 Protected Member Functions bool init void init the camera and set the max min variables bool checkForRobot void check if the robot exists and is connected void tilt double tilts the camera 100 0 void pan double pans the camera 100 0 void panRel double pans relatively to current position 100 0 void tiltRel double tilts relatively to current position 100 0 void zoom double zoom position 100 0 void zoomRel double zooms relatively to current position 100 0 void panSlew double pan speed void tiltSlew double tilt speed double getState int returns the current value of Pan Tilt Zoom pan 0 tilt 1 zoom 2 virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes ArRobot robot internal robot pointer string typ
119. D lt I0O1 d GHLOANNOO SSW UNAS y A9TPUPHOLOSNpUSS Tpue gt gt IWN3OqOHdS peusr qease uorjoeuuo gt gt FNOD este vooz 8 Aen uo peaqurad ddo TW3oqouds 0 rr99a2 doaxseg uroaeu sbur433eg pue squeunooqg 2 eueueT r4 v JO Z ebeg C cnraasveavaeb b5su TI IdasVbava3eb bsu 0 rtqasvbavaeb bsu esogqav orneAou 340oqo4 u SOdLHS I SOA ZE IONIGVAHIAIX O7TAOM SUS UT 300907 993 IO UOT3rISOd qUOIPdUE ayq 388 erqnop epqnop epqnop SOd LMS 2 1Dd0T lt 10qO01 30qor u3 oq 3ues eq UPD spueuuoo y os pojoouuoo umn joa peaoeuuopsTi 3T 95949 op ued em pojoeuuuoo ST 3001 y JI umn joa Z 3O uuoosrp QLOHNNOOSIG 9d 3 gr esTe Jo3gejnurs TO 30q01 ayy uo4gj s32euuooSIp l llONHNNOOSIG ZZ tu1an3az 0 un LOHON 32euuoo u 9001 0 13SSYb1VYI9D PbSU JT este g uursvbav3eb bsu T qaqSssvbava b bsu WIS 392euuoo esto TOTS 4 FSOUTeBOOCT y WIS 3O uuoo 0 T TAUISVOIVI9L be Ft QUIS 0 13ssvbavaieb bsu gr esTe IOI8 A3Sou eool WIS 43O uuoo un 0ua3Sssvbav3eb bsu gr a TOHNNOD ed 3 gT 310d 3In8gop UO 30q01 ay oq qo uuoo o7 3duo8339 TIM qr 3001 ST Juwenbze ISITF JI iil32zod ppejuwrsS IOHNNOO sueied 310d pue ssorppe UT 9423 TTM AT yuerq jou 91 35891 949 pue UIS SI 3I JI UOTIPDOT 10787NnuUTS 3qTnej p o3 3joeuuoo OF 3duo3389 TTIA JF WES 10 0 uerg Sr Jusanble j3sSIIJ PU JT 40007 o3 s
120. END type SEND is 74 stripped and the rest is sent to all clients The server is started with the open function commands are added with the addCommand function and removed with remCommand The server is shutdown with c ose function SbServerML was modeled from ActivMedia s ArNetServer The sendMsgToHandler is used to fire messages back to the handler 5 11 18 SbSocket UNIX TCP IP socket communication wrapper SbSocket is a layer which allows people to use the sockets networking interface in UNIX operating system All of the standard socket functions are implemented This class also contains the file descriptor which identifies the socket to the operating system It has been adopted from two ActivMedia s classes ArSocket cpp and ArScoket LIN cpp The ActivMedia original socket class was undocumented and limited the transmission of large data packets This class was also implemented strictly for Linux 5 11 19 SbSoundsMLT Listener for audio playback including speech synthesis and digital audio file playback SbSoundsT class inherits ARIA s threaded ArSyncTask to take care of playing wavs and synthesizing without locking the robot cycling It also allows for sending many consecutive requests First use of the fire function will initialize Botspeak 5 11 20 SbStateML Manages requests for robot s state SbStateML gathers requested information and sends most recent state data back to the user The information includes current m
121. ExampleMLT o OBJD SbCameraVCC4ML o0 o S BIND rcci LS LIBD L ARIAD lib lAria S LLIBSX N L BOTSPEAK lib lbotspeak lsf lsfGrad 126 8 13 RCCI Documentation 127 Robot Control and Communication Interface Documentation Marcin Balicki Version v 1 0 5 11 2004 Table of Contents Robot Control And Communication ici 111 i Ode Il uuu uuu yuyun str an locua eM ere DNE MR DAMM LIP E M DEM LEE ei UD LUAM DD I D IDA ads DNE MOL M AEN RI A 111 Gi O uu u su Ro EP 111 A IN Ent Ser E iv RUDGE at pi a MC D MM MD E UM I DD MIU m D MM MEE V Luerarchic h iu ee vi Ci Ti gt eU T A UU T T m Tm vli Page Mde Que c M l CTS DOCE a O A A aM d TE 2 PMN C NO EE 2 ATAS VNC TaS E 4 ATN EE d P HEEN 9 A A MM DRM RM ILICE 12 El 15 A VIOVe oed eccL EAD A E CL aR MM CM Mc EM M ACE D DEUM DM e EA M ICE 19 AO m EO UC n ME Mu MM M ED KE CM MALE E M DEA EA M ICE 22 SOC IMEI ON E e o li OS 24 vis Urine hA E VEN NEE 28 vialeb criniisl siat m Ae 32 viale cunis SA EB 2 asa so ncuron deeg 35 eege P 40 PP heneand memactounsasmeawtansat A 43 Eeer eege gege 48 SDNIOIIGINIL u E EO 5 SD Mss e Eet ee ET E 54 SOME EE 56 S DRODO LV PR T TIU 60 Soap Mi T HR 64 o a el eas um A EE 67 ll HAE RO MOR A II tT Rr aa ana ak ESR sia n TRE MEET TCR SETA 72 5Sb
122. I 4001 i 1 3T ST SZTTIIIUT uequj pue zeqgurod 30qo1 ey egepdn ST AT JI 30q01 oui JO UOTITUTISP 282T ey URya qU949jjIp ST 3I JI A99Y9 SISTXO 21 JI 3ST83 uan3ax TTAN 1 LOSOYJHES 1 10 9OYPUTI eTAY 1 35 I y JOJOHIV 25787 UInjer 304 JT SISTXS 3001 eu JI yoous ey3 uzn3 z 3snl suo Dro 9uj se owes y sar pue S3SIXO9 JI 31 en uznjor Uey pogoouuoo SIT pue Sep JT II ProAJ1oqouao pxpoeuo TWieddraoqs TOO a19ddria4b e3eTep TTAN aeddr45 j g3T o29Tep uey inu 30u st ISddr1b 942 JI PTOA INISAATIDAS INISAATIDAS 2 LATT 6 JS OA LOS HpPpe udIH9 9dALbSWDppe id dHddIWHD edALbSWppe TeTpuey bsu U31A burdgeo3srbe4 TOF 10309041 eseq 198us3sTTbsu sy oq sedA3 ebessou sppe TTAN 1 ddr iD PTOA INISAATIDAS TIN1SAATIDAS ud INI1SAATADAS y SPNTOUTE vooz 8 Aen uo paqutaia ddo TWaeddrasqs 0 Tr9052 doqaxseqg uroaeu sbur33es pue SJUSUMIOG D eueue r esto uTu queunbayppe 5su erpped 33971 T 9 TeA st uor3oes e pped paeaserppedaeb eddragb Tea qut u 0 3ueunbavppe 6su sT xeu uIl 4 1ueunbavppe bsu 33II PeXeWIFTIST lt atoeddtizb Ft e3easdria53eb aoddrab buraasgorAuoo obessowdsg queunbavyppe bsu pesopo g uedo UooA Mjoq Q0 f u0u aueunbayvppe bsu esto uLu aueunbavppe b5su J UUT T 9 Ppa3easueegsxeeagag3eb eddra25 FT 60 6 3uesunbiavppe psu sT uLu aueunbayvppe b5su 193no0
123. I 1929Y49 PTOANOJOFIO4AD9YO INSTAWEXHAS TOOQ osn oj burob eode m JT ATessaoau ST STUI DojgoeuuooO ST JT II DUE SHEI 30907 ez JO SONPISUT UP IT SN PTOA TWS Tdwexyqs IWerduexuqs uA TANWVXay OGALOsWppe TeTpuey bsu Yim burzeqstbezr TOF 4103298A eseq TeueqsTTb6bsuw y o3 sedAQ ebessau sppe ProA IWelduexuqgsg INSTAWEXHAS ud TWeTdwexgqs SPNTOUTE vooz g Aen uo peaurad ddo TWerduexauqs 0 Ir902 doqaxseqg uroaeu sbur33es pue sau umooq O2 eueue ra I JO T ebeg jtpuej bsyMoeu Tooq berg ebessou mau ssoueoag3sburagj3so burijs O3 erqnop 329AUOD oi poen SOUPJSUT UbPOIj S STdwexybsu oebessowds obessou JUeTAND 3sow B8UJI93UI fadAq burajs obessou Jo ed A3 proAJioqouao4dxoeuo TOOq pe3oeuuoo ST pue sjsrxe eouejsur VINY 23001 eu3 JT syosyo JOGOX y JOqOYIY TequtTod 30qo4 ff pe 7de 401d 1 bie y PTOA PCSAULUNA y PTOA TENJITA burug3ou seop 23842 Dip uegdedp uorjgoung pee4duj ureu xyserjouAg4v ey saqueue dumr sus obessowdqSs 3suoo o421j PTOA TENJITA SJIIJ 09 198U9ISTT u3 pesneo qoruA4 obessowqs bsuy uegdedp vorioung TB9nj2IA sand azouo358TTDEWqS Sy squouo dul p emqnop buraz3Sso3 buraas bur13S e OF e qnop s3194U4029 PTOA LIWeTGUuexHuqds 1o3onzj3soq proA LIWelduexuqs AZ030nzr38U09 oTTgqnd qieueasrTo6swas ottqnd iseJjou syaiy orrqdnd j7IWe duexuqs sseto ouoN bnqg TeTpuey oui o3 e1
124. I p nous bur3II3 Jo peeds eigqnop M9TS3TI3 WVO OOT lt O0T TO QOI 0 perjeos eq pjnous Son eA T 8 I1 taasvbayvaeb bsu Me sued MoTSued 0 uassvbav3oeb bsu gr sT bsu 9 SHheESSeWgS 4FSUOD SATIT INPIDALISULOGS PTOA buruued Jo peeds etTqnop metsued wyo 1 yooTun lt oqo 2 g gooTun 30oqoa 1 JQuGOZjT P9U eaioueo 1 M9STS MSTSI1TTI lt B219UeO 2 eO OTTIUPdATIP 9U PaoUur o 1 190T lt 1001 1 ADO T lt 2100A MoTSuegutTw y e eos S Mats sT udoas 0 13Ssvbav3oeb bsu gr sT MoTSuegxeu y 9e eos S Mag 0 lt S 3T do3s WVv2 io eos S o eos gt S gr Draasvbavaeb bsu teua3Tra S EOS S 9 9OS lt S 3T u 944TT3 0 13Ssvbava3eb bsu gr ST datos UEG ojgsorbD ST 17 IT aneqe JBUA OOT llertqnop T943T13 WVO oz z ez zojgPerb JE Draasvbav3eb bsu 43Tra 0 00T 2Te9s erqnop 1211724 03gsybay3eb bsu gr este 0 MSTS eTqnop DOT SITTI jlejqnop 3TIISIWWO Draasvbav3eb bsu Teuued S STQNOP METSIATTI INPODALISUELIAS PTOA u Tetued 0 4aSsvbava3oeb bsu grT esTe G T uora3rsod Juez o3 searAr3erez sued e qnop Teaued WvO 1 taasvbavaeb bsu ued 4oOoTUun joqoa uUed 0 uassvbava3oeb bsu gr esTe M9STS MSTSUPA lt 219UeRO 00T sued aTqnop ued Wwvo 190T lt 30O1 T1 tadasvbayvaeb bsu Teuwuooz MoTSuegutw y 9 995Ss S Mats u T98XAUO0OZ 0Q iassvbav3oeb bsu gr este osTe GOI uorarsod
125. I9H3T13 PTOA 0 OD0I vorarsod JUSTINO 03 TSTASILLTOT Sr eTqnop Tewued proA 0 00T UuoOIr31SOod 3uea4no o3 TerAege e42 sued egqnop ued proA 0 00T ezewed oyag sued eIqnop 3113 PTOA 0 00T ETaueo Sy SITTI proa J10GO04Y104AD9Y9 TOOQ Do300UUOO BT pue SjSIXO joqor SUI FT yooyo PTOA 3rur TOOQ SOTqerdeA uru xeu y Jes pue elaueo y 31UT pe32e43oad 1 su 9 shessewqs asuoo ITJ PTOA TENn21TA S1TJ 09 198U9SISTT ey pesneo uoruA ebessoyqs bew ueadedp uor3oung TEn31TA end ageuej3srTbSWqS ou sq3ueue dur PTOA JINPIDAPLIDMUELIDAS gt 1039Nn139890 PTOA JINPIDALISdUELIDAS IO3Oni18u05 J oTTgqnd 19U9ISTTIOSHAS ortqnd TNPIDALISUELDAS SSPTO ouoN bnqg sseTo O43UOO egeradoaddde oui 938819 uouj pue 30q01 STY OF pejoouuoo ST P2Iaueo JO oda uOIUM 3S93 OF MOY 3no TINOTJ OF eoru oq PTNOM opo3g TeTpueHOLOsppues TaeuaeqsTTb6swqs S 1SUSISTI SHAS s sn buruaeAj POO uo4ew e3e9pg burdeoeurbuxg eorueugoow uorufj Zedoo rxyor eg UTOTPN 10Y2 nep qT O3 Spueuuoo burpuos oq 1TO1A pezri I3IUI q oq spoou uouuej 239 WOOZ JTII UBg PTWC ey TOF e qe reAe suorjounj ey TTE sT o4dQ3uoo JI 30qo4 au uo 310d Terios oui O3 pouoej33e9 erTaeweo ay JO suorjoungj STOTIJUOD sseTo sTyL io uooz ATTL ued Zid PO OA uouueo soebeuew FH IEE PLE FER PU ELE 11 ae TAF UL d e ois eoedseureu Duren lt Butaas gt epn our s
126. Iroo02a2 doaxseqg uroaeu sbur33es pue sqQueuno2og 2 SueusTIA 1 uooz4eb eadoue2 uooz 2 uoOT 30qoa oozxeu y e eos Z Z 70 Z 0 gt Z 3T foTeos Z 9 95S lt Z 3T 0 uooz eTqnop 0 00T STeos aTqnop z STANOP TSHFUOOZ INPIDALISULIAS PTOA 1 J1doTUN lt 10G01 1 Z UO0OZ lt 21DUeO 2 1Dd0T lt 10qO01 STEDS Z Z 0 Z 0 gt Z 3T z STEOS lt Z 3T MIOOZXPU x foTeos 0 001 ereos rqnop z rqnop uooz INPIDARLISUELIAS PTOA 3OOTun lt 1oqo1 194 9SY1TTI lt 219U8e0 1 NOOT 30oqoa 7 SOJITTIUTU x eTeos A 39A ST SO0g1TTIXPU y egeos A I A 0 lt 3T i o eos e qeos gt A gr io eos A e peos lt A 3tT sTeos uey 79789176 ST 31 JT 3noqe 38uAM oz z reet T Jre Tb yry 0 00T STeos aTqnop 0 1924 e qnop A eTqnop T9H4iTI3 INPpDDALISULIAS PFOA 1 g ooTun 30qoa 107 TSyued lt 21aueo 1 ADO0T lt I0O01 SOGUeguTu y epeos X aou srT soquegxeu y eTeos X ZOU 0 lt X 3T foTeos x o eos gt X gr 298908 X 9S 95S lt X 3T STeOS 010743 crojg801Db er 3T JI 2pore Jeyms OJ9OZ usy2 493894bD JI 0 00T STeos erqnop 0 107 e qnop x STQnop Teyued INPpODALISULIAS PTOA 2 190TUN lt 1I0O1 Z 194 3TTI lt 219aueo 1 1D0T lt 1001 TPUS gt gt 194 gt gt 4 3TT L4 gt gt Tpus gt gt 3noxo0 ZZ l SOJGATTIUTU x eTeOS A d A sT amp ogarrrixeu
127. JUSTIN OF eAr3e e4 suooz e qnop Toeuulcoz WVO MoTSueqxeu y e eos s MaTS 0 lt S 3T 1 taasvbavaeb bsun uooz foTeos s o 9 os gt S S3r WOOZ 0 13Ssvbava3eb bsu gr esie feTeos S eTeOS lt S 3T 001 0 uooz e qnop uooz WVO oTeos usus zez ST 3T JT Moge q8uM 2 4 TUE Orozx uou3 193891D Ir ua ITUT A 0 13gsvbava3eb bsu gr 0 00T ereos aTqnop e1aueo y SezI EI3IUI 9T1UI NVO 0 MSTS STqnop tuan3ax aNWOu SOA i 3T S STQnop MeTSued INPIDALISUELIAS PTOA jedAzasb bsu adAq bsu jo ed 3 yosyo A NOOTUDe 30 041 1 WOOZ WOOZ lt ersWed uanjea SIOOZUTU UOOZ WOOZUTW gt WOOZ FT esTe I a3123NNOD2SIGISSWI ANAS y ZSTPUPHOLDSWpuses 4IOOZX U UOOZ WOOZXBU lt WOOZ 3T lpue gt gt IZ UOOZ Zo EC ebeg vooz 8 Aen uo peaqurad ddo IWpoOOA aeuej9qs 0 rr9202 doaxseg uroaeu sbura343es pue s4aueunooqg 9 SueusTTA JTPpuso SSO ues173spbutiz3so DBurz3s o3 e qnop 3q42 Auoo OF pesn eouejsur WeezTqs ST duexybsu oebessowds obessou 8UJI92UI fodAq burajs obessou Jo ed 3 proAJioqoudao4xoeuo TOOq pe329euuoo sr pue s3jsrxo eouejsur VIMV 30qo42 9439 JT sxoouo SYOGOX y qOqoury Xejgurod J3OGgOr pe32e3oad 1 sw 9 obessoywdS 3suoo o4217j PTOA TENJITA OJIIJ 09 198U9SISTT au pesneo quoruA ebessowqs bsuy uegdedp uorgoung TeNJITA e1nd 4deuej3srTbsWqs eu3 sa3ueue dur p STqnop butz4Sso 4 buraas bur13S e oi e qnop s3194Uu09
128. Listener const string str SbMsgListener msgListenerPtr registeres the listener with the msgHandler void registerListener SbMsgListener msgListenerPtr registeres the listener with the msgHandler void initMsgHandler void Creates the listener objects and registers msg Types with respective listener virtual AREXPORT int doJoin void retZNULL Protected Attributes vector SbMsgListener gt msgPtrVector vector of listener pointers that are registered with handler string port port for tcp server SbMsgHandlerSingleton msgHandler instance pointer to Singleton msgHandler SbServerML tcpServer instance pointer to the TCP comm server SbMessage msg internal msg SbRobotML sbRbPtr instance pointer to the robot control class ArMutex myMutex bool myRunning State variable to denote when the thread should continue or exit bool myJoinable bool myBlockAllSignals ThreadType myThread ArStrMap myStrMap Static Protected Attributes ArMutex ourThreadsMutex MapType ourThreads 45 Member Enumeration Documentation enum ArThread Status inherited Enumeration values STATUS FAILED Failed to create the thread STATUS NORESOURCE Not enough system resources to create the thread STATUS NO SUCH THREAD The thread can no longer be found STATUS INVALID Thread is detached or another thread is joining on it STATUS JOIN SELF Thread is your own thread Can t join on self STATUS ALREADY DETATCHED Thread is alre
129. ListenerInstances SbMsgListener removes all instances of MsgListener from the map regarding of key e void removeType const string amp removes d key and associated listeners e int getNumOfTypes void SbMsgListener getMsgListeners const string amp e int getNumOfListeners const string amp returns number of listeners for a msg type e int getNumOfAllListeners void returns total number of listeners e void fireMsg const SbMessage amp fires a message from a SbMessage format e void fireMsg const string amp 54 Static Public Member Functions SbMsgHandlerSingleton getInstance void returns the instance to this class if does not exist it will be created void removelnstance void remove instance by deleteing it Protected Types typedef vector SbMsgListener iterator vectlter vector Iterator type typedef vector lt SbMsgl istener gt listenerVectPtr vector Pointer type typedef map lt string listenerVectPtr gt 1terator maplter map Iterator type Protected Member Functions SbMsgHandlerSingleton void protected Constructor SbMsgHandlerSingleton void protected Destructor which deletes alocated memory for vectors in the map SbMsgHandlerSingleton const SbMsgHandlerSingleton amp Copy constructor SbMsgHandlerSingleton amp operator const SbMsgHandlerSingleton amp operator overload for coping bool msgTypeExists const string amp const check if message type
130. MU Theater Dept and other elements in the CMU community 17 Robotic Performer Research Project Development of new mechanical actors including Humper with organic movements and interactivity exploring the social strategies of streetwalking and Laugh Riot a robotic Jack in the Box whose purpose is the dissemination of false hope Synthetic Performer Research Project Development of new strategies for the creation of virtual actors in the digital realm and the programming of actual robotic synthetic equivalents through the animation of virtual actors 26 4 1 2 Ullanta Performance Robotics Ullanta uses new technologies and concepts in robotics to create new experiences in theater and new challenges for scriptwriters and directors The group believes that the most impressive features of behavior based robots are their ability to look like living intelligent critters that adapt to elements of their environments Applying them to understand how emotion influences both individual and social behavior Figure 4 3 One of Ullanta s street performances Their robotic performance pieces take place at scheduled times demand a standard of robustness adaptivity and interaction that few laboratory experiments display and most importantly should appeal to audiences Furthermore the casting of robots in dramatic roles allows the creators some justification for the stereotypical anthropomorphizing by robotics engineers
131. MsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbSoundsMLT h e SbSoundsMLT cpp 83 SbStateML Class Reference SbStateML include lt SbStateML h gt Inheritance diagram for SbStateML Detailed Description Manages requests for robot s state position velocity sonar motors etc SbStateML gathers requested information and sends back to the user The information includes current motion position battery voltage sonar states table sensors motor activity Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Note You can use the sendMsgToHandler to fire messages back to the handler Bug None Definition at line 22 of file SbStateML h Public Member Functions e SbStateML void Constructor e SbStateML void Decontstructor e string toString double Converts double to a string e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector lt string gt getMsgTypes void retur
132. Mutex 8 STATUS FAILED ArASyncTask 6 ArMutex 7 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS FAILED INIT ArMutex 7 STATUS INVALID ArASyncTask 6 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS JOIN SELF ArASyncTask 6 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS NO SUCH THREAD ArASyncTask 6 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS NORESOURCE ArASyncTask 6 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 transfer SbSocket 76 tryLock ArMutex 8 write SbSocket 77 writeString SbSocket 77 90 8 14 RCCI Source Code Included Source files main cpp SbActionGoto h SbActionGoto cpp SbActionML h SbActionML cpp SbActionMove h SbActionMove cpp SbActionRotate h SbActionRotate cpp SbCameraSONY ML h SbCameraSONYML cpp SbCameraVCCAML h SbCameraVCCAML cpp SbExampleML h SbExampleML cpp SbExampleMLT h SbExampleMLT cpp SbGripperML h SbGripperML cpp SbManagerT h SbManagerT cpp SbMessage h SbMessage cpp SbMotionML h SbMotionML cpp SbMsgHandlerSingleton h SbMsgHandlerSingleton cpp SbMsgListener h SbMsgListener cpp SbRobotML h SbRobotML cpp SbSaphiraML h SbSaphiraML cpp SbServerML h SbServerML cpp SbSocket h SbSocket cpp SbSoundsMLT h SbSoundsMLT cpp SbStateML h SbStateML cpp 225 90 uan3eza Ipue 8AIT V 23noo 00 dasTS tranav buUTUUNYISH eTAV eT TUM Ieubrs 31Xe
133. N SIP buraieeurbuyw eorueqoew uorug 1edo0 rxor eg UTOJTEN 10Yy2ney 30401 oU jo fox3uoo pe3ueuspunj bursn oTIUA sod j pue spury juogoJJIID JO SIOJIUIT 32 U07 p JAPY Zenit uso noa 38793 OB per ATIPOIBEG EI UOTJOP STI soodbop OGL Sr peAaerugope sr reob rr3un Tpsonurjuoo uorjo zrp ouo ur 30q01 y e383o04 oq Tasn ay pe3gueAeud sIQIL 08I ueYy ssoT 10 08T Usy3 1938916 ST o bue au eseo Sus UT T eOIJIOeds burpesy pearnbeag y A ruop OF uorj3ou e qrissod 3se eus ey FO uorqo zrp ey UT so3e3o4 pueuuoo NIVlOM UOI3OU 2091TPp u3 esneooq perrnbo1 sem ojej3oWNuor3ovqs 30q01 ay se3e3or 23843 uora39oVv y Y UOTIOVIV SPNTOUTE u 9IPI0YUOTIDYAS eurgjepi Y eyejoyuot owas JOPuzTH I Zo T ebegd ooz g Aew uo p qurzd y 9IPIOYUOTIDYAS SPNTIUT O 11991 doIAS9q UTI18U SOUTIJSS pue sau umooq 2 SURUSTTA TbuvpTo ur3ebP 34oqouAu 09 bue 0 lt eTbuypTo 5350 gt ULIeb lt jJoqoyAu JT esTe STPSUYPTO uri3eo 3oqouAu bue 0 gt eTbuYPTO 3 0 gt uraeb 3oqouAu FT esTe STPSUYPTO uri3eo 3oqouAu bue 0 lt STOUYPTO 3 0 lt ur3eb 3oqouAu FT qoezqns 3snl ubrs oues JI 081 lt eTbuyTecb JT este 081 4O 9q 396 em ra3un buruna dsay SATITSOd ST e bue ay JT d to1tssgu 9 uazn4jeza 10 eTbuytTeosb eTbuyTeob butpeseyeypreqies pearsoeqAu 00I Purpeegea3reqaes pearsegAu 081 gt eTbuyTeob sqeg uae
134. NDING DIRECTORY export ARIA SAPHIRA BOTSPEAK PATH SPATH SARIA bin S SAPHIRA bin Install ViaVoice for Linux from the Original CD Restart the system After Saphira Botspeak ViaVoice and especially ARIA are installed RCCI installation can proceed From the included CD copy rccil 0 directory includes source compiled code and documentation via FTP to your user directory The code should already be complied into an executable file called rcci Execution 121 Startup script should start the required services and rcci with the desired port Ge 5555 start 5555 Note Occasionally ftp will change file permissions on traNSFers To make sure that the files can execute change their permission via chmod 744 Compilation If recompilation 1s required in rccil O directory file permissions permitting type make This makefile script will compile and link all the code and libraries Note Aria should be compiled with the same compiler as RCCI If there is a linking error it is most likely due to incompatible compiler versions Download and install gcc version 2 95 3 from http gcc gnu org Add the new compiler to the path before anything else so when GCC is called the 2 95 3 version is used This next line should be located in both of the aforementioned files bashrc profile PATHe usrygvlocal4gcoo 2 95 9 DZmnt PATH Recompile Aria and then reci Running Once the RCCI server is running any number of clients ca
135. NES 1 10 9O0YPUTI VTA Y 1 35 SE x Qoqoucy asTez uznq r jou Jr S3SIX9 3Oqo4 ay JI yo uo oui une 3snl euo pro y se outs oui SIT pue SISTXS IT 21 Jeni uznq rx uey3 pezosuuoo s3T pue soop 3I JI proA 1oqoHaoa4xX99uo IINUOTIDYAS TOO 1 9309304 5 933ITUTTSTAL 5 uorj3oyued 3oqo4 s1adunqg s uor3oyuea 30oqo4 UOTjoOWVUoJ jOqoa 1 1SAO0DSI1 F JUOTIDYUWSI lt I0O01 Z UING 3 uoTIDYUSI lt I0O01 1 do3839 UOTIDYUSI lt J 0Q01 2 SAOU F UOTIDYUSI lt I0O01 1 OLOP 3 JuoTI1DYU91 lt I001 TOSPpuemb e3e oep do3gb e3e ep af TION 0035b 9 TIg N repusMD I ZY 7 TOPpuemb e3e oep if do3s e3e ep z PTOA TINUOTIDYAS INUOTIDVAS ltirinW doasb 99 TION A8PUEMD 1 T q T p Jou op usy3 pe3er3ue3surt 30u ele sdnoz6 oui JI 1 ADOT lt 1001 udO1S edALOswppe PTOA JTUT TIWUOTIOVAS PTOA u HAONV OGALOsSWppe 7 u ALYLOYY 4 9edAL6SWppe TeTpuey bsu esTej uazn3eza Yim burzeqstbezr TOF 4103298A 9seq TeueqsTTb6su au o3 sedan ebessau sppe 1 g ooiTun 30qoa4 JeAo2eM e3suor3OV4v MoUu osTez uainjea pue 30q01 ey xoo un os pojoouuoo 3ou 918 9M TTAN d04S6 TTON 10epueybh Zen uaznjeza TTAN 30qoa 2 g ooiTun 30qoa G uorqounj 3inb pue xyooun po3oouuoo 918 m JI DTOA IWUOIAOVQdS IWUOTA3OVQS pe32euuo5sTr 310oqo4 gT 190T lt 300901 uu TAUOTIOVISy SPATOUTE Z go T Bea vOOZ 8 Aew uo p qurzd ddo TNUOTIDYAS O I TOoz
136. OTIONAS O0 TTDD1 d0IIS9G UTDI1RU SHUTIJSS pue squeuno2og 2 eueue r jtpueg jouej4surd uoqa Tbursa rpueHuDbsmiqqs oraeas SSPTO STHI FO aoueqsuT e pburs eudoQUI 93eArTad Osu sbessopwgqs eTqerzea bsu A1Iezodus23 HeWATPuHHSSW 23d399AadoeueasrT UTIS gt deu EHgogurod ISUSIS TITS IO ISTT 993 of Zero q3ueAa T r y pue Avy oui sproy 2843 exn 3on13s e3ep Terqu ss oui ST STY t y I9SU9IASTI SNAS lt x 1ISU9dASTI SNAS gt 10729924 PUTA1OJD9A 191131991 unos 3ou FT pus 103094 USATO Sus UT Te ZUTOd an jo uorarsod eu3 SPUTI ijojrdeu 10781991 lt 134109 19U998T1 butias gt deu geped A3 odA3 10381931 deu 1 243I09 419U93STT x lt x 19U9SdASTIPSHNAS gt 102094 gepedA 43 odA3 I9J3UTOJ 103091 119111994 1079199T lt y 19U9ISTTOSNAS gt 107094 FopedAA SdAS JOj3BPITIOSI 202084 ZZ ysuod 5 PpUTI1I S ISUOD JsSISTXH9SAALOSU TOO Sj3srxo odA3 ebessou JI YyOoyo quoJ9STPUTSISTPUPHPSHAS 3suoo zoqaez do uojeT bursao qpuenubsywds DUTOOGO 207 DEOTIOSAD 039810500 ZZ 1 suoqe qbursae pueubsydS ysuodypojsTbutszseTpueyhSswgqs XOJ3ODm2358u00 AdOS 7 PTOANOJSTPUTSISTPUPHDSUHAS dew 949 UT SIOJ09A JOJ AToOwew pojeoo e soje op uoiuA4 4o3onadj3soq po3o0oe30o4d PTOAYOJS9TPBUTSISTPUPHBSHAS 1030Nn19SUO0JD pe309301d pe32e43oad 9 PUTIJS a3suoo b6sue421j PTOA 3T Sait pue burijs DOIT obessowqs Y SOILDID 1 9 obessowgqs ISUOD PSNSITI PTOA Jewzojy
137. OU 0 lt X 3T io eos A e eos lt A 3T f o eos x eTeos gt X gr s eos uey Zeipaib ST YT JI 3noqe 324M io eEos x eTeOS lt X 3T Oroz US eer Jr sTeos ueya 7978910 ST AT JI 3noqe 39yM 2000T eTeos STqnop OJ9OZ uen 1973 91b JI 10 194 e qnop 20 00T eTeos STqnop Q 104 eTqnop A eTqdhOD T9HATII3 INANOSP1SURIAS PTOA 51 X eIqnop ued zIWANOS edeue qsS PTOA 001 go z ebea vooz 8 Aen uo paqutaia dd o INANOSez uroqs 0 I TOoz doayxs q urozeu sbur3a3a s pue squeuno2og 2 SueusTIA Tpus gt gt iaSsV3eb bsu gt gt PSU YITM ezsweg DUTIT iuw gt gt NOD 2 yooTun lt joqor yesaq ggjoburaubrTXoeq eaoueo LTDESIep eseo yeerq JuQupgburauborTXoe q eaoueo D eseo rjaursvbavaqeb bsu uoa3rTA s 1 190T lt 310G01 0 33ssvbav3eb bsu JUYPTTADOOL FT esTe OOT llaurlaubrixoeq WVvo CDraasvbav3eb bsu TeuaTra3 Cu TS1ITT 4 0ua3ssvbavaeb bsu gr este OOT llerqnop T943T13lWVO Draasvbav3eb bsu 3Tra 3113 0Masgsvbavaieb bsu gr este OOT S2TT2 llerqnop 31T13 WvO Draasvbav3eb bsu Teuued Te1ued 0Q uia3ssvbava3eb bsu FT esTe OOT uora3rsod Susrzno o3 eAr3e e4 sued eqnop Teaued WvO 1 taasvbavaeb bsu ued ued 0 13Ssvbav3oeb bsu 3T esTe 00T sued aTqnop ued Wvo T TAadSsvb1Y18b bsu Tayquooz TS1uooz 0 13Ssvbava3eb bsu gr sT OOT uorarsod qUSIIno OF saAt3e7o1 suooz
138. OWUOIJOVqS pieAxoeq pue PIEMIOJ 3Oqo43 au seAou qeu3 uorjoy gt SAOWMUOTIOVWAS SSPTO FER A u L L t fh Z rg x 11 gy ZZ pU uY UOTIOVIV epniourd 4u TTan rae SPNTOUTE Y SAONUOTIOVAS eurgepj Y SAONUOTIOVAS J9pugjri4 vooz 8 Aew uo peaurad UY SAONUOTIDYAS SPNTI9UT O TT909D1 d0I41S9G UTOAPU SHUTIJSS pue squeunooqg 2 ureu TT iI 31 29891 0000000T 3astaproAu 0 burpeegpearegqass pearsegqAu 2 0 T98A719S pearsogqAu VO GQHAHIHOV ALVIS 838754u 7 4 U peastTyoe i3utad G gt I9A39eb 3oqou4Au sqeg uaewzv 99 GZ 0 x ISTOUSSOTI AM gt ISTP 3T 9o7bue buTpesy es perztseqhw STO UTN gou op 30 510AO oM Jr urna 0j OUI Sr 31nq Garebe 3T OD p rxrs q u 9 uan3eza 3T q s zxz 0000000T asrapro4u q burpeegnearegqass pearsoeqAu 2 0 r A3 s pearsogqAu qTVOO GNAHIHOV ALVIS ea3eagAu Ia ISO peAeruov 3aurad 0 gt 3STP asraproAu gr do3s pTnous am esTpo Teob ey spae4oj burAou oTe oA UPYF SATYTSOd ST soustIoJzJTp 9U3 JI qoous 1910 M 9SPD UI ST STYlI epbue a J0 amp Teos5ole buy rte TeogyAu JoLaTPSUYPUTI esogd3eb 3oqoWuAu epoue urod oj quema m aIoym ess ASTRO 4 70 ISTda z3urad eo5Au Drieouejsriqpurj esoqaeb 340qouAu ISTP t 3erdproAU 4 9 5 SOUPSQSSTOQPTOR jgaurzd TION uazn3jeza IVOY ON HIVIS e3e qsAw IVOD QHAHIHOV ALVIS e3eagAu gr burqgqA
139. OX 9 LdTILTOOL39S ZIX LyWuoo 0p uorsueurg Meupzrgpeadiojoeugdaes ZAXLyPl Z qipu9SSg 3XelL3ses Zuoqaqanguoo 104 3X9L39S ca3xrzuuoo 0p uorsueurq Meupzrigpeadgogjoeugdaies caxrizuuoo SIVIOWH 4 3X9l139S T3XIZUUOO 0 uorsueurq Meupzrisgpoeadogjougajes 3Xxlzuuoo 104 3X9L39S paxlzuuoo 0p uorsueurg MSUPZTISP9119 914198 pAXLZwwoo 104 3X9L39S zZ3X1Zuuoo 0p uorsueurg Meupzrgpeadgogjeugdaes zZz3Xx1Zuuoo ul ul 3TUT 3X9139S IX Lpwuoo ul ul uoo enz3 enbedoa3ses Z 3X 1 Zuluoo O0Z Ob uorsuSurGq M u zrSunuTurI3 s Z3X1Zuuoo qpU9SS AX9l39Ss cuo43a3nguoo 104 3X9L39S paxIlguuoo 0p uorsueurq Meupzisgpeadogjougaes paixpceuunoo 10OLOS4 3X9139S T 3XIguuoo 0L uorsueurq MeupzriSgpeagojoead3jes axlguuoo 104 3X9139S Za xriguuoo 0p uorsueurq Meupzrisgpeadogjougajes z34xpcuuoo 00 1X91 198 IX FUUOS 0p uorsueurq MSUPZTSP91193914198 E IX LE WUOO 6 pu s 3ax rLt3a s rtruoqaanguoo ipu9eSg a3Xeraes uoa3a3nguoo UHAOWa 3X9139S T3XITUUOO 0 uorsueurq Meupzisgpoeadogjouga3es T3XII Ul Ul 504 3Xer3es rette N u u Wood 0p uorsueurgq Meupzrgpeagdgogjeugaies 27 IX TWUOO 104 3X91I139S IX L TWUOO p uorsueurq MVUPZITSPS119IJS1II9S E AXLT uoo F00Z 8 Aen uo paqutia eAetf Teueg oz4uojpesnoy Tioaquoou oas oa4uoou 43oeftoadqL s4a4ueunooq w uroaeu sbura33es pue squeunooqg 2 ourmuoeTr v JO bea 4
140. P om JT 3joeuuoo o3 T per reo sr 3rur deujoue ueuA T Sm OOj X41OA OF wees 3 Uuseop 31ed SIU3 u05do3 9sWuyor34o2euuojeorAeqaes 340oqo4 UOTJOSUUOD s3oqo4 ey Jes 310d 9 qur asuoo 4sou s buraga3s Asuod 44 ed juoo 3oeuuoo IWa3OqdOWudS TOOQ 3ST83 uanjea TPUS IN3O0qOHdS a gt gt IS O 2338 gt gt u pe9Irrej uedo gt gt MOD UODTeTISS 939T9Pp ud etderreAe Jou ago3e nurs GHTIV4 NOIIOSNNOO SSNWIGNWS Me pueHorbswpues 3oqo4 949 Seje sep sr 9uoouoSs qoa3jbessowuedo3eb uoodo4 174S FIN3OqOHdS 7IN3OQO4dS 0 i Gmod 13s O 3sou u do uoodoq 7391 FT 135 DUII3S 193 qur dHdALLOSOW edAIbsWppe IANVNILOSOW edATb6sWppe q10d 3 qur 3suoo 3s0y 3 butzeg qasuoo ursqo uuoo IWiOqONdS TOOQ SWVuVdlLOgOW edALb5SsWppe YI VNOS edAIbSWDppe u SIOLON a SOdLHS eni3 uzna z 7 L24NNOOSIG edATIb6SsWppe GHLOANNOD SSN UNAS y HSTPUPHOLPSHNPUSS LO23NNOO edAL5SWppe pe3oeuuoo Apee4d e9 4 LOANNOOD OGALOSWepe osToe Tor3uoo pue uorjoeuuoo 30901 TeTpuey bsu U31A HuTTeqysTbezZ 107 10309041 eseq 198us3sTTbsu sy o3 sed j ebessou sppe 3ST83 uan3jea aeuos sporAeqebueuppe 30oqo4 TPUS gt gt IN1090Y4S poy3ew uorjoeuuoo SIQj MOUN 3 U0d gt gt 3n02 J3Oqoz 343 03 132u0s Sya ppe ZZ u4 pouaeu uor4oeuuoo uMouxun QqWTIIV4 NOILOSUNNOO SSNIGNUSuA uoraooeuuoj ra4egady Meu uooOTerd s y rpueHorbsiqpu s uOrjOoouuoo P poou 3 uo0p Joge
141. P2OES ula 103801b Sr AT II 300qe9 3PUMZ2 4ucoozxeu WOOZ uooZzxeu lt WOOZ JT OJ9Z usy2 49389J4D JI IZ UOOZ zo 001 e 9 s STqnop uoozg4eb eagoueo uooz 0 107 rqnop yqooT doqox e8TeOS Z Z X eq qnop T euued INANOSP1aUeLDAS PTOA 70 Z 0 gt Z 3T foTeos Z S 95S lt Z SgT 0 AUCOZXeU y WOOZ sTqnop 1 g poTun 30oqoa 70 OOL STBOS STqnop I9A 4ATT3 Peaoueo 190T lt 300901 z STANOP TSYHWUOOZ TNANOSPISULIAS PTOA TPUS gt gt TAA gt gt y FTT Lu gt gt TPue gt gt Noo Z Sogarrluru y e eos A 194 ST CO NOOTHUDc 320t0034 amp ogarrILXeu y eTeos A 3 A 0 lt JT 1 z uooz eaoueo Tpues gt SOGAITELUTU gt gt 4 I NIM gt gt SOI43TELXPU gt S gt a Zu gt gt 3000 i NOOTZ OHOQOq feTeos A o 9eos gt A FT ST uloozxeu y e eos Z Z io eos A e eos lt 3tT 10 Z 0 gt Z 3 sTeos Uya Zoeipaib ST AT JI 3noqe 38yM 99808 Z 0 00T STeos aTqnop 0 00T ereos aTqnop 0 1924 STqnop z eTqnop uooz INANOSPISUELIAS PTOA A STANOP 1TT 2 INANOSP1SUELIDS PTOA 8TeOS lt Z 3T oz z usy2 493894b JI 1 g ooTun 30qoa Z 194 T9Y1TTI lt 219Uueo wooTun lt 3oqoa 2 190T lt I0O1 1 aou Ued lt e1aueo l SOJATTIUTU x egeos A zan 1 1D0T lt 1001 sT soquegquru y TeOS X ZOU S0g1TTLXPU y epeos 3 A 0 lt 3T osTe i o eos A e qeos gt 3T soquegxeu y e eos X Z
142. PLIA y aeuo TIAN Suainje4 JT peq sem 3jexoos Sua IT DUE ASIO0eIB RO Feats whiny Y Ware Zare Y Zeen ou sem 91949 JI buriz3s uagnge4g e73ep pooh sem eodou3 JI UNNI91D SUTJ YIOM O3 SUDOS ST onssr 949 294M ees OF SIByo QZIS 07 SIU3 pepuedxe eney I seop 3eu 93 SOG ey sburya eya JO euos TOF ogesueduoo o3 193309 reuz 3sur UMO SAT OJUT SIOgjOPIPQO 99 peor 3r se buorT se BrogObpIPSHNO ZTO Der Eeer SOUTIJS pesz Arm pr oo UOIJOUDI IPUIDIXO Sul 7 77 gexyoos eu uozg bur43sS p spesy 13S UT1I593IT1M uan3aea X3S x zeuo ISUODUTETIDUTIASOI TAM UT enel TOF toddeim sbie1ea ou 3nq bUIJ2S9314A se DUES 313S x a 9uO ISUOD PUTIISSITAM AUT ueqqrim saoj3A4q Jo 1isoqunu uinje4g 3oyo00s ey3 OF e711m OF bur43s SY 43S UP1ed So3 q OZIG Uy edou 93T1M jouueoO SIU3 SsI930818y9 eur jo pue burppe 3exyoos oui o3 BUTIIS E SDITIM ozaqAw uangoz 3Su09 10113439D 10115384 JOJI ISPT 942 299 3S1011 94u uangoz 3suoo 1391011919b 3 Hutz4s pq4s asuoo DUTI3S JOIIS IST Sys 32600 777 edALAu uan43ea 3suoo adA119b d L od 3 0003o4d ey 299 q4Au uznqez 3suoo d439b qur zO3drgOSoep STII 342 189 tousaA eso oogAu ousasA Tooq eso ooqaes PTOA SUTEA aesoToop ey SLUCI ZZ J19OTEUONJSS TOO burxoorquou oj 39008 298 ges r1ppv sn vxa s Tooq nTeA ssezTppe esnel oU 388 aseopeorgyss Tooq enTeA 3seopeo4gq
143. POTO 2IS1T I lt 1T 9I9T9P gexyoos ay a7919P puodas lt 3T J T P 10381931 deu Aq 03 z 3urod 3exoos o3 burpuodsorroo Tayag DurI3ES sya 9j3oTOp JesoTqo 38413 11 oAoue4d pue jo2euuoosrp SqUeTTO Tre ubno4duj e o Ao o3 pesu 4T pue suuooAu i LI urb q suuoo Au IT 1078197 SUUOJZ NU IOJ PTOAFIJU9STTIJOSUUODSTP TWASATSSAS PTOA 1 J8SOTO J9IADOSIDATOS 4 BAUSTTOIOSUUOOSTP Jesteit pausdo wll URAMAS dOL NMOG SNILIDHS SSW e3eqpues Tpue gt gt ISnISS UMOP HutyAqAnus gt gt NOD tuan3azx 0peuedosri 3T PTOA 9SOTO INISAISSAS PFOA Ci 1 1979107303 ASUUOJSI19STSP 9891 suorge ep FO Tequnu sulin391 31A x Sesezse suuoDAWU qunoo AUT Ted buraj3g 3exoog jo dew ey uo4j Soue3suTt Jeyoos sy S8AOUIOSJ puoo s lt 3IA x IT ST 10 314 x 939T9P 497909 y SI39T9pP 31 x JsuUODAU e3eTep ZOJ8IO3I 314 AQ GQ asqurod 3293906 09 Surpuodaszaioo ZZ J1oggnq burz3s ey e2919p 114 pu szoqo Asuuoo q3 T p i FIA urb qszoqoS Asuuoo 3 T Dp 114 103 SJIOQB8JIO3I e39719d03 JO 103091 ey OF 928491I CITAGOq9I9j I 4 x 181009808 gt TO1ISA 0 lt SZTSTORZOSASUUODSISTSpP FT Aue ode elay2 JI AZOwWSwW DOIT oSAOUISJI pe3oeuuoosrp se pobe j e1om 3ey43 suorjoeouuoo eu eg3e ep OU 4SATJ lt 4T yoOeG usndzazoj4ooAsuuojgoeaqeT ep 3STT 3exoos e3ge op oj burppe Aq 3exoos ou eAouoe4J JesoTqpo
144. PTOA INUOTIDVAS TOTO seus 7 Z 2 orrqnd 19U9ISTIOSHNAS ottqnd TRUOTIDVAS ssero jtpueg d ISPpuemb y adopuewdnoda5guor3jovav S NOIO 7 7 doasbh doasgdnoa5guor3ovav sdnoz6b SES UINLUOTJOVIY ouoN bnqg Je pueu oui o3 xoeq sebessou e41j oi 4ge pueHgorjbswpues y esn ued nox e3oug UV TTOM SUOI3OP YITM YIOM JOU Op SUOTZOU JD9ITP esneooq uV spueuuuoo uorjou qo zrp jo peej3sur suorjoe esn prnoys I eq Aeu VOTOS UNES 2 etsy 777 do3s doa3guoraovav suorjoe Tre sdo3s 1 uoTI0NID9ITATIPSTO lt 30O1 Jes o3 Daat Aew UVIOAOSJIOJ suorz3oe jueAeadd Aew spueuuoo uorjou J091TP ngje4ge2 aq Ou eurp3eouepeoeaquor3owa3oeaurqaeb 30qo4 ISA0D9II1SDAO0D9YTTPLISUOTIOVIAV UY YBTY 009 FT TeASeTOF suotqzoe xyoo q Aew 11838 E WOII STADE des UN eurpeouepeoeadquor3ow3oe4drqa3es 30qo4 ojTrur Te qeazosuesSe qe94d9jTUT TUOTjOVAY TV Duren 37 op ATTeor3euwoz3ne oj ALm ey3o euos STI o4d9qQj xyoeq oad3uoo aya Web 208438 BTQPI f SPIPMI1OAITUTTSPIEMIO JS TUTTUOTIO VIV quoTZ ou ur s3o0sLqo SITTI SPpIPEMIDREFTUT T SpaeMxoegaejrur TUOTjoOVAWV NOBG ogj ur sj4oe qo sarurr 9A3SUOO dT1OO 9A3UP3SUO UOTJ3OVAV UV ue uor3o0e OS UOIJ2ONW 3091TPp ey oeooueo IA uor3owa3oe4rgade99 O 30qOM uV soouenbesuoo pejoedxeun 03 pee pue sseoo1d Tenor 4eddn z2iequ3o 10 SUuor3ov UY WOIJ STOIJQUOD 31A 3or juoo eu pueuuoo uorjou TO J091TP 7847 91M og spueuuoj uor
145. Q Umop pue dn ieddr1b sy SITT liburz3se llsrT 30 QUE IATIT ZZ padA 121865 bsu 3sdAq bsu Jo ed 3 yooyo uzn3ea 1 g ooiun 30qoa 1 I3HddTH50NI9SWlacds A2eppuenorbsypues Tpue gt gt IN1SAATIADAS pueuuoo ea1j JOU TTIM 1S9AdATAD ON gt gt MOD GIHddIHSON 3eddr454y edArL3eb 3eddr45 gr 1 ADO0T lt 1001 aueddr4b e sey 30q01 ey 3ou 10 19294394M en eA 4deddr4b sy 5139 7 3jsuoo proA aeddr45seg39b O0Oq uzn3ea qd 19uNNODSIGISSW ANAS Metpuegorbswpues Tpua gt gt u IN1SAATIDAS puewwoo SATJ JOU TTIM gt gt u pe32oeuuoo Jou ST 10 ASTXS US90P 3OqOH gt gt jnoo JIOFOYIOAADSYO FT Shift DogosuuoDo eq of Eu oTey poy jew Tezes e oney OF pesu Tey er sbueu 10 soesysezo wezbord TTnu st aio3urod en pue pueuuoo drzb e puss 298M Syd JI 943 senevosq Sr UO zou OF poou PeTTeO sr pueuuoo 3S4Ij 949 ueuA or3euojne eq 3r pinous 10 asddrib Sy OZTISI UI 298n Ogj Syew T prroys Tpue gt gt i3qSsv3 D D5su gt gt PSU UYITM 19AAdTAD PUTATA gt gt NOD bsu 9 shessewqs 3suoo e421Jj IW4eddra5qs PTOA es e3j uanjea 2 g ooTiun 30oqoa Zen uaznjeza 2 g gooqun 30qoa pe3o2euuob5sr 310q04 3T i x 9OOT 30dqo041 2 g ooTun 30qoa4 1 10qO013 19SAATADAY Meu 19AATAL 19ddT1b 9I9T9p TTAN 19ddT1b FT ojerep ueuj inu you st Teddtz76 ey JI MOOT 30qo43 362717 psj29UuuD2D oq O3 SEY SE 0q0
146. QAS 3SUOD zr I19gjgjnq bBUTIIS oui TOF e qer4de8A e 3ueue duri po nous HyoqbutszysAw Tooq berg ouoe oyoqoqnybutajsAw TOOq berry 01599 0308 fuTSAW UT appesxoos 3onaas ssodppe 3exoos jo znqonz3s burxoorguoNAu TOO burxyooTq 10 OETI q44u qur y Jo y ebed vooz 8 Aew uo peaurad u 3exoosqds epniour Q rro29202a2 doaxseqg uroaeu sbur33es pue SJUSUNMIOG D SUPRUSTTA 2 4 19 0 gt r reBgnaburzasAu 3 0 lt T 0 gt repBgnaburzagAu 0 ro aog a3d 198 JInq jquradsA sieyo edeoso ey jno quausatout ZZ r3e xjd jazeds EA an13 saeuo2edeosu3oogburaas Au 113d 38TT 9A To qur UST qur 421S4409 3nq aeuo 0 gt o lgynqbutz4sAw Ft wey JO pTI 396 szZae oeTeYyO odeose burpee sey om JT rr ie ITED ISUOD PUTIIASSITAM 1900SQS qur 10 3seTsogburajsAu 10 2 sogburaasgAu seve rJngburaas 4u fosTezx poouougeAegburaasAu an13 oe3e duojo3os5buraasAu sTezs saeujoedeosqu3oo5buraasAu 0 i T 3T 2 0 fofadugagnagburazasgAu fosTezx 2397du0 271096but139SAu TlynqbutazqsAw UN rBnagburazasgAu gt Q sogburaasgAu Zen saeuj5edeosqu3o5buraasAu 10 3seTsogburaj3sAu 0 gt rEHnagburazasgAu 99 0 T 3T es eg ouogburza3sAu an13 ouogoanyburajqsAu 0 lt U FT qT t gngbutaqjsAw 3 pes1 u PTOA TUL TCUZSAUT 2 3 SOSQS PTOA wl 39xXooSqs SPN TOUTFH 447 gngburaasgAu goezrs gt T SogbutzqysAw r 203 u 3eur edae epn our s ourj e qe
147. References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler 52 Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbMotionML h e SbMotionML cpp SbMsgHandlerSingleton Class Reference
148. S 1 epniourg deu epniourj4 lt O OS SPATIU lt burz3s gt SPNTOUTE ad 39exoogqs epniourj4 ud ebessewds SPNTOUTA Y IN19A19SAS eurgepf Y IN19A19SAS JOPUJTE vooz g Aew uo peaurad u INAXeAdesqs epngour Q rir9221 do4Qxseqg uroaeu sbur33eg pue squeumooqg 2 ourmueTr SEL JTPpuo H 103092ASUUO0JSISTSP lt yx 3 3A2OSqS gt 10709 p q T p eq TTIM pue 0119 uorjeorunuuoo e jo osneooq pobbe j uoeq Sapu 23849 s3oyo0os OF sisazutod burp ou 103094 10719197 SUUOJZ M 304392931 y PDUTIIS 1 3exooSqs gt deu gepedA43 I03802e03I dew Gett ZZ ISUUOJ NM lt y PUTIJS y I9ND0SAS gt deu 19ggnq aze3gurod3exoos S1ioggnq eAr32edsez 119439 Y27M XHM S3exyoos pejoeuuoo Fo deu HeyoosTSaAATSsS jexooSqs joxyoos ey JO SsouejsuT fadAq burajs burz3g ebessoeu Jo adA2 vooz g Aew uo peaurad u IWAdXeAadesqsg epniour Q rirooa doaxseg uroaeu sbura43es pue sau umooq 2 SueusTTA c Zo z ebea 4T pue suuooAu i LI urb q suuoo u IT 1078197 SUUOJZ NU TOF dew oya UT Aex 3exoos burpuodse44g00 eu Y2TM IT 9403S pjep ur peor dew ogj ur SIUSTIO Jo Tre ybnozya erpoAo MOU pe3ep Peoy pue gt gt 32o0gjeb gt gt un gt gt sseappvaeb 49ex 2OoS gt x U3IM peusrT qease uorqo uuoo gt gt NOD pe3oeuuoo sey suosuos a llWuHAHHS IOOH enrigorpnas OL HWOOTISM SSW JOUIJ3Sg93TIJM 493X20S JUSETTO Mau OF ebessoeu e puos uu bUIJ23S Meu
149. S3T pue SOOD JI II an19 uaznjeza xoopun 30qo4 PTOA JOGQoOYAO FAOSYO TINANOSPI1SUEDAS TOOq 0 Q artriued eagoueo 1 Q utcooz eadoueo uoozurwaeb eadeueo uoozur PIOAJIWANOS 49UIe qS TNANOSPISULIAS 1 Juuoozxeyaeb eagoueo uoozxe ul UI 2 NIATTLSOIXPNISOH lt 21DULO SOJATTLXCU QurrribeNxewaeb eadeueo SOJGITTIUTU uNWOu PGALOSWppe ul u d JuegbeNxeWa3eb eieueo soquegqur OOT LTIL NVd WOOZ LINIIWVO TITAN eaoureo osTe ued pue 3773 eArg3ebeu xeu au 396 03 peou PTOAJINANOSPI1SULIAS INANOSPI1ADULIGS 1 x190T lt 20G01 paoxo90T ST 30q01 ey epruA dee ps Jou p noys 1 0T d3aTS TT IANIV YU INANOSPTISULOAS y SPATIUTA JueqdsOdXP y39b eagoueo soquegxe JO T ebeg vooz g Aen uo peaurad dd o INANOSez ureoqs 0 I TOoz doayxs q urozeu sbur3a3a s pue sqQueuno2og 2 SueusTIA 381T po3o2euuoo eq o3 seu cperreo sr pueuuoo 3S1TJ ey ueuA OTJeWOINe eq 37 p inous 10 exouey 947 ezr 9Pr3ur Zeen ou exyeu T p nous jgpoqun 30qo4 O0I 001 4O QOI 0 pe jeos eq pnous Sen eA 8 aou reuued eaoueo 07 lt 3103901 bsu 9 ebess mWwqs 3suoo o4217 INANOSPISULIAS PTOA oquegutw y e7 eos X aou sT ssoqueqxew y e eos X ZOU 0 lt X 3T 1 g gpoTun 30qoa f o eos x o eos gt X gr 1 UOOZ UOOZ ea1oueo 9808 X STeOS lt X 3T ucozuru uooz WOOZUTW gt WOOZ FT STO igoT
150. SbMsgHandlerSingleton include lt SbMsgHandlerSingleton h gt Detailed Description Manager for the messaging structure Any class of type MsgListener can register with the Handler along with a key type When fireMsg function is called it will fire send the message to all the listeners registered with the particular message type Each listener implements a fire function which accepts the message and interprets it in any way it wants Singleton concept was implemented for accessing SbMsgHanglerSingleton Required because some of the listeners want to send a message back to the Handler Singleton class assures a maximum of ONE object of its type at a given time and provides a global access point to this object It may be problematic if threading is used In that case I suggest to lock the handler by using ArMutex This was avoided here for gain in speed Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning a Singleton class needs to be destroyed by the last thread alive by calling removelnstance Definition at line 30 of file SbMsgHandlerSingleton h Public Member Functions e void addListener const string amp SbMsgListener adds a key listener pair to the map e void addListener SbMsgListener adds a listener extracts msg types key from the listener class e void removeListener const string amp SbMsgListener only removes the msglistener from one particular type e void remove
151. T J urbequo3oesAa243gbsu T 24931I3929A 203 WHHL H IGQNVHOIS eIA4V J3IUI PeIA4V euop ue I ugm sjoe qo peg3eoo eya jo euos eje eqg joeuuoosIp IM JI eours 30q01 eu umop3nys TeASeU PTNOYS 98A4 Laebeueqqs ijg9beuewds PTOA ITUT I19PPUENAS TOO De Aou pue 30q021 Sage 13410908 SYQ 31838 UOI32ODg j3IUI ZZ Joouej3sua3eb uoqeT bursae pueubsyqS a1e puegnbsu uo3eTrDurSs TO SOUPASUT UP HE qod 3a20d sTU3 uanjea 4gaoeueasrTq6su xyoeq usnduo43ooAuaa3gdbsu q130d 9 buts ISUOD LISPRLUENAS i a2obeuewds JI ppe oS 3I pUurj 4 UPTP lt Wy2T10LbTP gt epniourg pua 10I09 1124bsSUu ud LINSTAWEXHAS y SPNTOUTE G3dageueasrTqTbsu pueuoa3oeAaa3gosu urbequo3oeAa3gbsu purj p3s 3T uu IWerduexqudg epniourz OOIAj ouo eues Sus 193STb91 09 UEM 3 U0p Z 4u IWearudesdsg PSPATOUTE 1o3urod TeueyAsTTbswqs ppe 3ou JT uU INS182SIS SPNATOUTA s3sTXS ApesrzTe 193urod oui JT ees OF uo4ees pue wl INUOTIOYOS epn our4 3412U97STTP0SU 1ISU9SISTIPPe lt A1STPpUePHbsu wl INPIDAPLISUEDAS y PSPNTOUTE UADESSITO E3SIX 3I IT yoeyo 384117 ZZ uu INANOS8e429UE QS SPNTOUT zo3osaA no oi ZIoq3urod zousjsr 9043 ppe pinoys Sr nU IN1SAATADAS y epnT our4g TSopTuegbsu oui O3 2T ppe ud TNUOTIONAS y SPNTOUTE u4 LINSPUNOSGS y SPNTOUT 24193U9ISTTOSU y TAuUSsAsTTHswqs Meus Ast Tre 4sthbsz 11 beueWqs PTOA iy IN3OqoudsS epniour4 uu LISPPUENAS y SPNTOUTE Z go T Bea vOOZ 8 Aew uo p qurz
152. T HA E Eo Duo VOR u kus 61 V1 510 SOFTWARE Dh 61 5 10 1 Messio me Syste EE 65 5 10 2 SOME aaa 67 SIL Components Classes ee 68 5 11 1 SDACIUHO RG IO ia 70 5 11 2 o RD uS A ire mentee sein IUE rere 70 5 11 3 SDA CHOI OV EE 70 5 11 4 DA O a iS 71 5 11 5 SoCamera SONY EE 7 5 11 6 BC dimer ay CC ANTE see one pM Sm mE MI I Pu MSc 71 5 11 7 A Lr E 71 5 11 8 SEXI DIE MMT SS A es 71 5 11 9 o a 72 Sn P 72 MAL lee 12 511212 ASD tuno EE 72 SETS ere e E 73 STI SM o dd 73 A O A 74 SERLO aS ap nd ERR ERE ENTERS 74 LL SOO ELV CLINI x a M as 74 S L ES SOS ii tada 75 SIRIS SEH 75 5 20 State Ml mE ES S12 Command Interface E 75 5 12 1 EE He IILI Sahel He 3412 A alee ayaka kaa uyu kaa ays qu akon 76 AE A O e aa acbune se sananesasebeeetaan tales ES S42 LEE ee 78 202 15 SbCameraSONYML SbCameraVCC4ML 79 EN SU te M EE 80 IILL 3SbBxampleNIDT uen yuyu t tH a A da t an ada d audet t aU 80 A SSDOFPHDDOEVII etse eei e od i a t me Ud m ct mme mtem ciet 80 LR bereede US e 81 SG ENN Me E MI alain 82 5 12 1 11 DD SOUS OM i 83 S412 15 12 DS eae M E 84 5122 Automatic e EE 85 A SSDBDODOI MEt arera E E A E akuqapata en Goede tanin a demas ame 85 5 12 2 SWS CIV Cb M EE 86 12253 SOMse Handler binh elo EE 87 A E 87 5122 5 ir nemen im E IM EEUU ICE 87 5 13 Installation and Operation id 87 5 1
153. T Tea JT USTUITZ o3 ZZ burATI3 ae 304 TITA 300997 27309 576107 aAoH UOT3ONM JOSITP SIPSTO Sean Ze do18 lt 10q01 u dOLS I 9d 3 gT este DSTTPO ST UOTIOUJDSTITPILOTO 10 popoooXo STI ZZ ourj eoueprioeud eu3 TI3UN pexoorq eq rTIM Suorjoe suorz3oe pue suorjou TIR dog STTIM SIUJ 13018 0 tdHdasVvbava3eb bsujburpeegnea3Tedqaes 3oqoa4 u HLVIOY 9ed 3 gr este peoerd sr oer eua 31 34611 Ob TIM 31 er ZZ bou3eu 38931048 oui UT OST Uueu3j 193e91b JOT SoAGOIQOP O3 Soob 30q01 ou esneooq 184931Nn3 SIU3 OJUT YOOT OF pseu 3Y6TI MO ST HATIVIOHN MOD Butob SI HAILISOd seos1b 9q ur qunoue usaATb Aq 30q01 eu3 se3e301 eTqnop ALVIONW 0 tdHasvbava3eb bsu burpeeHaes 3oqo4 GONIGVAHu 9843 gT ST arqrssod jou sr una TINZ os gT uun3 TIAM 000 aeuueu e qrssod 3so34gous P43 UT bep burpeeu pezrsep ey 07 3oqoz au 978707 TTPM TQnop ONIGVaH 0 tdaasvbavaeb bsu 9oA30u3es 30qo4 u IHALOW I ed 3 gt esTe oes bep 3120 eA Teuoroe301 eu3 s3es e qnop THALOW Draasvbavaeb bsu 0o rqasvbavaeb bsu z 9eA3es 30qoa THAMNT 9d 3 gT este es uu ur IHOIMIIJHT Teeym yore Fo 3TOOTOSA eu3 s3 s ergqnop eTqnop THAMT 0 tdasvbavaeb bsu T9A39es 30qo4 IHA ed 3 grt esTe spaieMxyoeq sr oes uu q3roo eA s3oqo4 Sieg egqnop THA Q tHasvbava3eb bsu oAou 340oqo4 HAON ed 3 gr uu eur a3ubreag3s UT paemxoeq TO
154. THE COOPER UNION ALBERT NERKEN SCHOOL OF ENGINEERING Robot Control and Communication Interface for the Tele Robotic Theater By Marcin Arkadiusz Balicki A thesis submitted in partial fulfillment of the requirements for the degree of Master of Mechanical Engineering May 2004 Advisor Professor Chih Shing Stan Wei THE COOPER UNION ALBERT NERKEN SCHOOL OF ENGINEERING This thesis was prepared under the direction of the Candidate s Thesis Advisor and has received approval It was submitted to the Dean of The School of Engineering and the full Faculty and was approved as partial fulfillment of the requirements for the degree of Master of Engineering Dean School Of Engineering Date Professor Chih Shing Stan Wei Date Candidate s Thesis Advisor 11 Acknowledgement First of all I would like to thank Professor Stan Wei for his faith and support of James and me taking up such a large project and for his guidance as my thesis advisor Many thanks to Adrianne Wortzel for her inspirational drive brilliant ideas endless energy and her persistence and foresight in the development of StudioBlue Thanks to Professor Jean LeMee for sharing his vast knowledge of art and engineering as well the investment of his valuable time and department resources in the development of StudioBlue James Cruickshanks has been an incredible friend roommate and a colleague in the quest to create StudioBlue Thank you for late night brainsto
155. TSCISS a10d 1104 98 110d bura4SyIWAJ9A429SqS TINISAISSS a TIVIINO Je dAIDsNppe u ANES 4 edALbSWDppe u TI00u odALOSNppe TeTpuey bsu YIM bur4degsrbe4g TOF 4103298A eseq 1s8us3sTT ey OF sedA3 ebessou sppe es eg pousdo ulu buraas earurqpeqaes Q104I1N8J 9p 2104198 uSGGG H1O04ITNPJOP PTOA IWA49A429S dS TIW49A429 QS uUeo213Ssor epn ourj lt qy 3aurt edre gt eSpnTOUTA uu INA49A A498QdS SPATOUTE vooz 8 Aen uo paqutaia ddo TWaeAaesqs 0 rr902 doqxseqg uroaeu sbur33es pue squeunoog 2 eueue r ouos soop 3exoosgqs esneoeq TnjaIeo oq OF ALY 14s butazqs eqeqpuss TINISAISSAS TOOQ 1assVaeb bsu eqeqpues uzna xz TOU DU YUS DEE d su s ebessowqs ysuod ejeqpuss TWWASATesqs TOO ssoappyva3eb 3exyoos uan3ea JOYOOS y 3exoosqgBseappvauer iOo3eb TINISAISSAS PUTAS Aaexoos oseao suuoj Au dew oui UI 3I JO e2uejsUur up eSeJo 194008 J T P 391008 ou e3e 9p 1 194008S sUUOJAU a T p 7O3e1937 dew Aq o3 Iezutod z3exoos oj burpuodsa1too 4198ggjnq Oure ey e2919P v JO Z ebeg zro38ero3r OF Dur3urod a03j832193I SIq3 Op Geo r JT arna Jouy 1 JeSO O 3e320S 2181 9SN1 0UT1IS9IT1M lt I9N4D008S TPUS gt x IW219A29SqS 3oeuuoosrq peasenbaa gt gt SSea3ppv1eb 349x200S8 gt gt y 3U9SITO gt gt 3noo 39exX20S y 3exoosqsnuerT oO32euuooSTp TINISAIDSAS PTOA Ja eo o suuojo Au J8ETI US I
156. UIOOT 207 Sun SOAPOT ET Snag uns pue Sr eya dn uesaro gent ZZ pejgeedo sr bsu mau ST JT 98IM19430 jenurquoo esTeg 291 TPUS gt e INISA19SGS PUTIIS oui PSPIPOSTP obessow peg gt gt NOD ALl HDVSSEN GNWHOATIVNISSW e3eqpues Z pp purg puodas lt 9T 0 eseaie puodes lt 3T obessou ou Jo 31d sru3a pIeostp ue qoadd e sem a1949 z Pp purg puooes 31 Q uasqns puooes 31 eaeeuo bsuj gr esTe SeTez uznjor pue burzas peg oya OSPIO veya IUISSODOUnS Jou ST UOTJPOIO SU JII d nuTquoD 3STe3 291 v JO bea sodu lt puodas lt 31 PP PUTI lt PpuODaSS lt T FT 3exoos Jeu 242 yooyo os bsu ou TSQTUTTOP pue au PUT 3 U O JI 4T pue suuooAu i AT urb q suuoo u 1110781973 SUUOJZ U TOF Ario pad JuereyuT Sey 3SFT OUS UT 3UOTTO 3S4IJ Gu3 2grxe pue YI uzna r puno SI obbssou 3SITF ey ueu 4 s4iojgjnq e3ep squorro ubno4dqu3 93084931I es ej3 394 Tooq JQu241UTIT9Qd39D 4 qarurT G3 Db pp Hutazqs 91x3 punog jou SI IOQUITOSP 9U3 JI 3ST83 uan3ax Tpue gt gt INISA19SYS buruuna jou TeATESs IO ZZ p3oeuuoo 3uorIO Ou obbPEBOU 3565 3 UBPD 503000 ezts suuooAu peuedosi i 3T xew se3Aq ZIG sebessow u31A gjgjn3s uung euos seop 3exoosqs esneooq ngo4e2 aq OF SABU A4 bsu y obessoywdSs 56sw3eb IWa3oAade9SqdS Tooq Zen uzna z d 2 13s o 1qSsdu q o6ur1qaS qrimu lt IS1TI lt IT SIPyO Mei 3S8T 9u3 puses
157. US gt gt INANOSP1SUEDAS ezoweD HuTZTTeTATUIy gt gt 3no9 jr1nsed uzna z 30907 343 xoor r prnougy Z yooTun lt joqoz Sere UInj9olI ER oqoyszogyoeyoj FT 0 3 Nnss1 I1Ne3 9p PTOA ITUT INANOSPISULIDAS TOO Yea1q 1 too Z49b eaoueo jInsea Z 9SPO es e3g uanjea 4 e e43q 1 yooTurn 3oqoa jInse4g I Ns91 9TROS y 6O04ITTIUTU 3TT3 31NS91 9n19 uznaqa z sT 3OOTun lt 1oqo41 e 9eos y GodJTILXeU EH q nsea 0 lt 3IT3 3T pe35euuojsi 30qo43 g3T J TT L390 e2oue 5 3111 POSOOTe 290 03 gt eseo Jager 1 g ooqun 30qoa e eos y sogqueguru ued j3Insea A TUE esto 1 10GO1 ZI JAUOSIY Meu ioueo 8798908 y soguegxeu ued j3Insea 2199 93eIep 0 lt ued Zt TTAN Big FT uegqeb lt ezoures ued ojgerep 30u op uequj Daiptiupieut jou eIaueo sy JI 0 eseo MOOT 3Oqo3 3S81T paozosuuoo ed OF sey oh 0q0I J uo3T s 1 xpoOT 30qoa 10301 1 3T sT 10 ued rqnop SZTTTITUT wey pue I03UTOd 30901 943 s3epda ST 3T JI jIT3 STQnop Joqoz 9u3 JO uorjrurgop 9S2T 949 uey QUSISJJIP ST AT FT 19949 SISIXOS JT JI 00T ereos STqnop fosTezF uanjea 0 31nS91 eTqnop TTAN u LOGOYHES n 109OYPUTI eTAY A FT I x JOQOYAY g 3ur e3 3S395 TWANOSePASWeDdS STqnop S8T87 UzxrDjOr 3OU JT ST Jogos SHIT JT yoqay ey3 uzn3 z ysnl suo Dro oui se owes y sar pue S3SIXO9 JI QT on uznjer Si poj326uuocO
158. UTOd q30gor Sys teen SI 3T Jr 30q01 oni FO UOIjIUTJODp SET ey Uey JWUSTEFFTP ST JT JI 19949 SISIXO JT JI 3ST83 uan3ax TTAN u LOGOYHES 10 9OYPUTI eTAY 1 3T fI x godqogzv osTPJ unio jou JT SjSIXO 2001 S41 JI yooyo 1 OheoTSuequrpy3eb eadoueo MOTSUeqUT 1 JQuucoZurjy3eb eagoueo uoozur 1 Juucoozxejya3eb eagoue2o uoozxe Qrlrlsodxewa3eb eageueo sogaTTIXO oui urn jez 3snl suo pro ey se outs y SIT pue SISTXS IT 21 1 ATTIOSNXPENISO lt 219UeD SOJATTLUT Jeni uznq rx ueyz pezosuuoo Sit pue soop 3I JI 1 JuueqboeNXxeWaeb eadoueo soquequr PTOA OJOFIOAADSYO INPDDAPLISUELDAS TOO UI UI UI UI UI UI UI UI UI UI JueqdsOgdXe y39b eagoueo Soquegqxe osTe ued pue 23772 eAr3ebeu xeu oui 396 oi pasu 390T 30qo4 1d 000T d TS ITINIV PTOAJINPODARIDULIAS INPODALIDULIAS TPpuS gt gt y TUT NIdj gt gt 3n09 2 g gooTun 30qoa 1 ITUT lt 219QUe0O NYO JS dALOSnNpPppe 390T 30qo4 O0T ITIL NYa WOOZ LINI ITIVO deeT s TTJNIY TTON eaoueo yooTun lt jogqo rz T Zemod lt ezsued PTOAJINPIDALISUEIAS INPDDALISULDAS 190T lt 30G01 iiipexoor sr 30q01 y eTTYyM daats Jou pTnoys TPUS gt x INPpIDALISUWELIDAS ezoweD HuTZTTeTATUIy gt gt 3no9 YU INPODAPLISUWLIAS y PSPNTOUTE 4 iiipexoorp sr 30qo1 ay e ru4 dseTs 3ou prnoys 000Z JO T ebeg vooz 8 Aen uo peaqurad ddo IWpoOoOAeaeue2qs 0
159. Union The project s goal is to establish a common ground for collaboration between art and engineering that will foster an interdisciplinary learning environment for the creation of theatrical performances where the primary performers are robots and the audience is present virtually through Internet audio video stream StudioBlue is a laboratory outfitted with theatrical lights Chromakey equipment a turntable stage and a variety of audio and video production equipment as well as a number of ActivMedia robots This report also presents a communication platform created to enhance the interactivity and the programmability of StudioBlue s robotic actors The Robot Control and Communication Interface RCCI provides a clean and efficient text based robot control interface using the TCP IP protocol RCCI was developed in C on top of ActivMedia s robot application programming interface ARIA Intuitive text commands control major robot functions via Telnet operation or software with TCP IP capabilities RCCI serves as the robot side control interface for James Cruickshanks visual robot control software Graphical Robotic Activity Scripting Platform GRASP Keywords robot control theater ActivMedia IV Table of Contents T INTRODUCTION ona 1 Z JAISTORY OF THE PROJECT uu uuu uuu cia 3 2 1 National Science Foundation Grant Robotic Renaissance 3 2 2 Camoutlaco nig uuu usa uh m EE ee 4 2 3 Rede
160. Wezrudesqs SUTISPE u IWertyudesqs tepurt vooz 8 Aen uo peaqurad u IWeaziudesqs epniour Q rirooa doaxseg uroaeu sbur4j43eg pue sau umooq O ourmueTr Hoasgpeza5gs p rreo ST uorgoujgoe4drp4ee o 10 pepeeoxe ST SUT eoueprioeud 9Su3 Tr3un PeYOOTA eq TTTM SUuOI3O0 suorjoe pue suorjou 778 do3 S IM SIU3 udOLS ed 3 grt este butuuerd y3ed 3uerperb eztydes oui sdo3s dOLS i a39e5 30qo3 1I rtaasvbavaeb bsu X39b 30oqoa 0 rtdasvbava3eb bsu peo94espe22gs TARUOSSNPLIDIS TEOD ey3 3o Qqubrez3s ATeaTeu seob 3snl 3I os ejep aieuos uo suinj 2 HOT3OWJ32eSa2rQqauePeT 2 30qo4 burgeAr3oe OI eairudesg jo uorgjeagueue dur uorjoe eudoQUT 3guoAe4dd TIAM spueuuoo uorj3ou 3091TP snorAe4dd estmioy3o peaurnbeg ST SIU3 uOLODI yn 9ed 3 gt esTe 3gyeT ey o3 bep 06 pue peeue Qqubre23S ST X sogeurpaooo x s3jdeooe Boerora3sqo proAP 77 OJ e3ep 1eu0s sesn 3nq eob uoArb ayy oi seob aeTqnop eTqnop OLODI Tpue gt gt 1396 lt 20901 T 1qasvbiv190b bsu gt gt u u2 X3eb 30qoa 0 TUGSVb1AVIEbH Hsu gt gt y OLODASu gt gt INOD 0zx39eb 30qoa 1 raasvbavaeb bsu X39b 30oqoa 0 rtadasvbava3eb bsu peo234espe292gs 1 Qaueuosespnpezg57s reob ei 30 396718738 ATSATeu soob 3enl 3r Of Sec IPUOS FIO Suinj 0 0 x3eb 30qoz Xaeb 30qoa esogav oleAou c 30qo4d Teob oi 8900 3T etozjoq bur3e301 PEO euos soop 3T OS of jse ey 1937
161. YU PTI SPNTOUTE ud ebessewds SPNTOUTA YU 19U9ISTTO SNAS y SPNTOUTA Y TINPOOAe4deue qs eurgjep4 H dNvOOAeZXoueoqdS ISPUTTE vooz 8 Aen uo peaqurad u INP2OOAeaeue2qs epnour Q rirooa doqxseg uroaeu sbur33eg pue squeunoog 2 ourmueTr i eTeos y soguegxeu ued arnsea 0 lt ued Jf 90q01 249 YOOT I prnoys 1 yuegajab lt e1aueo ued 3ST83 uazn3jeza eseo JIOJOYIOJADIYO FT Jager 3 nS91 I NS891 PTOA ITUT INPIDAPLISUWLIS TOO Sy epeos y 6OJITTIUTU 4TT4 310591 osTe 9TBOS y GOgJgJ3TILIXEU 3TT3 21831 3ST83 uanjea 0 lt I119 3T qo9oTun 30qo4 ATTLIeb lt ezsewed 37111 eseo an13 uaznjeza i sOOTUNn lt 10007 J YO ATMS 190T lt 30O01 0pe35euuojsr 30qo3 gT 10 ued e qnop ADO T lt 20007 0 3TI3 erdnop 00T Teos STqnop 2 g ooTun 30qo4 0 31nseda rqnop ent JOGQOA POOAAY Meu PI1DULO D9o349AUT ST ez ueo ey 23842 3087 ey s3es oni 3 3ur e3e3S39b INpDDALISUELIAS STqnop e19U eO eietep TTAN eroued FT eJeTep Jou op ueuj Daiptiupieut you BIQueo JI 391 uanjea 2 1DOT lt 10q01 O ADOTUN lt 10001 AEITI pogoeuuoo oq o3 Sey peaarursr eadeuto 391 TOO id SOCOI 0 O aTtTLued lt ezeues 1 Q utcooz eadoueo 10301 1 3T sT MSTSITTILXPNISP lt 21aueo MOTSATIIX MOSTSITTLIUTNISP lt 21DUeO MSTSITTLUT ho Suegxepy3eb eadgoueo MSTSUe axe OZTTIJIUT US pue IOJ
162. a34q suo pee4 u qpaeu epn our4 u orp3s SPNTOUT E z ON oKq3adusgngburaaqas 4u lt q Ou114 gt pnToOUurg iu qur fT q SETS 18b6 6 9 008 IE0 0 HN 3sz uuv AATIG PIQqun OO 6T SOI3OqOM PIDO9WAT3OV PTOA JPDUTIISPLII 19NDOSAS y aeuo TO WOD PTP9UATIDOYSIOGOL je VIMV JO UOTSISA PIOJSUUOO e jnoqe UOTIPUTIOJUT 10 SOI2OqOM PIDSWAIJ39V TINN Suanje4 3T peq sem jexyoos 3oe3uoo eme qu z jJjJrIp 19pun GIN 9e3nqrzg3SIpo4 O3 USTM nok JI sq Jr pue 191081870 J3 amp IIJI Qi Gare rz ggep z ou sem 91949 JI burz3sS uznasSi e73ep pooh sem eodoqu3 JI Uudnje4dg YSN LO I IIICO VW uoa3sog ogg earns eoe gq e qduejy 6G ouj uorqepuno 7 Z SUTJ YIOM O3 SUDOS OJIPbMjgOS 91H au OF JTI M 3ou Jr uerbord sty U31A HuoTe zz ST nssr y 3eu4 eos OF saieuo OZIS O3 STY p puedx AEU I su orT OTTQng Tez u 5 AND ey jo doo e p Ar oS rxr oAeu pTnous nog Z soop 39584799 sod Sua sburya sq Jo suos 107 Sjesuoduos O3 ern zz TRGISIUT UMO SIF OQUI SIOIOPIPUO 54 peor 3r SE DUOT se STI8939p estou TOF su orT or qngd 949U92 ONS PE sI930 18y09 ZIG Ueya SSe sbutiz3s peer Arus p noo uorjoung eurbi4O QL 949 oog dsSOdHfld HWVIDOILWHVd Y HOS SSHNALI 40 ALITISVINVHOHSMW of jexoos 249 uozj Durz3sS e Sspeoy JO AquedgageA per dur y ueAe 3nou3r 4 ALNVIIYM ANY INOHLIM Nq Af Tngesn eq TTIM 3I 3eu3 edou ey UT peajnqidgisrp sr we1bo1d ETUI Z L UOTSISA 19387 Aue uora
163. ack to the message handler virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions bool checkForRobot void checks if the robot exists and is connected void init void initialize the actions virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes ArRobot robot internal robot pointer string type message type SbActionGoto goTo Non Aria goto action SbActionRotate rotate Non Aria rotate action SbActionMove move Non action move action ArActionAvoidFront avoidFront front avoid ArActionAvoidFront avoidSide side avoid ArActionBumpers bumpers bumper action ArActionConstantVelocity constVel keeps velocity constant ArActionLimiterBackwards limitBackwards limits objects in the back ArActionLimiterForwards limitForwards limits objects in the front ArActionLimiterTableSensor tableLimiter table sensor ArActionStallRecover recover recovers from a stall ArActionStop stop stops all actions 16 e ArActionTurn turn Aria s turn action e ArActionGroupStop gStop groups e ArActionGroupWander gWander groups e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Constructor Destructor Documentation SbActionML SbActionML void Destructor if gWan
164. ad ddo TWe43eq3sds 0 rr99a doqaxseg uroaeu sbur43eg pue squeunooqg 2 eueueT r4 8 15 Test Application Source Code Java 303 poy3au ureqW Log QUZINIXVW 9Ueijp3eispepue3x41es eueij OZTUTXPU aztsusa10s9986 1T1I470011I NneJ 2019B TXT00L 9ZTSS91 SUWe13 2 0 0 S9Aou ouezJ eonZ3 9 QT S TA39 S oue 217 LS Z 3uDtequ ezigeuerj qubreg ezrsusedos ZS u3prA eZ2T59U51J YIPTM SZTSUSSIDS UOTICHOTISS Sum ZT yIPTM SZTSUS9IDS UYIPTM SZTSQUCIJ YIPTM 9SZTSUDOIOS lt UYIPTM SZTSOUP1J FT iubreu ezrguoedos qubroeu ezrigoueaj auoreuezrisueeugo5s lt qubroeu ezrgouegj FT ezrSaeb oueadj ezrgoueaj uorsuoeurq JezrSueea22S3eb WTYTOOLATNeseq yeh ATYATOo L SZTSUSDIDS uorsuoeurq MOPUTM al 4193U92 d SqePTTeA swelrs este yoed swerzs weazyqyoed JT jno eT rel woaz bre ogur ezrs peaagegead ngjesn saey qey seuezj 3oeg SOZTS 3J9sead saey 3843 soue42j 939pIT A 1 pueagj oagaquojoesnoy Meu ouegjoueag4j qoag3uooesnow ypozauooesnoy oT Tqnd uorjeor dde ei 210n138U0 es eg oueza4xoed uee ooq TO1I1U0JSSNON sseTo DTTGnd O I UOTSIDAS rqeanqra33e jou iouanejg d Aueduoj d d p00z 9 qybtzAdoD aubriaAdobo d d uoradraoseg d IO34UuO2eSnOWN Meu lt d s gt fSTALI d poerzlyoeasqutad s uoradeoxq uo3eo lee4puvxooTpue agog pue qagoq gerd pueT agoq uoo 2310dUT G uIleegpuvxooTpueqdog puerqagoq
165. ady detatched Definition at line 63 of file ArThread h Member Function Documentation bool SbManagerT init void Initilizes robot and TCP server failed to start the server Reimplemented from ArThread Definition at line 70 of file SbManagerT cpp References initMsgHandler msgPtrVector SbServerML open port sbRbPtr and tcpServer void SbManagerT registerListener const string str SoMsgListener msgListenerPtr protected registeres the listener with the msgHandler also registeres the new pointer with the local memory manager which uses the msgPtrVector to delete object after this class 1s destr Definition at line 32 of file SbManagerT cpp References SbMsgHandlerSingleton addListener msgHandler msgPtrVector and registerListener Referenced by initMsgHandler and registerListener void SbManagerT registerListener SbMsgListener msgListenerPtr protected registeres the listener with the msgHandler also registeres the new pointer with the local memory manager which uses the msgPtrVector to delete object after this class is destr this one calls the function in msgHandler that extracts types out of listener Definition at line 51 of file SbManagerT cpp References SbMsgHandlerSingleton addListener msgHandler msgPtrVector and registerListener void SbManagerT initMsgHandler void protected Creates the listener objects and registers msg Types with respective listener remember to d
166. ae siodunq Sit jo Aue JT pojoeuuoo ST 3001 942 JI sxoeuo 3I 10J2 7NUTS 10 3001 PSI ou O3 SUOTJOSUUOD SoprAO4d SOPJISYUT 23001 S VIMV JO oue3asur pue sazPeTD Oe rea3s saedunq sio119 TOF sxoouo pue uorjoouuoo 30q01 sebeuew J TW3OqoHqds ssero A FER IL M PLE rae 11 ZZ ZZ Ky ois eoedseuru Duren bura3s epn yourgs ud PTI SPNTOUTE ud ebessewds SPNTOUTA y U 19U9ISTTO SNAS y SPNTOUTA Y TW3oqowqs eurgjepf Y INI0GOYAS jJopust vooz 8 Aen uo peaqurad u IN3Oqouds epniour Q rroo02a doq3xseg uroaeu sburj33eg pue squeunooqg 2 ourmueTr esTeg uanaqea OT quno2 grt FAUNO 3ST83 uanjea O00T1 deers TTINIV TPUS gt gt Tpua gt gt 3J rT Sieg gt gt qUNOD 6 gt gt a dW3oqoudsS 329euuoo o4 1dus173e 3 Uu0p os butuuna Jou ST VIMV I gt gt 3noo i puooes T ur urebe bur u3 103e nurts OF 3oeuuoo JOU pPTNOD gt gt 3noo ad a3due433e uora32euuoo PAeOSTP VIWV ONISSWlIGNHS MeTpueudorbspwpues KJutebe Putra GHTIVA NOLLOINNOD DSW UNAS y 2eTpueHOLoswpues Oburuunua3eb erzv i 3T aoeuuopburxoo gd 30qo3j 3t Qg deegs Tr304V Tpua gt gt a Dburaqao uuoo gt gt 3noo peg3eurur e eq Aew uorjoung 3oeuuoo STJ AemAue SX1OM 3I U9Qj pe 99 sem JIUT OU JI pooh s3T 3 Uuseop 31 3nq opo395oSuuoj5sr eTTUM lrxe O UMOp3nys pue YTUT ueeA4jeq eur3 ey3 uangje4q pTnoys butruuny39b 9 qQunoo UT wezboid eues ay ur 3TX9 I
167. aimosaic robot lab research MissionLab gt February 2004 40 User Manual for MissionLab version 6 0 Georgia Tech Mobile Robot Laboratory April 6 2003 lt http www cc gatech edu aimosaic robot lab research MissionLab mlab manual 6 0 pdf gt April 2 2004 4 The GNU General Public License lt www gnu org licenses licenses html gt March 23 2004 42 ActivMedia Robotics Interface for Applications ActivMedia Robotics 2002 lt http robots activmedia com ARIA gt April 6 2004 43 K AFT Radio Robot Theater lt http www aftimes com actionradio nav robot radio gt February 2004 44 IBM ViaVoice Outloud API Reference Version 5 0 Beta IBM 1999 45 Carasik Anne H LINUX System Administration Foster City CA M amp T Books 1999 46 GCC home page March 28 2004 lt http www gnu org software gcc gcc html gt April 6 2004 47 Vim Online The VIM text editor lt http www vim org gt April 6 2004 48 KDE Home Page K Desktop Environment lt http www kde org gt April 6 2004 49 Doxygen Documentation www doxygen org gt March 22 2004 100 50 dd 22 53 54 Kalev Danny Implementing the Singleton Design Pattern lt http gethelp devx com techtips cpp pro 10min 10min0200 asp gt April 2 2004 Link for ModelSim Choosing TCP IP Socket Ports The MathWorks 2004 lt http www mathworks com access helpdesk h
168. an3ea UST qur Hsu y proa qasuoo ortpu s AUT jexyoos u3 uo ebessoeu e pues 2 0 UST 33nN9 x azeuo qI34u A091 uan3ea 70 uanjea 1249 9 TION rr N 39eSp3 9 T 04400 399798 FT 1 398P 9 qaAu rdHs da 39Sp3j 5 OHHZ Gua Q000T x 0001 areMSu D9SN AF T244 0DOT 3reMSu Ses ETS 19Sp3 49S PJ TCA 9A9UTj 30n193s 0 i JTemMsw FT 0 areMsu qur peubrsun ue q 9ZTS jJjJnq x PTOA pesr aur peor soj3 q go Tequnu uainje4g BAe 207 DUOT Sri ITEM D lt JT Zoo 3 U0D 9 JT STEMSU weTedg pee4 o3 se3 q Auew moy Uer ueiedg OJUT pesar oi 1933nq jgjnq ueiedg jexyoos BY WOIJ peoW 1 U T jgnq x zeuo dq4Au o4r4AM4 uazn3eza 10 uzna z 0 gt TRAV TION 29893 3 ITAN T qa u qo T s grt qespg qaAw Lys da 198P 53 OWMZ dA 10 D SN AQ TRAIT 70 09S AJ TRPAJ ISS Et 49S pi TeA7 8ASUTA 3ona3s UST q 9ZIS IJInQ x PTOA 2ISUOD SITIM QUT UO33144 so34q jo Tequnu uinje4Jg o3144 O3 s q q Auew moy us uezgedg UOZIJ 92144 OF 49ggjnq jgjnq uezdedp jexoos Oy 09 9314M SSOTO TOooq jexyoos BY eso 2 20S yx 3exoosqdg a3deooe Tooq uUuOr3oeuuoo Mou e 3deooVv UTS UT APPeYOOS 3o0nad3s orla3o2euuoo Tooq ssoIppe uoArID au oi 389x008 eu 3oouuo 1 a10d qur sou x AY qasuoo orL3oS uuoo TOO ssoIppe uoArID au oi 389x008 eu 3998UuU0 Q10O4I187S JUT IOIPTTEAPUTI TOOQ 3T O3 3exyoos ey3
169. ar up to 32 will be returned If the second argument is 1 2 3 or 4 one of the following sets of sonar will be returned 0 all 1 0 7 2 8 15 3 16 23 4 24 31 MSG SONA R double double double double double double STATE closestsonarlintjint Will return the number of the sonar that has the closest current reading in the given range Requires start and end angles MSG CLOSESTSONAR sonarnumber distance STATE sonaron Returns whether the SONAR are active or not O 0ff 1 on MSG SONARONIint STATE tablesensors Checks if the table sensors are triggered Returns LEFT RIGHT with 0 off 1 on MSG TABLESENSORS left right STATE motors Send whether the motors are activated or not O off 1 on MSG MOTORS int 5 12 2 Automatic Response Messages The following messages are automatically generated and sent out to the connected clients when events occur 5 12 2 1 SbRobotML MSG CONNECTED This message is sent after a successful connection to either robot or simulator MSG DISCONNECTED 85 This message is sent when a connection is lost between robot or simulator and RCCI Disconnection can be user initialized or unexpected MSG CONNECTION FAILED unknown connection method Warning when an unknown connection type is specified via the CONNECT command i e CONNECT rbt MSG CONNECTION FAILED serial comm problem Refers to an instance of a connecting problem related to opening a serial po
170. ard interface is very efficient as it uses single characters to activate a command e p will turn on off sonar sensors Very few functions are implemented and do not accept arguments 40 5 2 ARIA and Saphira ActivMedia Robotics Interface for Application ARIA is written in the C language in an object orientated paradigm It functions as a robot control applications programming interface for ActivMedia Robotics line of intelligent mobile robots 18 ARIA is versatile and flexible client side software for easy efficient management of the robot server as well as access to accessory robot sensors and effectors It can be run multi threaded using its own wrapper around Linux pThreads and WIN32 threads It can be used in many different ways from simple command control of the robot server for direct drive navigation to development of higher level intelligent behaviors such as obstacle detection and avoidance intelligent navigation ARIA sits on top of the mobile server that is found embedded on the robot s microcontroller The server manages low level tasks of robot control and operation including motion heading and odometry as well as acquiring sensor sonar Infra Red information and driving accessory components like the PTZ camera Since ARIA is released under the GNU Public License any distributed work which uses ARIA must be distributed with the entire source code of that work open source 41 ARIA is continually up
171. area of multi agent mobile robotics The initial step towards this goal was a creation of an undergraduate interdisciplinary course EIDIII Design Illusion and Reality by Adrianne Wortzel and Carl Weiman that focuses on a robots and art and is a great complement to the new robotic development environment initiative 3 2 2 Camouflage Town Camouflage Town was an interactive tele robotic installation by Adrianne Wortzel commissioned by The Whitney Museum of American Art in New York City as part of the Data Dynamics exhibit on display from March 22 to June 10 2001 10 11 12 The art piece was centered on a semi autonomous robot Kiru which lived m the museum and acted as a physical avatar for Internet users interacting with museum visitors Figure 1 1 A person was able to navigate the robot around the museum lobby use text to speech control camera movements hear see interact with and experience the robot s environment via a web site from anywhere in the world Figure 1 2 Whitney Museum visitors communicated with online visitors by speaking to the robot and gesturing to its camera through a live web cast DATA DYNAMICS Figure 2 1 Kiru Interacting with Whitney Visitors Kiru played the role of a cultural curmudgeon interacting with visitors and contextualizing the exhibition through its comments on issues of mapping physical and virtual space and physical virtual identity While Kiru was in the autonomous mode he had
172. ass was generated from the following files e SbExampleMLT h e SbExampleMLT cpp 39 SbGripperML Class Reference SbGripperML include lt SbGripperML h gt Inheritance diagram for SbGripperML Detailed Description Manages Gripper functions SbGripperML controls the gripper Performance PeopleBot if present It controls the lift gripper arms and returns the state of the gripper open close liftmax etc Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Note You can use the sendMsgToHandler to fire messages back to the handler Bug None Definition at line 21 of file SbGripperML h Public Member Functions e SbGripperML void Constructor e SbGripperML void Destructor e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions e virtual void addMsgType const string m 40 adds the message type that this listener should listen to Protected Attributes vector st
173. ation ArAction Class Reference ArActiontinclude lt ArAction h gt Inheritance diagram for ArAction Ar amp ction SbActionGoto SbActionMove SbActionRotate Detailed Description Action class what typically makes the robot move Definition at line 39 of file ArAction h Public Member Functions e AREXPORT ArAction const char name const char description Constructor e virtual AREXPORT ArAction Desructor e virtual AREXPORT bool isActive void const Finds out whether the action is active or not e virtual AREXPORT void activate void Activate the action e virtual AREXPORT void deactivate void Deactivate the action virtual AREXPORT ArActionDesired fire ArActionDesired currentDesired 0 e virtual AREXPORT void setRobot ArRobot robot Sets the robot this action is driving e virtual AREXPORT int getNumArgs void const Find the number of arguments this action takes e virtual AREXPORT const ArArg getArg int number const Gets the numbered argument e virtual AREXPORT ArArg getArg int number Gets the numbered argument e virtual AREXPORT const char getName void const Gets the name of the action e virtual AREXPORT const char getDescription void const Gets the long description of the action e virtual AREXPORT ArActionDesired getDesired void Gets what this action wants to do for display purposes e virtual AREXPORT void log bool verbose true const A
174. ayppe vu 9seo ADS 3ueunbozvppe cu 1 ONS wl U ebessewds 0 aursvbava3eb bsu uo43TA s 1 g ooiun 30qoa adA120q04326 lt 30q01 adA3 buti23s Iw IYVNOS 9d 3 gT este NO I 44dO 0 UO pue JJO Aeuos oui suanj 3UI SMVNOS U3dALLOHOH 0 13Ssvbava3eb bsu gr este odAI 20903 suznjzey HdALLOHOM TIENE SPUPUUIOD AY JUTWOD lt I0GOI tuna D 9SPO uu otpueguoribspypues Jager eoujeu 1ueunbayppe u 0 TIIJVNH Spueuuooav 3uuoo 34oqo4 HdHALLOgOMW 3ueunbiyppe vu 0 9seo u SSW aueunbavppe u 0 aursvbava3eb bsu uoarAMs a INES a U ebessoyds y ootrun 3oqoa uSHOLOW ed 3 gt esTe eoueN30oqoua3eb 30qoa2 eueu Hbutsz4s NO I 440 9 UO pue JJO sadojgou oui suanj 3UI SMOLOW y jo y ebe vooz 8 Aew uo peaurad ddo TW3oqougds 0 rr99a2 doaxseg uroaeu sbur433eg pue squeunooqg 2 eueueT r4 jtpueg UTM UT puruneda 30d JUSTpPeIb 107 BUOIBUOHID J MOPUTM JUSTPPID oui JO ezrs oui S2993 UU XUIM JUE butuuerd y3ed qustTperb 107 Suorsueulp MOPUTM JUSTPPID oui JO ezrs oui S2983 UU SUO0p qur ouop SIT Seprioep 3uerpe4b ey USYM Teobh 9y9 DOIT ST 3001 ey Aeme eouej3sIrp 9842 uu d 3SOTO qur bpou eso o 079 seuo3r4s 3r ueu4 Teoh ay WOTF ST 2001 ey Aeme ooue3SrIp wu seTqerzea eadrudes pS TUT TOOQ P ZTTTJTUT ou SALU fodAq butazqys eTqerriea od 3 ebessou PTOA J10OYI104ADSYO TOOq peq32euuoo
175. bMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbActionML h e SbActionML cpp 18 SbActionMove Class Reference SbActionMovetinclude SbActionMove h Inheritance diagram for SbActionMove Detailed Description Action that moves the robot forward and backward SbActionMove drives straight by a given distance The action stops when it gets closeDist away You can give it a new goal with setGoal cancel its movement with cancelGoal and see if it got there with haveAchievedGoal This doesn t avoid obstacles you could have a
176. bient light such as the Chromakey screen Artist in residence Huy Truong solved this problem by applying diffusers type of flexible translucent velum to the spot lights and adding 8 fluorescent shop lights which also use the diffusers Standard 48 fluorescent double bulb lighting fixtures are excellent for evenly lighting the background and even the actors All the lights are covered by one of these Rosco diffusers e Rosco RSCLX diffuser 116 Tough White e Rosco RSCLX diffuser 102 LT Tough Frost Figure 4 29 Fluorescent lamps with filters The velum like sheets are attached to the light fixtures using common clothes pins For more accessory mounting options extra stands and mounting equipment was acquired e 3x Avenger A205SCB 40 C Stand e 3x Avenger A205SCB 40 Century Stand e 3x Avenger D200B 2 1 2 Black Grip Head e 3x Avenger D520B 40 Extension Arm e 2x Bogen Deluxe AutoPole 39 Figure 4 30 Lighting Accessories Lighting is an art form but with the right equipment and with time desired effects can be achieved For more information on lighting consult Dan Porvin s guide 33 appendix The following figure displays the typical arrangement of combination of lights The working area is defined by the limits of the blue screen 40 15 4 E nn ZS 176 Fluorescent Hanging Light IS Fluorescent Floor Light O Spot Lights m Fluorescent Stand Light Figure 4 31 Sample layout of lights
177. buraas obessou jo ed 3 suuange4g t 43S 9 buts qasuoo qae 1zo TOooq obessou Jo sp orj Dip pue edA3 au s39s pue sosaed amp eaqrur pep uznqyez PTOA J19ITUTTSISL PUTAS TOSS9DDP 19 TUTTOP p 1SITUTTOP p 5 bura3qs qasuoo 1 3arurT Gq3 s PTOA jeuiog obessou y 10 4o31ur op oui s3es T JUTAUSUNDIYAIAQUII PTOA obessou wo queunb1e ue serQuel 1 bie 9 buraas a3suoo jueunbayvppe PTOA obessou y oj 3ueunbie ue uo sppe PTOA TESTO PTOA obessou Sul s39891 HA 4 3 Bbutaas ysuod edAL es PTOA obessew Jo d 3 eu3 s3eg proA ebessopWqs 1039n139890 1 3 pbutazs ysuod burg asuoo ebessowds spurzq3s z qrurT p pue ebesseu pesiedun u3rA 10799N19S8U0D aeqarur ep PUTIJS 1IDAPSU Y lt BUTIAS gt 107094 ASuOd shessosepgqs 1I93TUTTOSP epue 4103284 pesied e uo4dj obessou e sojeo4do 2849 1039n198U0D 1 edA7 9 OUTIS ysuod shessepqs obessou JO ed 3 oui s3es YOTYM 1039N19S8U0D DrOA obessopds dogonageuopn yy oTTgqnd J SPPSSINAS SSPTO ouoN bnqg uoN4Vlgeo9N4vV lZz9MVI I24V I HdA LDOSW lt 19ITUTTOP 3 negep oui sr e3ouj 3 s sr d 3 obessowqs y ourlrj uduoAo Jes sr duejsourj e3oug eod 3 e qra3eduoour ue 09 bur4js 31enuoo OF bur ag43 10 burxopur U3ITA 101193 ue MOTYQ 492720 T 403998A burAoue4 Aq poeds eAo4duj opoz3p FOOZ uo4eW ea3epg TyOrTeg UTOTPN aioujneg ll9g uooz wvoO erduexy peduejseur
178. burg3s ziequnNSr e oessoeWqs TOOq jnq dweqssut 3 B SWTITEOOCT 9 OG Jnq ourqjJ3a3qs 0 8UTI 3 Y SUTI os13ngq zeuo Zeurt 2 Surz3s z proA jdureas urr3a s ebess Wqqs PTOA 2 013s o r z39Ab29 FO Ve aut uana z q uzna z Tpua gt gt a SPessanas Tqqbze oui se ozaz buruanjoea gt gt a 1oqunu e jou st pIe au do shuez FO Ano Xe9epuI gt gt NOD T 13DABIP ISQUNNST i gt T Q Aadue z35A529 gT spunoq jo 4no jr 3suoo T JUTIUTISVPIVISO SPessanas qur f 13s sso uaznqez UPOI3S OQUT QUT 1198UE iT gt gt SSO 2 A A 4358 8S80 j nsez uzna z 0SZ au SSOoueez3sburga3so Qburrasgos UT pean uorjounz uPSIJS eureiut go ebeg vOOZ g Aew uo p qurzd ddo ebessewqs 0 rr99a doqaxseg uroaeu sbur43eg pue squeunooqg 2 eueueT r4 I JO T ebeg JTpPpuo odAq pbuta3s obessou Jo ed 3 1 proa 1oqoHaog4xoeuo TOO peo3oeuuoo sr pue s3asrx oouejsur VIMV 23001 942 Jr syoaeyo 11001 y IJOOHIV 193utTod 30q01 B8UJ93UI pe32e3oad bsus shessaewqs 3suoo ourj PTOA Tenqata SJIIJ 09 198U9ISTT ey pesneo qoruA4 oebessowqs bsums ueadedp uorgoung ena3arA ea4nd 4dgeuej3srTbsWqs oui squeue dur PTOA JINUOTIONAS 1039n139890 PTOA INUOTIONAS 03001386U05 7 oTTgqnd 19U9ISTIOSHAS DTTGNA TRUOTIONAS SSPTO ouoN bnqg TeTpuey oui o3 xoeq sobessou o41j OF age puegorjbswpues u3 esn ued nog o3ou
179. c Activity Scripting Platform GRASP 3 2 3 ARIA The robots are for the most part provided by ActivMedia Robotics and come with application programming interface written in C called ARIA along with a higher level navigation package Saphira 18 20 21 This platform is rather cumbersome and difficult to utilize for first time users requiring expert knowledge of C as well as familiarity with a large application It resides on the robot s PC or in case of the AmigoBot on a desktop machine ARIA has no graphical interface that is useful in a theatrical environment and developing applications requires time and expertise Therefore there is a need for a way to quickly and easily allow non technical person to take control over the robot whether it is prescript or real time via a clean and efficient but high level interface that hides the complexity involved in robot control 13 The application needs to be easily maintainable due to frequent software updates released by ActivMedia The communications interface over TCP IP 22 needs to be modeled in a structured and consistent fashion and be platform independent and easily implemented so a graphical user interface could be created in any language to connect with the robot exampled by GRASP but it should also interact with a simple text based TCP IP client like Te net This approach permits distributed processing to expand the capabilities intelligence of the robot and take advantage of
180. c and Synthetic Performance CRSP is a project in development by Frank Garvey and is a part of Robotics Institute at the Carnegie Mellon University CMU According to Garvey CRSP is a vehicle for the creation of new technologies performance languages and engineering visions which interface science and technology with the primal effort to understand the human condition through the arts 25 A planned centerpiece of the CRSP is a smart theater or a space whose structural elements built in electromechanical systems robots with integrated virtual reality Garvey proposes that the theatrical laboratory environment will extend concepts of artificial architectural intelligence and will have numerous built in performance enhancing sensors and the capability of integrating virtual reality sets and be capable of exploring other strategies allowing robotic and human actors to interact with and within a three dimensional architectural scale digitally imaged and or roboticized space 25 According to CRSP website the following projects are or were recently in development at the research center Smart Theater Research Project Development of new technologies for a performance environment integrating state of the art robotic performers with virtual reality sets and performers House of the Deafman A full length robotic integrated music dance theater piece about the Black Paintings of Francisco Goya in collaboration with the C
181. cally do it is using robot gt setDirectMotionPrecedenceTime but this may block actions forever if set too high 12 5 11 13 SbMsgHandlerSingleton Manager for the messaging structure Any class of type MsgListener can register with the handler along with a key type When fireMsg function is called it will fire send the message to all the listeners registered with the particular message type Each listener implements a fire function which accepts the message and interprets it in any way it wants Singleton concept was implemented for accessing SbMsgHanglerSingleton It is required because some of the listeners need to send a message back to the handler Singleton class assures a maximum of one object of its type at a given time and provides a global access point to this object although it may be problematic if threading is used In that case ArMutex should be implemented This was avoided here for gain in speed In the future instead of making SbMsgHandlerSingleton as the singleton the manager class should be the singleton and the reference to it should be possessed by all SbMsgListeners However these relations would be forced since listener is far away in function from manager listener gt handler gt manager Another way is to add lock unlock feature to the handler Singleton class needs to be destroyed by the last thread alive by calling removelnstance 5 11 14 SbMsgListener Abstract class for the messaging system An
182. ce and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbExampleML h e SbExampleML cpp SbExampleMLT Class Reference SbExampleMLT include lt SbExampleMLT h gt Inheritance diagram for SbExampleMLT Detailed Description Example implementation that inherits SbMsgListener and is threaded This class inherits Aria s threaded ArSyncTask It displays a possible way to use a separate thread to do something calculation control another process etc while the robot is running Author Marcin Balicki Cooper Union Mechanical Engin
183. ces SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbServerML h e SbServerML cpp 71 SbSocket Class Reference SbSocket4t include SbSocket h Detailed Description Unix Socket TCP IP communication wrapper SbSocket 1s a layer which allows people to use the sockets networking interface in unix operating system All of the standard commonly used socket functions are implemented This class also contains the file descriptor which identifies the socket to the operating system This class has been adopted from two ActivMedia s classes ArSocketcpp and ArScoket LIN cpp The ActivMedia original socket class was undocumented and limited the transmission of large data packets This class was also implemented strictly for Linux Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Bug Maximum message size is 5120 bytes may work erratically with windows telnet client and crash if overrun Warning This class was adopted from ARIA and therefore needs to follow ActivMedia s redistribution terms Adopted from ARIA and will follow ActivMedia s distribution terms ActivMedia Robotics Interface for Applications ARIA Copyright C 2002 ActivMedia Robotics LLC This program is free software you can redistribute it and or modify it under the terms of the GNU General Publ
184. ch between two audio video feeds Figure 4 33 High Resolution JVC 13 color video monitors Vertical Interval Video Switcher 12 2 made by Comprehensive CVG 1202RS232 can switch between 12 different sources and send them to two different outputs It can be controlled via serial communication RS232 James Cruickshanks has written a Java graphical application to automate the switcher and give it ability of remote control over the Internet 43 INPUT SELECTOR Figure 4 34 Vertical Interval Video Switcher e Bescor TX 25 New Tek Heavy Duty Fluid Head Tripod 30mm leg e Fuji DVM 60 minute MiniDV digital tapes A number of BNC to RCA 50 foot cables were purchased to connect to the CCD cameras An assortment of BNC to RCA and other RCA connectors were also acquired e 3 6 12 Composite RCA Audio Video Calves e 25 standard RCA male to male cable e RCA to BNC adapters 4 4 6 Computers Currently StudioBlue houses five workstations and a laptop They are wired together via a Netgear DS309 100 10 Mbps 10 port Ethernet Switch and or IEEE 802 11b WaveLan wireless access point which also provided the necessary Internet and local network connectivity for the robots Figure 4 35 Computers The three Dell Dimension Series PCs have ample RAM 1 Gigabyte latest video cards 128 Mbs 1 8 GHz processors and run Microsoft Windows 2000 operating system Another older Dell Dimension machine 1 GHz runs Linux Redhat 7
185. ches a person interacting with them on a profound personal level 26 Similarly to Virtual Theater project the group s results may be applied to physical avatars robots 4 2 Robots Central to StudioBlue is a group of various intelligent robots that serve as actors The robots were chosen based on their programmability available options support quality and modularity Most of the 19 robots are from the ActivMedia family regarded as most popular and widely used in academic research 5 4 2 1 Kiru Kiru is the first robot purchased for the theater Its name was coined by Adrianne Wortzel for Camouflage Town exhibit at the Whitney Museum Kiru 1s a Pioneer PeopleBot made by ActivMedia 8 It has an onboard PC running Linux 7 0 with a 266 MHz processor 60 Watt Pioneer speakers and a Sony PTZ camera 28 Figure 4 4 Kiru Pioneer PeopleBot This robot performs quite well operating eight hours on one charge The onboard computer uses an old IEEE 802 11 3 Mbps wireless Ethernet equipment made by BreezeNet that is not compatible with 20 current widely used 802 11b standard as a result a separate BreezeNet Access Point is required 11 12 It has 16 front sonar sensors and 10 bumper sensors 4 2 2 Woody Woody changes his name with each new production during the ribbon cutting his pseudo name was Bruno He is a younger brother of Kiru This Pioneer Performance PeopleBot is also manufactured by ActivMe
186. clients DNS name xhost robo4 me cooper edu Following Telnet to the robot and log in as a guest default enter guest when prompted for login and nothing for password telnet robo4 me cooper edu In the directory where the latest version of RCCI is located invoke the start script with the desired PORT Jstart 5555 RCCI will run until it is shutdown cleanly runs into an error or 1s killed by the user PORT represents a socket port that clients are allowed to use to connect to the RCCI server Port should be a number from 5001 to 49151 since ports 7024 to 5000 are typically reserved for operating system s client programs It is suggested that a port number that does not contain patterns or have a known meaning is chosen to avoid a conflict because it is used by others for its ease of memorization Pots to 023 should not be used since these ports are reserved for use by the Internet 00 00 Assigned Numbers Authority LANA Avoid using ports 49 52 through 65535 which are dynamic ports that operating systems use randomly 51 35 Any number system resources permitting of clients can connect to the RCCI server using a Telnet client or their own software with a socket connection They have to connect to the robot or computer that is running RCCI on the PORT specified when RCCI was started up If Te net 1s used the following command can be used from the command prompt in Linux or Windows Besides using SHUTDOWN command
187. connects all clients and shutdown RCCI and ARIA Pans the camera left and right 100 positive 100 is maximum clockwise pan position Negative 100 is maximum counterclockwise pan position Pans relative to current pan position 100 Tilts the camera 100 positive 100 is maximum position up while negative 100 is maximum position down Tilts camera relative to the current camera tilt position 100 Stops all camera motions only SbCameraVCC4ML An example of how a threaded message listener behaves It will print out a simple message locally Stops stores or readies the whole gripper system It can accept a string or an integer 0 halt 1 store 2 ready Closes and opens the gripper It can accept a string or an integer 0 stop open 2 close Lifts the gripper up and down It can accept a string or an integer 0 stop 1 up 2 down Returns the state of the gripper in the following format GRIPPERSTATE outer inner openclose liftMaxed leftPaddle rightPaddle outer object crossed the first beam between paddles 0 1 103 inner object crossed the second beam between paddles 0 1 openclose gripper is opened or closed or in between 0 1 2 liftMaxed the lift 1s in one of the limit positions 0 1 leftPaddle pressure sensor in the left paddle triggered 0 1 rightPaddle pressure sensor in the right paddle triggered 0
188. creators of Player only the ActivMedia suite of robots was covered Moreover RCCI communication syntax is much simpler and its straightforward architecture more manageable The following figure displays Player s message header Message header fields and types Figure 5 1 Player Message syntax 16 Player s communication interface is much lower low level than RCCI although it is more compact and cryptic and therefore likely uses up less bandwidth The first short STX is a special symbol that signals the start of a message The type designates the type of the message to follow whether it 1s 52 a command request data acknowledgement etc Following is the time structure and the last element in the header specifies the length of the data that 1s attached to this message 9 1 3 MissionLab v6 0 The main goal for MissionLab project done at the Mobile Robot Laboratory at Georgia Institute of Technology is to control the motion of a robot or groups of robots in highly dynamic unpredictable and possibly hostile environments 39 MissionLab v6 0 is a multi agent robotics mission specification and control software It takes high level military style plans and executes them with teams of real or simulated robotic vehicles MissionLab is quite cumbersome for a novice as it 1s composed of the following modules 40 Mlab a console like program from which a user monitors the progress of experimental runs of the rob
189. cts all TCP clients and exits the program Otherwise the message is handled by SbMsgHandlerSingleton and distributed to registered listeners SbMsgHandlerSingleton fireMsg msg All registered listeners hold a reference pointer to an instance of SbMsgHandlerSingleton and therefore could use the handler s functions to fire a response message The process is repeated until it is stopped by the user or the operating system SHUTDOWN command message can only be sent by a client and at the moment is not part of the inter module communication system 64 SbServerML SbManagerT 1 Initialized TCP services 2 Opens a socket for connections init Create SbMsgHandlerSingleton cycleOnce Create SbServerML Check for new connections start the TCP server SbServerML l Check for connection errors l 2 Create SbRobotML 3 Parse data from client 4 Initialize Handler Listeners Create SbMessage e bRobotML Create and add Listeners checkOnce runThread loop Check 1 Robot Connection sbRbPtr gt checkOnce 2 Bumper Sleep 50 milliseconds 3 Stall tepServer cycleOnce Received SHUTDOWN msg a Dlose all client connections SbMsgHandlerSingleton b Disconnect from robot c Close ARIA RCCI fireM Received Standard msg Send it to the Handler Distribute message to registered Loop until ARIA is shutdown Listeners Listener can respond by firing messages oe to the handler
190. d ddo 19BRUPNAS O0 TTDD1 d0IIS9G UTDI1RU SHUTIJSS pue squeunoog 2 SueusTIA nao ey esn 30q01 eu 397 deu 98 33I Y eye mou eouosxoeu2 3dqsds Dem p pues jou JI pojoeuuoo Sr j3oqor enz Jr yoSeyo 3811 PINOYS I 5188 siedqunq 93S er sue qoad Aue seu YI JT pue pazosuuoo SI 30901 euj JI sxyoeuo qoruM uorjoung oouo xoeuo 430qoWNdqsS ay TIPO UTUUNYAU STIUYM DIe y proA peeaurjunzg aobeueWqS y PTOA 2r ul 37098 arz 243 eAeu prnoys 31ed sru3 os p 3e zO sr 3oe qo y se uoos se UNI sJeb SIUu3 JIX9 O3 pe zu3 u3 3uem no usym uznjoed ruo os eouo pe eo sr 3snl STY pe zu3 eu u3 ur und oi uorjoung au pU zz S TION uazn3jeza pusuouoeasrT4o3srb6o4 OL INSPUNOSqs Meu pus y 198U9SISTTIODSHNAS SUNNOS ouop ST peezy y sue u Zeien 3no ulrn391 bsu bsyeargj aeo puegubsu ST 3T JNqQTIJSTP 19 puegbsu ayy 79T NMOGINHS 30U sem obessou ay JI JUMOPp1NUS eTIy wezbord eToym ey umopa3nys ATIEUTIT pue TPUS gt L1S9PPUENAS GNVWWOO YHSN NMOG SNILLAHS gt gt NOD 005T daSTS tranav Uo3s 09 earch St 207 STITTT E SYPSAZ Z 1 asoT9 lt A19BAI19SdAODI 1I9AISsd93 umop3nuys 00T da98TS TT1IN1VY besseoo4dd 396 eAoqe TTT3 21M 2 al TIVIINO P0SNS1TI lt ASTPUeHgbsu SQUETTO TTE 390euuoosIp all i IOOW NMOG ONILLOHS DSW GNSS 6sWezTz lt aeTpueybswy euo doAo oq ebessou puses II LOSNNOOSIG PbSWezT3 etpuenb
191. d attempt to fulfill all requests although eventually some datagrams will be dropped off when the buffer fills up However it is very difficult to overrun the server This was not fully tested because messaging at 10Hz was more than sufficient at the moment 95 Minimal usage of the X windows System is suggested because it produces heavy network traffic and causes interference with some of the ARIA functions in the form of lost communication packets from the controller This may be due to electromagnetic interference from the network adapter There is also an occasional issue with Buffer Overrun error believed to be linked to ViaVoice Botspeak This does not directly affect the performance of RCCI The main RCCI usage issue is the inaccuracy of positioning which was mentioned earlier RCCI has implemented a function for updating the robot s current position and orientation which will hopefully be used in the future 6 2 1 Suggested Improvements RCCI requires a user to login on to the robot computer and initiate the application which could be considered a superfluous step an automatic start on boot up as a daemon may be desirable However this 1s currently problematic due to an odd dependence on X Windows system by ViaVoice engine which exports display to the current user s desktop RCCI consistently reports its activities through print statements it may be beneficial to include an option that would report to a log file Althou
192. d stresses through out the circular platform which is capable of supporting up to 1300 pounds 02 Figure 4 21 Turntable design 34 Four 3 polyurethane caster wheels are mounted tangent to the edge on bottom of the turntable A Lazy Susan bearing is mounted at the center allowing smooth and quiet rotation The table is made up of four wedge sections enabling transport through the door when disassembled Its surface was painted Chromakey green The turntable is easily rotated by one person and if needed could be motorized in the future Figure 4 22 Green Turntable 33 4 4 Multimedia Equipment The support required for smooth theater operation included robot control computers flexible stage environment web publishing and archiving and span many multimedia areas The following equipment was found to be required to create a self sustaining production studio 4 4 1 Chromakeyer Software Hardware based real time Chromakey solutions were considered but turned out to be too expensive requiring another PC Dedicated hardware Chromakeyers are readily available and work well enough to be used in production environment such as StudioBlue The DataVideo dual channel Time Base Corrector with Chromakey TBC 6000 was chosen to serve as the main Chromakeyer If more control over the visuals 1s desired a post production not real time software based solution 1s provided The tools are included with most Non Linear Video Editors
193. d the new compiler to the path before anything else so when GCC is called the 2 95 3 version is used This next line should be located in both of the aforementioned files bashrc profile PATH usr local gcc 2 95 3 bin PATH Recompile Aria and then rcci IN Running main c file is the entrance point into the program It checks if the command line PORT argument was entered correctly If true then it initializes ARIA in threaded mode Once the RCCI server is running Telnet can be used to connect to RCCI telnet ADDRESS PORT ADDRESS is the IP or DNS name of the computer running RCCI PORT is the port number that RCCI is listening to After connection 1s establish user can send formatted commands to RCCI CONNECTIrobotll Robot Control and Communication Interface Hierarchical Index Robot Control and Communication Interface Class Hierarchy This inheritance list is sorted roughly but not completely alphabetically ATACA A A as Psd eau baumee ROL aeae ees URC EIERE N A SDACUODN IOVE EE SDACUON EE EE PAE Net EE A EK EET E T T TU Y Sbi eat EME eec SEI e KE SpSounds M KE EE e SbMseHaridletSimeleton e e oet m uku eo d E pter at rp lb nte er retra des SEET EE SIE TE BEE SIC ai et L IER dl RE ENEE eege ee Ee SOE Xai ET E A ME E SDOIUDDEEVIT x ito Eo to lao SOMOM D Ere cr c o elei 65 1001 JY reete TT 55 phi EE ER E EE A SOSEM EE EE eebe vi Robot Cont
194. dated and version 1 3 2 was used in development of RCCI 54 Connect Direct A rRange ArResolver ArActions WBDisconnect Motion Devices l Callbacks ArRobot Commands Sensors ArRobot Packet Receiver ArRobot Packet Sender ArRobot Device Connect Robot Sim or Real Figure 5 2 ArRobot The Main Control Class for ARIA 42 A good example of implementing ARIA for high level intelligent tasks is Saphira Robot Control System 20 It was developed by Kurt Konolige at the SRI International s Artificial Intelligence Center Saphira has a real time path planner based on the gradient method which 1s typically used with Markov Localization to keep the robot registered with a map as it moves through its environment Gradient Path Planning is a process for determining optimal paths for the robot taking into account both local obstacles sensed by sonar and or laser range finder devices and global map information such as the location of walls and other structural obstacles 17 Since Saphira is implemented using ARIA API it is updated regularly to correspond with the latest ARIA version Saphira version 8 2 was used in RCCI It is not open source 5 3 Speech Synthesis Software Being very particular to humans speech seems to be an impressive element of theatrical performance involving robots as it has been demonstrated by K Aft Robot Radio where all the performers are computer generated voices 43 It is imperative that this
195. ddo eAowuor3ovads 0 rro202a doqaxseqg uroaeu sbur33es pue sau umooq 2 eueue r c FO z ebea dd saomuotzowds 0 peaursoqAu s uanjea STP asrqaproAu 2 atqangAw y 9 TI A3 S peaursoegqAu T94 4UXMJO AWTOOTSAH Jaurad fooedsAul 9A peedgAu lt 9 JT Z x 002 x I8TP 34bS T A sT 2 atqangAw y TSA T A3 S P ITS q U TSA UNJO ATOOTSOAH Jaurad OT x 38TP 31b8 Toa Z osTo 1 0 T9A398S poaxrsogAul Ey TOA uyz0 5 AJI90T9A4 3up42d Z 09 gt ISTP FI ISTASSOTIAU gt ISTP JT vooz 8 Aen uo peaqurad Ir9oa do4Qxseg uroaeu sbur33eg pue sau umooq O2 SUPRUSTTA o3e3oNuorj3ovqs JTpue STPUYPTO erqnop Teob o3 e bue Zepto STbuyTeob etqnop TROD OF oDuP Juara ZZ ioeaiseqAupearsoequorjqovav Teuz qur 4unouyuanjp Au Tqnop 3gunoue UOTJeIOT e93uouo4dOUI y pe32e3oad rqnop 0b pro sSoogzboq 62y uor3qop SIQ3 SITF OF Sasn s4dosn jeuA4 sr uorjgoung STY p rxrs q u s uan3eza PTOA peazrseqae y P91TSSQUOTIOVIVY Tenqata uo43s s uorjgoe TOF 10SDDDO pearseqaqaueaaunopedrseoquoraoV43yv 91TI yx P91TSSQUOTIOVIVY TENGITA aT Atenrs parr 23790 uorgoung e41j eseq jo uoT3equausTdut e1820yU0TI19YIS T naarA 1o3onzj3soq 1 GT 3Junouyuana egqnop uinj ueu y euo a3suoo Pa1PIO0YUOTADVYAS TOJONTISUOO Z Z7 orrqnd uor3ovav OTTQnd 9I2I0YUOTIOVAS SSPTO uoN bnqg POO UDIE
196. der NULL amp amp gStop NULL Definition at line 18 of file SbActionML cpp References bumpers goTo move recover robot rotate tableLimiter and turn Member Function Documentation void SbActionML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 96 of file SbActionML cpp References ArAction activate bumpers SbActionGoto cancelGoal SbActionMove cancelGoal checkForRobot fire SbMessage getArgAsDbl SbMessage getArgAsInt SbMessage getAsStr SbMessage getType SbActionMove go SbActionRotate go goTo move robot rotate and type Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener 17 void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and S
197. dia Robotics As mentioned earlier he was outfitted by the author and James Cruickshanks with an abstract tuxedo made of sheet metal for a formal event Figure 4 5 Woody Pioneer Performance PeopleBot Woody operates only about four hours on one charge due to many peripherals and an onboard computer with a fast power demanding processor 400 MHz AMD K6 The robot is also outfitted with a high bandwidth 11 Mbs WaveLan wireless Ethernet Interface WiFi 802 11b PCMCIA card 21 It has a total of 24 8 in the back sonar sensors 10 bumper sensors and 2 Infra Red table sensors The robot comes with horizontal grippers that can move up and down and are outfitted with break beam sensors 29 4 2 3 AmigoBots Another ActivMedia product that is very robust and fun to play with is the AmigoBot 30 StudioBlue has three of these one of which is equipped with a wireless video camera The AmigoBots do not have an onboard PC like the above mentioned robots but can be controlled via wireless radio serial communication link This allows AmigoBots to run on the same software as the larger robots with addition of a dedicated PC These run about two hours on a charge requiring four to eight hours to recharge however their batteries are not easily replaceable and therefore these robots are difficult to use for long shoots Figure 4 6 AmigoBots 4 2 4 Magellan Pro Magellan Pro is manufactured by I Robot but it has recently been di
198. dication of The Foundation Building Ribbon Cutting 6 2 4 Cooper Union End Of Year Show 2002 7 3 STATEMENT OF PROBLEM icussan desa 10 3 1 o O A E A 10 3 2 Robotic Control and Communication Interface RCC 11 321 James Coles Master EE eneen eegen 11 3 2 2 Graphical Robotic Application Scripting Plattform 12 OUAIS V ID A E E O 5 13 4 STUDIOBLUE TELE ROBOTIC THEATER 15 4 1 Related Research EE 16 4 1 1 CMU The Center for Robotic and Synthetic Performance 17 2132 Ullanta Pertormiauce Te 18 4 1 3 OmniCircus Junkyard Cabaret and Robot Ensemble 19 214 he Virtual Theater EE 19 ALS Synthetic Characters OU A a uu Sa 19 4 2 RODO O ua ba 19 ADM IU rr M 20 A22 EE 21 4 2 9 e E en ee ee nee 22 2 2 4 Magellan EE 22 4 3 Structures and Electricidad 23 Jo AAA A 23 4 23 2 Ghromakey Backdrops esee aote petita Pcr UR a IPIE DoRL CIS ME a M M RP EAIRA EE 25 EEN acess uaa auadld ante S amsa m kS pss k aaa 29 dod AMIN E T IS s uu conico ROC NIMM CI MI MM aW us 31 AOD all o e MEE LM LT EE M rU E 32 4 4 Multimedia Ee E E 34 441 Chone EE 34 AR
199. dler Member Function Documentation void SbRobotML checkOnce void virtual checks for any errors stall bumpers etc connection etc Checks if the robot is connected and if it is ok ie stalled this function returns true if everything is ok if 1t 1s false 1t will fire a message with stall bumper or disconnect Definition at line 175 of file SbRobotML cpp References SbMessage addArgument and robot Referenced by SbManagerT runThread 61 void SbRobotML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 256 of file SBRobotML cpp References SbMessage addArgument connect SbMessage convToString disconnect fire SbMessage getArgAsDbl SbMessage getArgAsInt SbMessage getArgAsStr SbMessage getAsStr SbMessage getType isConnected robot and type Referenced by fire bool SbRobotML connectSim const string host const int amp port protected Connects to the simulator Parameters amp host DNS name of the server hosting the simulator amp port integer representing TCP port of the simulator Definition at line 73 of file SbRobotML cpp References connectSim isConnected robot and tcpCon Referenced by connect and connectSim vector lt string gt SbMsgListener getMsgTypes void inherited return
200. dler as the singleton the manager class should be one and the reference to it should be possessed by all SbMsgListeners However this relation would be forced since listener is far away in function from manager listener gt handler gt manager 87 Index SbActionML SbActionML 17 addMsgType SbActionML 18 SbCameraSONY ML 27 SbCameraVCC4ML 31 SbExampleML 34 SbExampleMLT 39 SbGripperML 42 SbMotionML 53 SbMsgListener 58 SbRobotML 63 SbSaphiraML 66 SbServerML 70 SbSoundsMLT 83 SbStateML 86 ArAction 2 fire 3 ArASyncTask 4 runThread 6 Status 6 STATUS ALREADY DETATCHED 6 STATUS FAILED 6 STATUS INVALID 6 STATUS JOIN SELF 6 STATUS NO SUCH THREAD 6 STATUS NORESOURCE 6 ArMutex 7 lock 8 Status 7 STATUS ALREADY LOCKED 8 STATUS FAILED 7 STATUS FAILED INIT 7 tryLock 8 ArThread 9 Status 11 STATUS_ALREADY DETATCHED 11 STATUS_FAILED 11 STATUS_INVALID 11 STATUS JOIN SELF 11 STATUS NO SUCH THREAD 11 STATUS NORESOURCE 11 checkOnce SbRobotML 61 connectSim SbRobotML 62 convToString SbMessage 50 copy SbSocket 76 cycleOnce SbServerML 69 fire ArAction 3 SbActionML 17 SbCameraSONYML 26 SbCameraVCC4ML 30 SbExampleML 33 SbExampleMLT 38 SbGripperML 41 SbMotionML 52 SbMsgListener 58 SbRobotML 62 SbSaphiraML 65 SbServerML 70 SbSoundsMLT 82 SbStateML 85 getMsg SbServerML 69 getMsg Types SbActionML 17 SbCameraSONYML 26 SbCameraVCC4ML 30 SbE
201. do ano 3e ge UST 3nq 23T1M uan4jea IO osuoeoOIT oui JO Z uors4doA Zeite uorgepuno4 9e408643jos esSe44 eu3 FE 44UsT Aq peusr qnd se su orT Or qngd Tezeuey AND oul fo suioj au Iepun 23T Z 2 ER P ueT ijnq AgqyIpouw cro puse 3T SINQTIISTPS upo NOA foibAQIO0S SSI Sr weshHozd STUL of auer UN usT inq Z 3nq uaT19s UST OTT sorg3oqoM PTpeMATIOY 200 2 aubra doo xad pue eA VIMV Suorgeoriddv 107 SOPJ1SQUI SOI3OqOM PIDOSWAI3OV L Zo T Bea vOOZ g Aew uo peaurad ddo 4exoosqs 0o rro20a doaxseg uroaeu sbur433eg pue saqueunooqg 2 eueueI r4 f 3ppyur sogu JSUT Hurzas urnjor PTOA SS91PPVI9b qex oosqs PUTAS t Qesoro 393X9OSQS 39X9OSQS 1 adA3 110d uedo TUITEUI S JUF ursAu esteg burxoorguoNAu 1 aaAu esotoop esorooqAu 1 JIQSIOIIHJ U OIXWOND IOJISAUI 1 edAq yedAyAu edA3 d I esoToop Tooq 110d AuT qeyoossS 3exyoosqs asn 03 ed 3 roooz3o1d oda wezedy pe3onaij3sep ST 398x408 Sus JI 310d en esoT o AT eor3euojne eso oop ueiedg OJ 3ex00s ou PUT qd oi Zequnu 310d 310d wezedp juod 19A198s e SP qar suedo pue jexyoos ey3 s30n13sUu0 y 1 edA3 310d 4sou 3ioouuoo ITUTTRU1Squt Jutsu esTezZ HutTyooTquonAw 1 q3Au nzq soTrooq amp Au jrgoxozxagwAu IIHON IOTIJAN 1 adA3 adA 4u edAq adA 420d qur 3sou y aeuo qasuoo qaexoocsqs 1910080S esn 03 ed 3 roooz3o1d oda wezedy OJ 398uuoo OF 1antos ey FO Tequnu 310d 310d uezed
202. doayxs q urozeu sbura3a s pue squeunoog 2 SueusTIA sn o3 1950792 sburu3j priOAe 1 G sziedunguorjoyvay Meu uOTIOYppe lt Tepueyb szedunq of 390884 Z 00T au8eAooeHd 893suorgov4ay Aeu uorgovppe 4opuewb TeAoDeT pue dn xoeq o3 UEM m pe 93S 91 9M JT JopueA zor sUuorjoe ey ppe reoST oueo Aou r eooST ocueo orob 1 0 ob oaea3oa udOLS SdAI 3T este 0 tdasvbava3eb bsu ob oAou 1 I OD Teoued S AOUI JOq AT 39 9 AOUI 0 0 0 osoqav oreAou c 430qo4 STXP x 949 buo e soAOU sowe HOT3OWA32ea2rqage9eT 30qo4 Lu HAONV 9d 3 gt esTe 0O tdasvbav3eb bsu ob o3e30o4 HOT3OWA32eaurqageeT o 30qo4 0 Tdasvbava3oeb bsul eoAou 30qo4 ul HLVLOYV 9d 3 gT este Z rTdasVvbavaeb bsu T Tdasvb6ava3eb bsu 0 Tqasv6avaeb bsu oesoqauv ob orrob 4 peopnpeoue2 orob f O9gEAT3OP OIrOD 0 0 0 9280417 OL 9A0U lt 230G01 Z HOT3OW32eSa2rQq2g9eT O 30qo4 gOLOog Ee AE A C NOOT 3jO0qoa JeodA TL396 b6su sdAq TPUS gt gt 1i3SsV3eb bsu gt gt PSU YITM uorqov PUTITA gt gt NOD pew JO od j xyoouo Z 1 uyboorune 30goa3 gsxrI DUTCH SUOTJOP AXIIOIIG EECH USTA ZZ AITIOTZA OQ ST 9194 ASHSQUT Sia zopao poob ur SuOTj20 Ino ppe Z d s1adung s3 uor3oyueu 340qo4 tuin2391 esto CELOSNNOOSTC SSW ANAS y eS TPUeHOLHSWpuss 06 saiodunq JuoTIDVPPe lt 10q01 Tpua gt gt
203. e Distance to goal in millimeters where the robot starts slowing down mm GOTOWINDOW double double Area in which the robot will look for possible paths to goal X Y in mm Synthesis customization is done via special codes that are placed in the input SPEAK string text string argument vbN Pitch N in range 0 to 100 vhN Head size N in range 0 tiny head to 100 huge head vrN Roughness N in range 0 smooth to 100 rough vyN Breathiness N in range 0 not breathy to 100 breathy whisper vfN Pitch fluctuation N in range 0 monotone to 100 wide fluctuation vsN Speed N in range 0 slow to 250 Fast vvN Volume N in range 0 soft to 100 loud vg0 Set voice to male vgl Set voice to female DN Create a pause n milliseconds long 00 Reduced emphasis 0 No emphasis Normal emphasis 104 2 Added emphasis 3 Heavy emphasis 4 Very heavy emphasis The string is the location and name of the file to be played relative to the PLAY string directory where the RCCI executable file 1s located AMIGOSOUNDIint Plays a given sound number on AmigoBot AMIGOSOUNDTOGiint Turns the AmigoBot sounds on or off O off 1 on STATE MSG STATE X Y Heading Vel RotVel LeftWheelVel RightWheelVel Volt X position positive X is parallel to forward motion Y position positive Y is 90 degrees to the right of X axis Heading the direction the robot is
204. e message type ArVCCA camera VCC4 canon camera control class int maxPanPos maximum Pan position int maxTiltPos maximum Tilt position int minPanPos minimum Pan position int minTiltPos minimum Tilt position int minZoom minimum Zoom value int maxZoom maximum Zoom value 29 e int minPanSlew minimum Pan speed e int maxPanSlew maximum Pan speed e int minTiltSlew minimum Tilt speed e int maxTiltSlew maximum Tilt speed e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Member Function Documentation void SbCameraVCC4ML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 238 of file SbCameraVCCAML cpp References camera checkForRobot fired SbMessage getArgAsDbl SbMessage getArgAsStr SbMessage getAsStr SbMessage getType init pan panRel panSlew robot tilt tiltRel tiltSlew type zoom and zoomRel Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced
205. e users in your group to have read and execute permission and others to only have execute permission the appropriate number would be calculated as 4 2 1 4 0 1 0 0 1 for the three digits 751 You would then enter the command as chmod 751 myfile 117 As another example to give only yourself read write and execute permission on the current directory you would calculate the digits as 4 2 1 0 0 0 0 0 0 for the sequence 700 and enter the command chmod 700 If it seems clearer to you you can also think of the three digit sequence as the sum of attributes you select from the following table 400 read by owner 040 read by group 004 read by others 200 write by owner 020 write by group 002 write by others 100 execute by owner 010 execute by group 001 execute by others Some other frequently used examples are 777 anyone can do anything read write or execute 755 you can do anything others can only read and execute 711 you can do anything others can only execute 644 you can read and write others can only read umask 022 sets your default file permissions at creation 7 0 7 2 7 2 rup uptime for remote machines strobe Scan program xauth used to edit and display the authorization information used in connecting to the X server iptraf ipfw firewall ipfwadm xfwp firewall proxy samba Linux implementation of smb session messege block aka netbios majordomo mailing list daemon traceroute nslookup Query Internet doma
206. e SbSaphiraML cpp References checkForRobot close done fire SbMessage getArgAsDbl SbMessage getArgAsInt SbMessage getAsStr SbMessage getType robot type winX and winY Referenced by fire 65 vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listen
207. e getError Definition at line 68 of file ArMutex_LIN cpp References STATUS ALREADY LOCKED STATUS FAILED and STATUS FAILED INIT Referenced by ArThread lock int ArMutex tryLock void virtual Try to lock the mutex but do not block This function will not block if another thread has the mutex locked It will return instantly if that is the case It will return STATUS ALREADY LOCKED if another thread has the mutex locked If it obtains the lock it will return O Definition at line 99 of file ArMutex LIN cp References STATUS ALREADY LOCKED STATUS FAILED and STATUS FAILED INIT Referenced by ArThread tryLock The documentation for this class was generated from the following files e ArMutex h e ArMutex_LIN cpp ArThread Class Reference ArThread include lt ArThread h gt Inheritance diagram for ArThread B Detailed Description POSIX WIN32 thread wrapper class create will create the thread That thread will run the given Functor A thread can either be in a detached state or a joinable state If the thread is in a detached state that thread can not be Join ed upon The thread will simply run until the program exits or its function exits A joinable thread means that another thread and call join upon it If this function is called the caller will block until the thread exits its function This gives a way to synchronize upon the lifespan of threads Calling cancel will cancel the thread The s
208. e4u3 FT orgeuo qoad eq Aew 31 3o0e qo eru o3 3urod ssoooe eqo b e soprAoud pue auf uaATh e We IorIpueH 2429 o3 xyoeq obessou e pues OF JUeM sdouojSI 842 jo ouos esneooq paerTNbsey d 3 sar go 3oe qo WNO jo unurxeu Y soansse sse o uojoe burg uogepburgago buegbswqs burssoooe 103 p qu u Tdur sem 3doouoo uoge bursg S3UEM 3I Aem Aue UT 3I s391d193UT pue ebessou ey s34doooe yotym uorjoung zrjJ e squ u Tdur T U JSTT yoeg edA3 obessou 1e7nora31ed y u3rA4 pala3stboI SI U JSTI 842 TT OF adX3 KAexy e U3rT4 buo e adeo pueH y Y27M 19981691 ued 198U9ISTTIOSH d 3 jo sse o Auy obessou 2949 pues ott TTIM 31 p TTe O st uorqounj Debat u uM s1in3on19s burbessou ayy 103 Tebeuey d 11 11 ELE PLL EF FRE ZZ ZZ d s A d PLE 2 4 fh ZZ d e ois eoedseureu Duren burad3s epn ourgs deu opn our g 10399A SpPNTOUT uU 19U49ISTTOSWAS y SPNTOUTE uu ebessewdsg SPNTOUTA y uojgepoursadeT pueHoswdS eurgjeps4 u uo3ge oursaqeT qpueubswds Jjepugjr4 vooz 8 Aew uo peaurad u uoqa rTb6ursz TpueHbskqs pnTour 0 ITooz doays q urozeu sburaa s pue sau umooq 2 SUBPLUSTTA t GQ 3dasrq5su a3jdewa1puHosw purada0o329A eseago 2 dPNATPUHDSO COpuec 3leWaTPUHPSW i G3dasrT5su IIdPNITPUHPSO PUTATOIDDA 55 3 sas rx 3o dA tbe gr 10094 STY UT ST 19U93STT 942 3843 euns sayeu jS411IJ Heu wog edA3 oui eAoue4 pue 4T oierap 103091 949 UT su qr OU 918 9194
209. eAddress Set the reuse address value bool setNonBlock Set socket to nonblocking void setDoClose bool yesno Change the doClose value int getFD const Get the file descriptor Type getType const Get the protocol type const std string amp getErrorStr const Get the last error string Error getError const Get the last error int writeString const char str Writes a string to the socket adding end of line characters int writeStringPlain const char str Same as writeString but no varargs wrapper for java char readString void Reads a string from the socket void setEcho bool echo Sets echoing on the readString calls this socket does bool getEcho void Gets if we are echoing on the readString calls this socket does Static Public Member Functions bool hostAddr const char host struct in addr amp addr Convert a host string to an address structure bool addrHost struct in addr amp addr char host Convert an address structure to a host string std string getHostName Get the localhost address void inToA struct in addr addr char buff Convert addr into string numerical address 74 e const size_t sockAddrLen Size of the sockaddr e const size_t maxHostNameLen Max host name length e unsigned int host ToNetOrder int 1 Host byte order to network byte order e unsigned int netl oHostOrder int 1 Network byte order to host byte order S
210. ed by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbRobotML h e SbRobotML cpp 63 SbSaphiraML Class Reference SbSaphiraML include lt SbSaphiraML h gt Inheritance diagram for SbSaphiraML Detailed Description Listener wrapper for Saphira intelligent avoidance software This class calls Saphira function that avoid objects and intelligently maneuver around IGOTO The avoidance part can be turned off allowing for the robot to naively go to the desired position GOTO The distance when the robot assumes it has successfully reached the goal can be set using GETSETDONE while GOTOSETCLOSE sets the distance to goal that the robot starts to slow down GOTOWINDOW describes the size of the window that Saphira will look Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Test the exact motion patterns of GOTO IGOTO may be different every time Bug None Definition at line 26 of file SbSaphiraML h Public Member Functions e SbSaphiraML Q Constructor e SbSaphiraML O Destructor e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e void init void initializes the gradient e vector string gt getMsgTypes void returns a pointer to the vector containing types of messages that this listener
211. eeks invented numerous ingenious stage machineries including the deus ex machina a system for lowering actors the ekkyklema a wheeled cart for revealing static tableaux and periaktoi an early visual display system that used triangular set elements mounted on pivots and turned by ropes and gears for quick backdrop changes 1 More recently an area of robotics called animatronics has extensive applications in the entertainment industry For example the film industry uses robots to represent fantastic creatures 1 e dinosaurs in Jurassic Park while amusement parks like Disney World use humanoids to represent important figures in history These robots tend to be remote controlled puppets or designed for specific task and exclusively created for the character they represent With the New Media Art movement there has been an increased interested in more intelligent and versatile robots that engage in dialogs maneuver intelligently on stage and interact with the audience However such machines to be widely used need to be publicly available easily reprogrammable and allow for real time control The Robotic Theater concept attempts to integrate the field of robotics engineering and theater to establish a common ground for collaboration between art and engineering education via performance art It was initiated by Adrianne Wortzel and Carl Weiman with assistance of Cooper Union Faculty Professor Stan Wei Professor Jean LeMee and Gateway Engi
212. eering Date March 2004 Warning Be careful with locking and unlocking This class is threaded and therefore should not use sendMsgToHandler to fire messages back to the handler because handler is not thread safe unless used from called from managerT Note You can t use the sendMsgToHandler to fire messages back to the handler Todo Instead of making SbMsgHandlerSingleton as the singleton the manager class should be one and the reference to it should be possessed by all SbMsgListeners However this relations would be forced since listener is far away in function from manager listener gt handler gt manager another way is to add lock unlock feature to the handler Bug None Definition at line 33 of file SbExampleMLT h Public Types e typedef pthread t ThreadType e typedef std map ThreadType ArThread gt MapType e enum Status STATUS FAILED 1 STATUS NORESOURCE STATUS NO SUCH THREAD STATUS INVALID STATUS JOIN SELF STATUS ALREADY DETATCHED 35 Public Member Functions string toString double d converts double to a string virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function virtual void run Thread void arg implements the ArSyncTask main thread function virtual AREXPORT void run void Run in this thread virtual AREXPORT void runAsync void Run in its own thread virtual AREXPORT void stopRunning void Stop the thread virtual AREXPORT in
213. ejsrp Teoh snorAe4d 4unouyuanp u erqnop burpeeu eAerug2e oj uainj OF 3unowe quusustout tbesds u eTqnop peeds pearsep 4srqesoTpoAu e qnop ssooons se Pob y UIUJIM SOUPISTP MOTTe Teo Au esogdav rPoD JUSTINO pe32e43oad peaursog Au 3 uan3ea PTOA PSITSSq Sb peagrsequoraoVv4y TenazrTA uoj3s s UOI3OP TOF Tosaooe bearseqqaueaanopearsequora3o2VA4AV e431j pearsequoraqova4y TeEnaarA e o o ATeAS p r Sief esogqav ob proA Teob meu 3es OF pesn euj q pesn eq p nous STY fpeedsgAu uan43ez proA peedsg319eb eTqnop o9s uu Je Teoh oui OF TeAeTQ TTT UOI3O 9 y peeds 942 s3e9 tpasds peedsAu Deeds e qnop peedsg3es proA o9s uu Je Teoh oui OF Taapii TTT UOI3O 9 y peeds oui s3esg AstqesoToOAw uan3ea PTOA ISTASSOTIJSL eTqnop uu eob ou o3 ubnoue eso oO SI QOIUM S20ULISTP y S385 ASTASSOTO ISTASSOTIDAUN QSTCSSOTO eqgqnop isrqeso 239s PFOA uma Teoh 793 O3 ubnous oSOTO BI YOTYM SOUPSSEIDp Sya Jeg TeoS u uan3ez prOA 9 O539b ssogiy sey uorjoe uq eob 2142 799 e0b osogav 053es proA 21949 ob oi UOTIOe oui s3es pue Teoh ou e s3eg proA eoST cueo PTOA sey 30q01 ey Teoh ey srT oueo PTOA L COOPSASTYOYSaAey Tooq peaeTtyoe u q sey Teoh sy JT sees JoFOHUOTAOYOS TENJATA ZO Jona Sad d Z 00 asrq soTo STqhop 4 0 306 sweu y euo qasuoo oqaoSuorqovqs Z20392 8027 z o
214. elete these in the destructor More than one listener can be registered with the same type Definition at line 98 of file SbManagerT cpp 46 References registerListener sbRbPtr and tcpServer Referenced by init Member Data Documentation vector lt SbMsgListener gt SbManagerT msgPtrVector protected vector of listener pointers that are registered with handler This is used to delete allocated memory after class 1s destroyed Definition at line 40 of file SbManagerT h Referenced by init registerListener and SbManagerTI The documentation for this class was generated from the following files e SbManagerT h e SbManagerT cpp 47 SbMessage Class Reference SbMessage include lt SbMessage h gt Detailed Description Message structure class used for communications SbMessage class stores message information in an organized string format Each message is characterized by TYPE which inherently sorts the messages for processing in SbMsgHandlerSingleton Following the type arguments strings can be added and removed using functions such as addArgument SbMessages can also be created using a formatted string delimited by a unique character default l Each message is timestamped Example CAMIzoomli56ll Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Todo Improve speed by removing vector try catch throw an error with indexing or trying to convert s
215. elp toolbox modelsim a1057689278b4 html gt April 7 2004 Arciniegas Fabio C XML Indianapolis IN New Riders 2002 CoWorker Robot I Robot lt http www irobot com industrial coworker asp gt March 24 2004 Tangorra Joanne The personal Computer as Therapist Digital Deli lt http www atariarchives org deli therapist php gt April 6 2004 101 8 APPENDIX 8 1 Contents of Included CD This document ActivMedia software and documentation RCCI Source Code Raw tar and zip files Start up script Makefile User bash scripts Code Documentation in HTML Test Application Videos Images Relevant Student Reports James Cruickshanks Thesis GRASP Thesis Defense Presentation Slides Command List 102 8 2 Command List USER COMMANDS SHUTDOWN QUIT QUITALL SENDJ arg1 arg2 MOVE double VEL double LRVEL double double ROTATE double ROTVEL double HEADING double STOP CLEAR MAXTRANSVEL double MAXTROTVEL double TRANSACCELE double TRANSDECEL double ROTACCEL double ROTDECEL double AMOVE double AROTATE double STOP CAM jnit CAM zoom double CAM zoomrel double CAM pan double CAM panrel double CAMItilt double CAM tiltrel double CAM stop CAM panslew double CAM tiltslew double CAM backlight int EXAMPLE EXAMPLETHREAD GRIPPER int or GRIPPER string GRIPlint or GRIP string LIFTlint or LIFT string GRIPPERSTATE Dis
216. els the goal the robot has e void setGoal ArPose goal Sets a new goal and sets the action to go there e ArPose getGoal void Gets the goal the action has e void setCloseDist double closeDist Set the distance which is close enough to the goal mm 12 double getCloseDist void Gets the distance which is close enough to the goal mm void setSpeed double speed Sets the speed the action will travel to the goal at mm sec double getSpeed void Gets the speed the action will travel to the goal at mm sec void go ArPose this should be used by the used to set new goal virtual ArActionDesired fire ArActionDesired currentDesired gets fired every cycle virtual ArActionDesired getDesired void accesor for action system virtual AREXPORT bool isActive void const Finds out whether the action is active or not virtual AREXPORT void activate void Activate the action virtual AREXPORT void deactivate void Deactivate the action virtual AREXPORT void setRobot ArRobot robot Sets the robot this action is driving virtual AREXPORT int getNumArgs void const Find the number of arguments this action takes virtual AREXPORT const ArArg getArg int number const Gets the numbered argument virtual AREXPORT ArArg getArg int number Gets the numbered argument virtual AREXPORT const char getName void const Gets the name of the action virtual AREXPORT const char getDescription void
217. ements and would create more room for off stage actors support crew and audience The lab requires constant supervision during operation because the lack of fencing on the turntable stage permits the robots to jump off stage A mechanized lazy Suzan stage that is flush with the rest of the floor would be an optimal solution Due to the lab s proximity to 9 street in the middle of New York City the outside street level noise has often impeded production The performance space needs to be acoustically insulated and preferably be relocated to a higher floor The audio system consisted solely of a pair of computer speakers needs to be upgraded to a more professional surround sound system The lighting system is comprehensive however a few sets of colored gels for Fresnel spot lights and large reflectors would only improve the lighting atmosphere More fixture mounting points on the walls would also prove useful One way to improve some of the navigation issues 1s to implement a tracking system that updates all robot positions and orientations on the stage A number of different localization technologies are available i e image processing and are highly recommended to improve robot control and position accuracy Even though the theater was designed with Chromakey operation in mind the system 1s very finicky and requires practice StudioBlue only works with flat backgrounds and motionless camera shots Professional Chromakey systems a
218. er string type type of message SbMessage msgExample internal message ostringstream oss stream instance used to convert double to string vector string msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Member Function Documentation void SbExampleML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 46 of file SbExampleML cpp References SbMessage addArgument checkForRobot SbMessage clear fire SbMessage getAsStr SbMessage getT ype msgExample robot SbMessage setType and toString Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler 33 Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstan
219. er behaves It will print out a simple message locally 5 12 1 8 SbGripperML GRIPPER int or GRIPPER string Stops stores or readies the whole gripper system It can accept a string or an integer 0 halt 1 store 2 ready GRIP int or GRIP string Closes and opens the gripper It can accept a string or an integer 80 KK 0 stop 1 open 2 close LIFT int or LIFT string Lifts the gripper up and down It can accept a string or an integer KK 0 stop 1 up 2 down GRIPPERSTATE Returns information about the gripper outer object crossed the first beam between paddles 0 1 inner object crossed the second beam between paddles 0 1 openclose gripper is opened or closed or in between 0 1 2 liftMaxed the lift is in one of the limit positions 0 1 leftPaddle pressure sensor in the left paddle triggered 0 1 rightPaddle pressure sensor in the right paddle triggered 0 1 The format of the returned message GRIPPERSTATE outer inner openclose liftMaxed leftPaddle rightPaddle O between 1 open 2 closed 1 yes 0 no 5 12 1 9 SbRobotML CONNECT string string string Connects to a robot or the simulator If the first argument is blank 0 or sim RCCI will attempt to connect to default simulator location If the first argument is sim and the rest of arguments are non blank second argument wi
220. er should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbSaphiraML h e SbSaphiraML cpp 66 SbServerML Class Reference SbServerML include SbServerML h Inheritance diagram for SbServerML Detailed Description Manages TCP IP server multiple socket connections send recv ASCII data This class uses SbSockets to listen for incoming connections It allows multiple clients to connect It will broadcast any message sent via fire to all connected sockets It does not automatically check for incomming sockets messages which happens via the cycleOnce function Clients can disconnect by sending QUIT message and all clients are disconnected when QUITALL message type is fired The SEND type message broadcasts the message embedded in the message SEND is stripped Start the server with the open function add commands with the addCommand function and remove commands with remCommand and close the server with the close function It was modeled from ActivMedia s ArNetServer Note You can use the sendMsgToHandler to fire messages back to the handler Author Marcin Balicki Cooper Union
221. eue dur 1 3 butazaqs qexoosqs ej3eqa3eb5 Tooq 3gdue jou ST 1933Nn 9473 USym Moux Iesn ey s3e 3nq 1797709 St BSAPSTO pue Sen 5390 y 39exoosqsg e3eqa3eb butaqs J19ggnq ey saee o usu3 pue e3jep S3ob 1 T9ITUTTSP uzn3 PTOA TEATUTTSq yeh PUTAS Jeojrur eop que4dano en 8396 77 p 19ITUTTOP p 5 bura3s qasuoo 1 q3rurT q3 s PTOA Durszrbd bew BOF ASITWITSp Sys S83OE 5 obessanas esn1ab TOOq eouge oAo QTM uorgoun uoo UT sx41ioA ATUO SIQL queunbie joe qo 9u3 OJ euo 3103084SSpTO y subrsse pue obessou TOF 49o9ggjnqej3ep sey sesied 1 Duraj4s eaeqpues Tooq burr3s8s OTeeq P puos 5 obessowgqs 3suoo e3eqpues Tooq qoelgqo ebessowqs e pues 1 9ZTS SUUOJZ N uznqez prOA pSe35euuoounu qur pe3oeuuoo sQjuer o jo aequnu suln39Y f peuedo uan391 ProA peuedosT Tooq suorjoeuuoo TOF uedo pue butuun1 ST 19A419S 94 JT seeg y 3exoosqssseappvauerT ioa3e PUTAS juerro eui sjoeuuoosIq x JOYOOSAS AUSTTOIOSUUOOSTP PTOA 3uor oO suo sjoouuooSsIq PTOAFJUSTTIIDSUUODSTP PTOA S3UOIIO Tre saoeuuoosSrq pTOA SSOTO PTOA JoAdgqes auog31ur eqaeboeu3 seso 2O PTOA JSD0UNQSTIAD proA suorjoung s4deA4ges ey u noadqu3 eouo suny 1 10d buraa4s uedo Tooq 310d YITM XOAIfOS SE SOZITEIJSIUT Zeg Z Zo T bea proA uedo Tooq TI9AISS y SOZIT UIJ3IUI 3420d uan3ea Ja10d395 buta173s 3700 gj STEE
222. eueu UOTIOWAV OOT uTpeeHeatedies peztssqAu JUNOUYU1NA STqnop sweu y aeuo Ysuod PI1P20YUOTIDVYAS DIPIOYUOTIOVAS uLqeb lt joqoyAu sTbuypTto Tpua gt gt eTbuyjTeob gt gt 3noo ois eoedseuru Duren bue aTbuyTeo0b bura34s epniourj STOUYPTO uL3e9 30oqouAu bue ud 3O0qougav epniourjg 0 gt STOUYPTO 99 0 lt ur3eP 3oqouAu FT este ul SPEVOYUOTAOVYS SPNTOUTE I Zo T ebeg vOOZ g Aew uo p qurzd ddo e4e3owuuor4ovds 0 r1r902 doaxseg uroaeu sbura343es pue s4aueunooqg 9 SueusTTA O O0I UOTRISOd JUIN 03 ATretagipiait wooz STANhOp uooz proA 0O 00T UOI3ISOd wooz STdhOP S411T2 PFOA O O0I Uuorarsod USIT 03 ATerAe3ge eo4 SITTI eTqnop Tewued proA 0 00T UOIr31ISOd 43uea4no o3 TerAege e42 sued egqnop ued proA O OOT ezewed ey3 sued eIqnop 3 I3 PFOA 0 00T ETQueo sy SITTI proa Jioqouao4xoeuo TOO p qo uuoo sr pue S3STXS 3001 949 JT Oe PTOA TUT TOOQ SO qPIJ4PA uru xew 949 39S pe32e43oad Jrpue Osu 9 obessoydsS 3suoo ITJ PTOA TENJIATA S1TJ OJ 198U9SISTT ey pesneo uoruA ebessanqs bew ueadedp 14 uor3oung TEQJITA end TeueqsTTH6swqs ou SJUSUST AUT MOTSITTLXeW QUT PTOA JINANOSPI1SULDAS peeds TITI unurxeu TOFINI2890 MOTSITTLUTW QUT PTOA JINANOSP1DUeLDAS peeds 3T rII umururu JIOSOBIJSuUOD MITSUBAXPU qur oTTgqnd peeds ueq unurxeu MOTSUPJUTU qur 19U9ISTIPSHAS orr
223. except for the first word in a function or variable suchAsThis The following figures display inheritance diagrams for components of RCCI sbActionGoto sbActionMove sbActionRotate Figure 5 8 ArAction Inheritance Diagram ArThread SbSoundsMLT SbManagerT SbExampleMLT Figure 5 9 ArThread ArAsyncTask Inheritance Diagram 68 oabMsgListener iL LEE hi obAcIoniL SbGripperlv am d SbRobothL TU SoundsMLT OD Figure 5 10 SbMsgListener Inheritance Diagram 69 The following sections describe classes and their functions 5 11 1 SbActionGoto This action goes to a given ArPose although it does it very naively Its design has been adopted from ActivMedia s ArActionGoto The action stops when it gets closeDist away A new goal can be set with setGoal canceled with cancelGoal and success state retrieved with haveAchievedGoal This doesn t avoid obstacles at all an avoid routine at a higher priority may be used For real and intelligent looking navigation something like Saphira s Gradient navigation should be used 5 11 2 SbActionML Manages ARIA and custom Sb actions that combine and control robot behavior SbActionML listens for queries to control actions and manages their initialization The more important actions are the SbActionMove and SbActionRotate which allow the user to combine the popular functions of MOVE and ROTATE to be used in combination with action limiting
224. ext mode At the Boot prompt type Linux single then at the shell prompt type passwd root to change the root password 120 8 10 Aria Saphira Botspeak Installation Instructions Installation Download Aria and Saphira from robots activmedia com Aria is freely distributed while Saphira is a licensed product requiring purchasing Follow their instructions for installation ViaVoice and Botspeak for Linux are not longer supported however StudioBlue has two copies of it that were included in the earlier robots After ViaVoice is installed install botspeak from a file called botspeak tar which can be found in older ActivMedia Installation CDs In the root directory add these lines to bashrc Robot directories ARIA usr local Aria SAPHIRA usr local Saphira BOTSPEAK usr local botspeak LD LIBRARY PATH SLD LIBRARY PATH SSAPHIRA 1ib SARIA 1lib ILU BINDING DIRECTORY SBOTSPEAK binding export BOTSPEAK LD LIBRARY PATH TLU BINDING DIRECTORY export ARIA SAPHIRA BOTSPEAK after the following line PATH sbin usr sbin bin usr bin usr X11R6 bin usr local bin usr loca dT sq add Saphira and aria to the path PATH S PATH SARIA bin SSAPHIRA bin As root add the same lines to etc profile Robot directories ARIA usr local Aria SAPHIRA usr local Saphira BOTSPEAK usr local botspeak LD LIBRARY PATH SLD LIBRARY PATH SAPHIRA 1lib SARIA lib ILU BINDING DIRECTORY SBOTSPEAK binding export BOTSEHAR LD LIBRARY PATH TU BI
225. ffortlessly utilized by inexperienced users as well as software developers with minimal programming hence platform and client application independence are design priorities It was decided that most computers have Telnet 48 terminal emulation application which allows a user to connect to another computer 1 e web server and enter text commands that can be executed as 1f s he was entering them directly on the server console Using this application to control the robot using intuitive text commands would be useful immediately Moreover software written in any modern language probably has TCP IP capabilities which can create Telnet like connections and send text and receive text from the host which would mean that exactly the same command syntax can be sent by a Telnet user or an application Furthermore RCCI supports multiple concurrent client connections creating new possibilities for distributed and collaborative sensing and control Typically robot software is created in layers where each layer builds on top of another to accomplish increasingly complicated tasks however a layer does not need to know how other layers implement their functionality The lowest software layer the mobile robot server is a mobile robot platform that provides a set of robotic services in a standard format Above layers are clients of this server and are not confined to particularities of any one robot as long as they adhere to common the server protocol
226. finition at line 12 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbGripperML h e SbGripperML cpp 42 SbManagerT Class Reference SbManagerT include lt SbManagerT h gt Inheritance diagram for SbManagerT Detailed Description Main manager class of RCCI threaded This 1s a threaded class which 1s the managing body of the software supervising all the high level functions of RCCI It takes care of timed TCP server updates checking the robot state
227. five different personalities all present at once Wizard Librarian of Juxtapositions Philosopher Preacher and Storyteller The sixth personality was left to visitors to define through the robot s speech camera movements and motion They created the camouflage and made Kiru a new persona two minutes at a time Googk y e uem Zeg Ge EL 2 Coste S Page Info v Caz Gaam seach QE enz Seach T wadote Day 55 le L d Get nan swt HOME CHAT TUTORIAL IRU SOUNDWAVES GALLERY ideo Stem d Sec neng n oce Jer lae laige lac Bo Es e Qe Gs JE Godd saa Figure 2 2 Kiru s Web Interface for Camouflage Town 5 XT The robot was the ActivMedia s Pioneer PeopleBot 7 outfitted with an extra camera for navigation and a small LCD display Localization was done via image processing of the ceiling with a camera mounted on the top of the robot Groups of multicolored discs mounted on the ceiling allowed the robot to identify its position within the lobby of the museum and display its location on the graphical user interface on CamouflageTown tv website 10 11 The development of the project was part of James Cole s Master Thesis 11 and the author s senior year engineering project 12 both at the Cooper Union Notably this was the first time the Whitney Museum has exhibited NSF funded work 2 3 Rededication of The Foundation Building Ribbon Cutting On April 12 2001 StudioBlue s Performance Peo
228. functions such as ArActionAvoidFront Direct or motion command may conflict with controls from actions or other upper level process and lead to unexpected consequences robot gt clearDirectMotion will cancel the direct motion so an action can get the control back The other way to automatically do it is using robot gt setDirectMotionPrecedenceTime but this may block actions forever if set too high 5 11 3 SbActionMove Action that moves the robot forward and backward in a straight line SbActionMove drives straight by a given distance The action stops when it gets closeDist away The new goal is given with setGoal the action is canceled with cancelGoal and its success returned by AaveAchievedGoal This doesn t avoid obstacles unless used in conjunction with other actions This action was created to be used with higher priority actions to replace direct motion MOVE command 70 5 11 4 SbActionRotate Action that rotates the robot SbActionRotate was required because the direct motion ROTATE command rotates in the direction of the smallest possible motion to achieve the required heading specifically in the case when the turn angle is greater than 180 or less than 180 This prevented the user to rotate the robot in one direction continuously until goal is achieved I e 750 degrees This action is created so it can be combined with limiters of different kinds and types while using fundamental control of the robot 5 11 5 SbCame
229. g to computers and video cameras The physical creation of the lab began in January of 2001 and has officially completed in January of 2004 Its name has gone through a few iterations starting with Renaissance Theater and then naturally evolved into B ueLab from its overbearing blue shade and finally StudioBlue The main goal of the theater is to provide an environment for interdisciplinary learning and collaborating but it is also a research facility for robotics investigations in software and hardware The current Artists in Residence Adrianne Wortzel who is also the Art Director and Huy Truong have successfully used the studio to produce video art Figure 4 2 Figure 4 2 The Cast of Huy Truong s production Shakespeare Robots 4 1 Related Research Projects StudioBlue as a tele robotic theater is an innovative concept in educational sense and can be considered Avant Garde in the art world The studio is a self contained audio and video production space that is connected to the Internet with robots as actors A few projects involving intelligent robots in theatrical performances have been publicized in the late nineties The most prominent 16 robotic performance groups are Ullanta Performance Robotics 23 and OmniCircus 24 The recent development at Carnegie Mellon University of the Center for Robotic and Synthetic Performance CRSP 25 1s the closest publicized concept to StudioBlue 4 1 1 CMU The Center for Roboti
230. ge using ARIA In addition more ActivMedia robots were acquired all included Linux Operating System Kiru was also converted to use Linux from Microsoft Windows 95 and the new ARIA programming interface rendering Cole s code obsolete without major redesign Cole s Web Enabled Communication Platform WECP was created to fit the needs of the Camouflage Town exhibit s program s director Adrienne Wortzel 11 and was not designed for the robotic theater especially since the desired functionality was not known WECP s structure included many behaviors and camera movements that were hard coded requiring recompiling of the application to alter any part Moreover the software model was tailored to only one robot which was solved in RCCI by designing a flexible modular architecture allowing fast integration even plug and play in some cases into other ActivMedia ARIA based robots Coles TCP IP Command Interface syntax was simple and concise but rather inflexible and a slightly vague The fact that his system does not allow for mixing numeric and text commands a workaround was implemented via two types of command types Since at the time of development only one function required text arguments the talk command was one type of command t TEXT 0 50 while all other commands fell under the standard command type CHAR I CHAR CHAR NUM NUM NUM NUM NUM 0 For example mvi 5 10 would represent move at a veloci
231. gh multithreading is very useful it taxes operating system resources especially when using locks and unlocks There may exist more efficient way of sharing data between threads Parameter file for command specification may be useful to easily customize the messaging syntax removing the need for altering source code and recompiling which may not be possible on all systems In the future the may be a need to synchronize time among communicating parties which would require some type of request for system time command which responds to all the clients with snapshot of the OS time Furthermore each SbMessage has a timestamp which may be useful if it is included in the TCP IP message structure As the processing power increases artificial intelligence will become an integral part of theatrics by incorporating intelligent positioning systems queuing mechanisms and intelligent 96 human robot actor interaction Furthermore speech synthesis should be expanded to included accents and other languages Voice recognition could be integrated for smoother interaction between real actors and the robots 6 3 Remarks Working on StudioBlue and other robotics projects at Cooper Union has been most enjoyable satisfying and unforgettable learning experience from learning business practices institutional politics to writing skills and research techniques in unknown disciplines Meeting amazingly creative people and establishing life long friendships added
232. h are used to interface with AmigoBots 4 4 6 5 Video Editing The video editing station 1s used for video and audio post production It has FireWire port to directly interface with the MiniDV cameras and RCA A V inputs to connect with a VCR It is composed of 45 MAC G3 Apple made computer a FireWire I O M100 I O card a Super VHS VCR and a High Resolution Video Monitor FinalCut Pro is the primary video editing software package used for non linear editing 4 4 6 6 Wireless Control A ThinkPad A20p IBM laptop is used for software development presentations and remote control It has an 802 11b wireless card which connects to the wireless Ethernet network in StudioBlue 4 5 A V Connections Web Interface Tele operation was one of the original aims in creation of StudioBlue and drove the design of control software platform Once the robots are wirelessly connected to an Ethernet network they can be controlled from any computer in the world via Internet RCCI coupled with GRASP provide the means to control the robot functions however audiovisual interaction is done via other systems As for Audio and Video the limiting factor is the encoding compression type and bandwidth issues when Internet if the transmission medium This is a difficult task in web based A V robotics especially with the limitations of the Internet current audio video streaming capabilities and limits in Cooper Union s resources Camouflage Town used Real
233. hat the pioneer robot possess wireless camera with RCA video output Although the transmission is prone to interference the feed can be used for a unique first person robot perspective 4 4 3 Lighting Lighting 1s the most important factor in the final quality of video especially when Chromakey effect is applied The theater space was originally designed to only work with 12 standard small theater 3 Fresnel spot lights that project up to 15 feet They produce a soft diffused light that can be focused for spot of flood applications and are excellent for use in small theater They require quartz lamps up to 250 Watts and feature a hinged top for easy re lamping a Figure 4 27 3 Fresnel Spot Light with Filter Required power cables barn doors and frames for color gels were also acquired To independently control the Fresnels a 24 channel 2 scene DMX scene setter console manufactured by American DJ was selected along with three 4x500 Watt DMX Dimmer Packs DP DMX 20L by American DJ and three 25 XLR control cables to interconnect them Small C style clamps were used for mounting the spot lights NOTE Because the lamps become extremely hot its imperative that all safety precautions are followed SCENE SETTER un DP DMX 201 Figure 4 28 Lighting Control Console Dimmer Pack 38 Fresnels are designed for a situation where a small area needs to be highlighted which does not work well for large backgrounds or am
234. http ksl web stanford edu projects cait gt March 23 2004 PTZ Robotic Cameras for Pioneer 2 Activmedia Robotics lt http robots activmedia com docs all docs PTZcameras3 pdf February 5 2004 Pioneer 2 Gripper Manual Activmedia Robotics lt http robots activmedia com docs all docs gripmanP2 3 pdf gt February 5 2004 AmigoBot ActivMedia Robotics 2003 lt http www amigobot com gt April 6 2004 The Acoustics Laboratory The Cooper Union lt http www cooper edu engineering me facilities acustics html gt April 6 2004 Wortzel Adrianne Eliza Redux Veils Of Transference StudioBlue 2003 99 33 Porvin Dan Lighting Tips For Chromakey Video or Photography Cooper Union School of Art Video Dept 2002 34 Kim Yoongeu Yusuf Mohammed Design and Construction of the Tele Robotic Theatre Capstone Senior Design Project May 8 2003 35 Goerzen John Linux Programming Bible Foster City CA IDG Books Worldwire Inc 2000 36 Stroustrup Bjarne The C Programming Language Special Edition Reading MA Addison Wesley 2000 3 Wiener Richard Pinson Lewis J Fundamentals of OOP and Data Structures in Java New York NY Cambridge University Press 2000 38 The Player Stage Project lt http playerstage sourceforge net gt December 22 2002 39 MissionLab v6 0 multiagent robotics mission specification and control software lt http www cc gatech edu
235. ic License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA If you wish to redistribute ARIA under different terms contact ActivMedia Robotics for information about a commercial version of ARIA at robots activmedia com or ActivMedia Robotics 19 Columbia Drive Amherst NH 03031 800 639 9481 Definition at line 58 of file SbSocket h Public Types e enum Type UDP TCP Unknown type of connection enumerator e enum Error NoErr NetFail ConBadHost ConNoRoute ConRefused type of error enumerator 72 Public Member Functions SbSocket Constructor SbSocket const char host int port Type type Constructs the socket and connects it to the myConn socket given host SbSocket int port bool doClose Type type Constructs the socket and opens it as a server port SbSocket Destructor bool copy int fd bool doclose Copy socket structures void copy SbSocket s Copy socket structures void transfer SbSocket s Tra
236. ies the same concept to Windows using Windows own abilities to restrict access to critical sections Definition at line 47 of file ArMutex h Public Types e typedef pthread_mutex_t MutexType e enum Status STATUS FAILED INIT 1 STATUS FAILED STATUS ALREADY LOCKED Public Member Functions e AREXPORT ArMutex Constructor e virtual AREXPORT ArMutex Destructor e virtual AREXPORT int lock O Lock the mutex e virtual AREXPORT int tryLock O Try to lock the mutex but do not block e virtual AREXPORT int unlock Unlock the mutex allowing another thread to obtain the lock e virtual AREXPORT const char getError int messageNumber const Get a human readable error message from an error code e virtual AREXPORT MutexType amp getMutex Get a reference to the underlying mutex variable Protected Attributes e bool myFailedInit e MutexType myMutex e ArStrMap myStrMap Member Enumeration Documentation enum ArMutex Status Enumeration values STATUS FAILED INIT Failed to initialize STATUS FAILED General failure STATUS ALREADY LOCKED Mutex already locked Definition at line 57 of file ArMutex h Member Function Documentation int ArMutex lock void virtual Lock the mutex This function will block until no other thread has this mutex locked If it returns 0 then it obtained the lock and the thread is free to use the critical section that this mutex protects Else 1t returns an error code Se
237. ieueqdt TInu axl iuuoo ppe preuegdt TInu ZaxIi iuuoo ppe preuegdt TInu axl iuuoo ppe preuegdt Trnu reqer C ppe zreuegt LLVIS4 AX9l39S 91878u0931Ng8 u LVIS Dpueuuo uorjovies oqaeqasuoqaqanqd esTeg e dearpuaes xogbsu 2 0ZT OoO0Sg uorsuaurq MeupziSpeaagojeagdaies xogbsu 2 0ZT OOG uorsueurq Meupzrisunururwaes xog su 1 enaz3 pe qeuuaes xogbsu 102 mute 30q01 3X312198 118q8TL udOLSg 3X9l39Ss uo33ngdo3s 2 0b OOT JUOTSUSUTG Meupzrigpoeuadogougaqes uoaa4ngdoas 2 0Z QQ UOTSUSUTG Meujpzrsunururji3es uo3angdoas tice cecece uorsueurqg MEUPZTSUNUTXeW Jes UO Ngdoys Gro FeOTF JAQUSWUHTTYIeEsS uoj3angdoas pa1 10T 0 ppuno1bxo0eg39s uo3a4ngdoas L23NNOOSIG 3Xel3esuo433ng3oeuuoosrQq30qo4 LOE Ooza uorsueurq Meupzrgpeag4dojoedig3es sru3 LO Ozcs uorsueurq MSUPZTSUNUTUTNAISS STUJ O0Z Op uorsueurg MBUPZTSP9119 914 98 IX pwuoo uu J1X9IATLTOOLI9S p IX Ly 1040 3X9139S TAXLE OZ op uorsueurq MBUPZTSPSetTETetd 19s EC XL WOOD WOO uoo uoo 100 3X9139S 23XIY U4VSIdS vw AX9139 T3XIG 2 0Z OL UOTSUSWUTG Meupzrgpeugdegjeuga3es 3XIqguuoo Geq INMOM OTTHHA AX9l39S Z3XIGUUOO 00p uorsueurq Meupzrspeagagogjoeuggda3es 7za3xlquuoo ipu9SSg 3XerLa3es quoa33nguioo uWVO i 3ax L3 s T3XIpUuOoo OL JUOTSUSUTG Meupzrgpeagdgogjeuga3es T3X LF Ul Ul Ul 1 au JAXOLITLTOOLISS IX pwuoo Ul Ul uoo Wood uu JA
238. ifficult and often not intuitive 62 The software entrance point is through the main function which accepts command line argument specifying the port number used by the TCP server The main function initializes ARIA with dedicated signal handling thread It then creates and instance of SbManagerT class which as the name suggests 1s the primary task manager of the software The main class keeps running until ARIA s getRunning function returns false SbManagerT manages communication infrastructure and is the hub for control of all available robot function modules see Figure 5 4 SbManagerT creates an instance of SbServerML and passes the port specified by the user from main and then opens up a socket for clients to connect to SbServerML also parses incoming client communication data checks for connection and format errors and transforms the raw data into SbMessage format The manger also creates and instance of SbMsgHandlerSingleton that is responsible for inter module communications It serves as a hub for passing information between different classes and indirectly via SbServerML the user The class implements the Singleton method which is a computer science design pattern to ensure a class has only one instance and provide a global point of access 50 SbMsgListener is a pure abstract class a common interface for objects that are interested in listening to the messages within RCCI This includes messages from TCP clients Classe
239. imda Unale uu 3GRASP C Documents and Settings James My Documents 12 gpx I x Dreis mn Hep Dejr lt m e olha ipting Panel C Documents and Settings james My Do Ra4Motion Controls Eransiation Rotatation Translational e mmis 300 Translational Acceleration mmis 2 Acceleration mm s 2 200 200 Rotational Velocity 90 Rotational Acceleration EE 20 Tran 0 Rot O Hex Sat Use Default Values Use Previous Values Preview Activity ESJPTZ Controls ES TTS Activity Module l J mm 5 cr Activity Text Activity Voice Qualities J T n o p Pasea O p F 8d F s Bresthiness 8 0 1 Tit Speed F 81 Ee Gripper ERU PS H 60 mecin 4 juger EH ripper Controls I t HR Bene Hesizs Male C Female Grip Controls _Lift Controls Pan 0 Zoom 0 None None iti i i i Use Default Values Use Previous Values Preview A Use Default Qualities Use Previous Qualities Previe e Grip Hatt Fus Grip Open XC Lift Up v Mone Hat Ready Store v Enable Par Tit Enable Zoom Grip Clase start A e a P Gyrevi Site J Ems Ejwal J re J we s n Jee Per Lem Bom Yun SFG DBSABBS SB uis Figure 3 2 Graphical Roboti
240. in name servers xclock cal calendar xpdf pdf reader acroread pdf reader gv mpg123 mp3 player date play wav player aumix man k ssh looks for ssh in all man pages uname a display system name cat proc cpuinfo display cpu information set shows settings crontab e edit crontab du sk fileorDirname summarize disk usage in Kilobytes 1023 KB Megabyte e2fsck options device w shows all people logged in who shows all people logged in groups belongs to groups RERRERERRRRERERERRRRREV Y ODLIIOHS O TUN In IUS Create a vimrc file in home directory 118 number of spaces set tabstop 4 set shiftwidth 4 set expandtab Segna guum os m OX DOP rt DISPLAY AAA EEEREN E s A sS DUI USUS IUUD DNUS NUN er xhost xon servername rsh servername remote shell login on the machine you are telneting from xhost IP IP machine that you are telneting to On the remote machine one telneted to export DISPLAY IP 0 0 export DISPLA Y roboweb me cooper edu 0 0 A simple shell script set display sh bin sh echo Enter the IP you ve logged in from read IP export DISPLA Y IP 0 0 To run it every time you login include it in profile profile exec set display sh Note also that there are ways of automating this so you can have it automatically grab your IP rather than having you type it in but I don t know the program to do it To start a program at startup in etc rc d rc4 file include the fol
241. ing microphone aumix w 50 aumix y 50 aumix m 0 while 1 gt 0 do echo Killing ViaVoice engine Botspeak and RCCI killari a9 regi killall 9 botspeak srvr killall 9 engine sleep 2 restart the ViaVoice engine usr lib ViaVoice bin engine sleep 3 echo Attempring to BCCI Server on port Tol p RECT 5 sleep 10 echo TRYING AGAIN done The script is activated from the command line by typing in the name of the script file and the PORT argument start 5555 If RCCI quits for any reason this script will start it up again The above retry function was specifically created to solve a problem of delayed clean up of sockets Sockets particularly on UNIX based systems behave different than on Windows platform in that when they are not used anymore the operating system automatically cleans them up for repeated use However this takes time and immediate reuse of a socket port is not possible and unpredictable clean up takes on average a few 59 minutes The script automates the testing process and keeps trying until the socket is available Choosing another port number is another option 5 6 C Development C is probably the most widely used programming language in the world as it is backwards compatible with ANSI C another popular high level programming tool Although newer versions are available GNU s C compiler GCC version 2 95 3 was used as it is considered very stable and is compatible with Saphira and
242. ional robot functionality and general software progress were reasons to make RCCI as modular as possible Figure 5 3 displays the hierarchy of components participating in robot client communication and command Client is shielded from the intricacies of components controlled through RCCI The interaction between the two top layers is via TCP with RCCI taking the role of the server 61 CLIENT TCP IP BOTSPEAK ViaVoice TCP IP SERIAL Figure 5 3 Component diagram RCCI translates command from formatted string into structured class data and then distributes via functions it to other modules RCCI directly controls Botspeak which uses the ViaVoice engine to synthesize text RCCI similarly commands Saphira which implements its functionality via ARIA The rest of the commands are interpreted by ARIA which has direct control over the robot and its accessories This communication is done via TCP IP if the simulator is used or RS232 serial if the real robot is connected to the machine running ARIA Botspeak ARIA and SAPHIRA are all integrated into RCCI RCCI also applies some of the TCP IP communication and threading modules provided in ARIA Threading was implemented using ARIA s ArThread class although its usage was kept minimal Using threads increases the complexity of the code and often leads to slower performance due to resource demanding data lock and unlock mechanism Moreover debugging threaded code 1s very d
243. ions will be blocked until the precedence time is exceeded or CLEAR is called CLEAR Clears direct motion move rotate etc commands For example if VEL command is active CLEAR will end the VEL command in 2 or 3 seconds It comes useful when robot s motors are shut off while it attempts to complete a motion command producing continuous beep Firing CLEAR will end it MAXTRANSVEL double Sets maximum velocity in mm sec MAXTROTVEL double Sets maximum rotational velocity degrees sec TRANSACCEL double 2 Sets translational acceleration in mm sec TRANSDECEL double Sets translational deceleration in mm sec ROTACCEL double Sets rotational acceleration in deg sec ROTDECEL double Sets rotational acceleration in deg sec 5 12 1 4 SbActionML AMOVE double 78 The action move command was created to replace the direct motion command so it can be used in combination with other actions e forward limiter Typical direct motion commands disable all actions The AMOVE works like MOVE except for action blocking AROTATE double The action rotate command was created to replace the direct motion command so it can be used in combination with other actions i e forward limiter It works differently than ROTATE when a large angle is entered where it attempts to reach the desired rotation angle by rotating in the direction described by the sign of the input For example if 300 is entered
244. ivided into two separate labs making only one outlet available for theater s use 29 COMPUTER h Ise us A i INCEIUNG ON BEAMS e SR NEW WALL EH HH S475 STRUCTURAL BEAM IN ACOUSTIC LAB CEILING HTC Es INCONDESCENT LIGHT e 250WATT SPOTLIGHT SWATCH LIGHT LINE 110 OUTLET HE IR IN CEIUNG O N BEAMS gt BERT _ L HH HH oc D O a P R Aa A A Lar Ss AAA AA T He lt A a Laa Da HOO HD SCENT ua Ts FIQURESCEWT LIGHTS FLOURESCENT LIGHTS 7 TO REMOVED dech CM 5 COMPUTERS 2 VIDEO MO NITORS ETC Figure 4 17 Electric layout of the lab In addition the sole available outlet was shared with appliances in the adjacent room Materials Lab The following devices required significant power to be provided by the theater 5 Computers CPU and Monitor 2 Video Monitors 12 250 Watt Stage Lights 1 Air Conditioner 5 Robot Power Supplies Plus other Extraneous Hardware The power requirements were confirmed by a professional electrician and implemented as required A circuit breaker box was installed in the room for emergency shutdown access and for wiring simplicity Ample extensions cords and power strips were purchased for connecting spot lights fluorescent lights auxiliary equipment A V and robot battery chargers 30 4 3 4
245. j o4e9443jog 9914 ou Aq peusriqnd se su orT or qund Tezreuey AND 842 jo suioj oui zopun 3r Arrpou Jo pue AT OJIHMILIjSIDoIl uso NOA foribAjyoS oorr ST Wexbord Sri OTI sorg3oqod erpeWAra3ov zo0z2 9 aubra doo VINY Suorgeor ddy 10 SOLFISQUI sor3oqoM PIDOSWATIJ3OV Teds SUIS UOTINATIISTP S e9IpoWAI3OV MOTTOZ TTIM pue vidNv uo4j pe2dopy aedpg suz 3 U0TINQTIISTPSI S ETP WATJOY AOTTOJ O3 sp u ead0jo4dou3 pue IV uo4j p 3dope sem sse o STYLI buTurem unzz AO JI YSeTO pue qu rTO 39UT97 SMOPUTM U314 TITeOT3PeI121 xioM Aew s q q QgIS Sr zrs ebessou unurxey bnqg POO uo4ew IPP buradeeurbuw eorueuoow uorun Iedoo IXOr eg uroagew 1043nN89 UNDHTT 207 AY3OIXSE pea3ueue dur osTe sem SSETO STYL Sg3exoed e3ep obaue JO uorsSSsIiusuea4j SY p 3arurTr pue pogueunoopun sem sse o jexoos TeCUTHTIO PIDOWAI3OV SUL ddo NI T 3eyoos4gy pue ddo 3exyoogay seossepo S PIDOWAI2OV OMj uo4j peydope u q seu sse o STYL ue3s s burgeadedo y oq gexoos 949 s rjrqu pr YOTYM IOIATIDSSDP TIJ au suTe3u0o os e sse o STYLI pegueue duri eae suorjoung 3jexoos pesn r uounioo paepuejs oui JO IV ueg3s s burgeadedo xtun ur oeoegjaoQur burxaio joeu s3exoos y esn oq rdo d smoTTe YOTYM ao e P SI 294008508 Zodi uorgeorunuuoo dI dOl 3exoos xrup FL Pd PEL Se A IEF d FER y IE PIS L t fh ZZ d fh fh FER ILL Ee FE PLE 11 lt Butaas gt SET LEE A lt y bIPp1S gt SPNTOUTH u
246. j25uuOO fiburrzge burrgsS DUTIAJES lIOSNNOO d OD 02 34M eu 93 prnoys edA I ey ebessoeu agg eszeg JodA L395 b5su d q bsu s ebessowdS ISUOD SIATI INIOIOHAS PTOA tu1anJ39ax Z id0oTUN lt I0001 u04 3ueunbayppe bsu sT y Zo ebed uLu aueunbayppe Dau PpaTTe3s1010NUBTEST lt 10901 FF i10u 3ueunbavppe 5su este Tu 3ueumbavppe psw paTT9181010N1J978ST lt 1001 Ft u CTTIVIS 2 USUMbIiyppe su 9SW OSU ebesseyds peTTeaszoqomAyhtyst lt joqoz bPerreasadoaoWa3i9 IST 30qo2 g3rt Aub TI 978T UT TDOTIOCGIS SEM IOJOU LTO T TM puss d d li3Uuri323UTIGNTIWVLS DOoN PUSS CTIE IJ3UI J3UIIGONHTIVIS bsydunqueqpueuorbswpues 3rudunq FT TeTpuey ey3 o3 ebessou e pues 3Ty Stom siedunq oui jo Aue JI u0Qu aueun za vppe 6syidunq esto an13 arudunq brT33 S9 gaurad uLu aueunbayvppe bspydunq GTA 3 T9A 3T Z x 119 1 piodung1iesgunn3ab lt 30901 gt T fZ 1149 0 r a0g G33x0 3 JfPnTeATTe92s396 lt 3001 TRA szedunq I1891 0 JUSumbIVppe bswdung esto an12 ayrudunq dE EE Ty queunbayppe 6spyidunq GFA 3 TRA FT E x 3Tq 441 j BasodungquozraqunNgjebc 3O0qoX gt T fg aATq 9 T 107 8 lt lt 0033X0 3 hI ATI 31S39P 30qo3 Tea szedunq 3uo4gj 9STe3 arudunq TOooq QIIHWSdW g 3ueunbazvppe bspydunq A5SWu aueunbavppe bspidunq INES
247. jg popuoeuulooe4d ST suorjoe bursn 3oqo4 ou buTaow uVZ eurrgeouepeoeagguor3owaoe4ardq3eb 30qo4 UNYBTY 007 JI 7940707 SUOIJjO XOO q Apu uy Z eurjeouepeoeaguorjOW42e4r 39esS 30qo4 uV bursn ST op AT e9Tr3euo3ne oj Apm Zeuio euos ST say xoeq ToTu au 396 ue uorjoe os UOTIOW 2091TP 949 eoueo TIAM UOTIONIDSITATPSTO lt 20GO1 soouenbesuoo poj3oedxoun o3 pe rT pue sessoooud T A T aeddn 1943930 10 SUOTIOY UO4J S O44UOO U231A 3orT juoo eu pueuuoo uorjou zo JO9I1TP je8uj3 aeTeme og spueuuiooj UOTIOW PTIY buru4eAajg FOOZ uo4eW e3 9pg buradeoeurbuxg eorueugoow uorufj Zedoo rxyor eg UTOTeEW 10Y2 nep Suorjgoung pa3eTo1 uorg3ou 19430 pue 9NIGVAHH uTIHALOM TEAS Ir un THAn 9U3 Sieg HlVIOM Z ach O3 2001 ey spueuuoo 31 sqysenbaz uorgou sesaed TauaeqAsTT STUL SuOr3oungj UOTIOW 30q01 sobeuew FER 11 d fh Ee FEF IEE Z ESE TEL ILL ae 11 Ug d Lee ois eoedseuru Duren lt bBUTIIS gt SPNTOUTE vU BTIIVw SPNTOUTH uu ebessowdSs PSPNTOUTH uu TSUSASTTOSWIS SON TOUT H u IWUCTIOWAS urj p UY 1WNUOT3OWdS J DUJT vooz 8 Aen uo peaqurad u INUuOor3oWds epniour Q rro22a do4Qxseqg uroaeu sbur33eg pue squeumooqg 2 ureu TT iI Iw Vu 9d 3 gT este dosq bur ouue ue buronpoa4d pueuuoo uorjou e ojgeryduoo Of BSOTII JT pue JJa 2018 Sze szojgou 53007 USA Teen ST 3r ZZ spuooes TO E UT do Ys TIM 30qo4 ey perrj Sr pubeunuOD Sry pue uo S
248. joinable status of the thread virtual AREXPORT const ThreadType getThread void const Get the underlying thread type virtual AREXPORT ArFunctor getFunc void const Get the functor that the thread runs virtual AREXPORT void setRunning bool running Set the running value on the thread AREXPORT int lock void Lock the thread instance AREXPORT int tryLock void Try to lock the thread instance without blocking AREXPORT int unlock void Unlock the thread instance bool getBlockAllSignals void Do we block all process signals at startup 80 Static Public Member Functions e AREXPORT void init void Initialize the internal book keeping structures e AREXPORT ArThread self void Returns the instance of your own thread e AREXPORT void stopAll Stop all threads e AREXPORT void cancelAll void Cancel all threads e AREXPORT void joinAll void Join on all threads e AREXPORT void yieldProcessor void Yield the processor to another thread Protected Member Functions e bool checkForRobot void checks if the robot exists and is connected e virtual void addMsgType const string m adds the message type that this listener should listen to e virtual AREXPORT int doJoin void ret NULL Protected Attributes e ArRobot robot internal robot pointer e SbMessage msg internal message e bool newSpeakMsg new message for speak arrived flag e bool newPlayMsg new message for play arrived flag e
249. k to play a WAV file Initializes if it has not done so The string is the location and name of the file to be played relative to the directory where the RCCI executable file is located Absolute paths are also possible Example PLAY home marcin music song wav AMIGOSO UND int Plays a given sound number on AmigoBot AMIGOSOUNDTOGjiintl Turns the AmigoBot sounds on or off O off 1 on 5 12 1 12 SbStateML The STATE command has a number of subcommands under it STATE string int STATE If the message has no arguments or first one is 0 broadcast vital state information A position positive X is parallel to forward motion Y position positive Y is 90 degrees to the right of X axis Heading the direction the robot is facing 180 to 180 in degrees Vel translational velocity of the robot in mm sec RotVel rotational velocity of the robot in degrees sec LeftWheelVel velocity of the left wheel in mm sec RightWheelVel velocity of the right wheel in mm sec Volt voltage level of the robot s batteries 9 0 13 0 volts The message broadcast is in the following format MSG STATE X Y Heading Vel RotVel LeftWheelVel RightWheelVel Volt 84 STATE sonar int Returns values of a set of sonar in millimeters and will be 1 if no data was received from the sonar either no sonar or sonar did not return a reading If the first argument is SONAR and second is 0 sonar values for all available son
250. l the message types that this listener is interested in registering with the handler Member Function Documentation void SbServerML cycleOnce void Runs once through the servers functions there was a problem NULL was returned flag that socket Definition at line 67 of file SbServerML cpp References SbSocket accept deleteConnsVector SbSocket getAddress SbSocket getFD getPort isOpened myConns myConnslterator serverSocket SbSocket setNonBlock SbSocket transfer and SbSocket writeString Referenced by SbManagerT runThread bool SbServerML getMsg SbMessage amp parses the databuffer for message and assigns the oldesvectort one to the object argument This only works in conjunction with cycleOnce Definition at line 228 of file SbServerML cpp 69 References SbMessage create disconnectClient getDelimiter getMsg SbMessage getType isOpened myConns myConnslterator and sendData Referenced by getMsg and SbManagerT runThread void SbServerML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 310 of file SbServerML cpp References SbMessage addArgument disconnectClients fire SbMessage getArgAsStr SbMessage getNumOfArgs SbMessage getType sendData and type Referenced by fire vec
251. ld position e ArPose origGoal requested goal e ArPose myGoal goal e State myState instance of the state enumerator ArRobot myRobot bool myIsActive int myNumArgs std map lt int ArArg gt myArgumentMap std string myName std string myDescription The documentation for this class was generated from the following files e SbActionMove h e SbActionMove cpp 21 SbActionRotate Class Reference SbActionRotatetinclude SbActionRotate h Inheritance diagram for SbActionRotate E Detailed Description Action that rotates the robot SbActionRotate was required because the direct motion ROTATE command rotates in the direction of the smallest possible motion to achieve the required heading specifically in the case the angle is greater then 180 or less than 180 This prevented the user to rotate the robot in one direction continuesly until goal is achieved ie 750 degrees This action is basically made so that you can just have a ton of limiters of different kinds and types while using fundamental control of the robot Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Bug None Definition at line 19 of file SbActionRotate h Public Member Functions e SbActionRotate const char name turn double turnAmount 15 Constructor e virtual SbActionRotate Destructor e virtual ArActionDesired fire ArActionDesired currentDesired implementation of base fire functio
252. ll be the IP address and third one will be the port of the simulator CONNECT sim address port If the first argument is robot RCCI will attempt to connect to the robot on default serial port DISCONNECT Disconnects from the robot or simulator SETPOS double double double 81 Sets the apparent position of the robot in the world SETPOS X Y HEADING MOTORSJjint Turns the robot motors on and off 0 off 1 on SONARIint Turns the sonar off and on O off 1 on ROBOTPARAMS Returns robot parameters as doubles velmax maximum translational velocity rotvelmax maximum rotational velocity accel maximum translational acceleration decal maximum translation deceleration rotaccel maximum rotational acceleration absmaxvel absolute maximum velocity ROBOTPARAMS velmax rotvelmaxlaccel decel rotaccel absmaxvel ROBOTNAME Returns robot name ROBOTNAME name ROBOTTYPE Returns robot type ROBOTTYPE type 5 12 1 10 SbSaphiraML GOTO double double Activates gradient path planning Turns and goes to the goal without avoidance Accepts X Y coordinates positive X direction is straight ahead while positive Y is 90 degrees to the left IGOTO double double Activates gradient path planning Goes to the given goal and uses sonar data to avoid obstacles Accepts X Y coordinates positive X axis is straight ahead while positive Y is 90 degrees to the left STOP 82
253. lling the robot and the robot s environment was truly real time The project deployed an ActivMedia PeopleBot and several smaller ActivMedia AmigoBots in a free roaming environment in which each robot is preprogrammed for obstacle avoidance Adrianne Wortzel summed up the installation in the following way Upon entering the first Floor Lobby space a visitor found themselves at a control station consisting of a computer with two monitors One of the monitors displayed the interface console which controlled Bruno the large robot A visitor can control Bruno s physical locomotion as well as the pan tilt and zoom features of his camera while he roams the gallery on the lower level The visitor can also initiate the robot to speak by typing in text which becomes speech for the robot The second monitor shows the visitor what the robot is seeing and has accompanying speakers so that the visitor can also hear what takes place in the downstairs gallery This first floor lobby control station also had a hidden camera which made the user visible to visitors downstairs Bruno is accompanied by three smaller robots traveling close to the floor and equipped with a camera These robots are programmed to roam the lower level floor and interact with visitors Meanwhile downstairs in the lower gallery a visitor may not necessarily realize they are engaged through Bruno in an interactive relationship with the visitor upstairs Inevitably they will come
254. lowing echo trying to start program exec usr local myprog nodaemon If sockets prevent the restart of the server they could possibly be removed Although the are usually cleaned up by the system remove stale hunt sockets so the game can start if r tmp hunt o r tmp hunt starts then echo removing your stale hunt sockets from tmp bin rm f tmp hunt fi 119 8 9 Robot Issues and How to Correct Them ROBOT CRASHED AND DOESN T BOOT This happens occasionally a forced hard disk scan 1s required Use the keyboard and monitor to log in if hard disk failed 1t needs to be repaired As root type in e2fsck options device To force device check e2fsck f devicewhere the device is the device that has errors ie dev hda dumpe2fs dev hda prints the super block and blocks group information for the file system present on dev hda Excellent guide for Linux operation http www ee surrey ac uk Teaching Unix index html NO SOUND Jumpers on the board did not match the ones in the modules conf file so there was no sound I also changed the irq to 9 instead of 5 due to a conflict although ActivMedia suggested 5 I added privileges to dev dsp and dev mixer to everyone Irq 7 works Use play and aumixer to change props LOST ROOT PASSWORD The robots are generally shipped without passwords for root or guest If root does seem to require a password startup in single user mode Press Ctrl x if prompted to start t
255. m a goal point or set of goal points to the robot The algorithm starts by considering a local neighborhood connecting the robot and the goal or goals and then expands its search if no path is found There is a user settable limit on the size of the neighborhood considered Gradient uses a square cell grid as a cost field for determining good paths You can set the grid resolution a typical resolution is 10 mm The avoidance part can be turned off allowing for the robot to naively go to the desired position GOTO The distance when the robot assumes it has successfully reached the goal can be set using GETSETDONE while GOTOSETCLOSE sets the distance to goal that the robot starts to slow down GOTOWINDOW describes the size of the window that Saphira will look Exact motion patterns of GOTO and IGOTO may be different every time due to sonar tolerances and electronic interference 5 11 17 SbServerML Manages TCP IP server multiple socket connections send receive ASCII data This class uses SbSockets to listen for incoming connections It allows multiple clients to connect It will broadcast any message sent via fire to all connected sockets It does not automatically check for incoming sockets messages but can do so via the cycleOnce function Clients can disconnect by sending QUIT message and all clients are disconnected when QUITALL message type is fired The SEND command broadcasts the data embedded in the message less the S
256. m em burqugAue Jeb upo em os Jep sse oO STYQ SADOT 00T daSTS IT1INI1VY DuruunwuAu eTTUuM DIe y PTOA PCSAULUNT p INSpunoSqS y PTOA Qg aursvbavaeb b5su qwNnos spueuuojav a3uuoo 340qo4 INNOSODINVY edAr3eb bsu gr este 30qobtwe uo tequnu punos ueArb e skeTd 3uT GNAOSODINY d T SOLANNOS SPUBUMODIAY JUTWOD lt I0GOI eseo Jager 0 amp OLGNAOS spueuuojoay auguoo 30qo4 eseo 0 aursvbavaieb b5su uoatTAMs uo pue JIo spunos obtTue Z go z Bea vOOZ 8 Aew uo p qurzd ddo rINSpunosqs 0 rr9202 doqxseqg uroaeu sbur33es pue sqQueuno2og 2 uru TT i I JO T ebeg jrpueg d SSO UWL IJSHUTIJSO buraz3go3 ur pesn uorjoung ues13s 8UJI9j3UI faqeasbsu y obessowds obessou Teuz qur fodAq burajs od 3 obessou PTOA J10OYI104AD9YO TOOq paz3osauuoo sr pue s3srxo 30q01I 943 JI syoayo JOJOX y jOqoHav ge ured joqoxr Teurojur 93eATad sus obessowdqs 3suoo o431j PTOA TENJITA pe4rj eq OF aeuej3sTTbSWQS ou pesnoo yey ebessowqs bsuy uteadedg uor3oung Ten3ITA eund zazeuej3sTTbSWQS ey squeue dur TQnop butz4S0 4 Putas burzjs Y o3 rqnop s3194U02 PTOA TN9I18ISIS gt 10309n1983U0290 PTOA TN918 ISS ION TECOS oTTgqnd 19U9ISTIPSHAS DTTANA TNSILISAS SSPTO ouowN bnqg TeTpuey oui o3 yoeq sobessou TITJ OF age puegorjbsywpues u3 esn ued nox oe3oujg POO YI9TIEN e93 pg butiosurbug eorueugoow uorufj Zedoo rxyor eg
257. mic research environments and rarely by non engineers 5 9 Great financial requirements and extensive programming knowledge limited their usage to engineering researchers and computer scientists However if there existed a public robot venue with an interface such that the robots could be controlled via an intuitive graphical interface requiring no specialized systems experience a team of artist directors set designers and engineers could interact in productive cross disciplinary participation and mutual enrichment of engineering and arts students As summed up in the NSF grant abstract its goal 1s to provide an open development environment free of operating system or platform expertise requirements for students and faculty in all academic disciplines to develop creative applications for mobile robots By analogy this is what browsers did for the Internet revolutionizing both commerce and culture while fueling further technical progress Outcomes are enrichment of cross disciplinary curricula in engineering and arts faculty development and exciting applications including WWW robotic theatrical performances directed by a professional artist Results are being disseminated via Web and publications 2 Furthermore a laboratory that implements this idea establishes a common ground for collaboration between educators and students and provides an interdisciplinary educational environment for further project based learning in the
258. mp gets data and clears the buffer but lets the user know when the buffer is not empty virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Types typedef map lt SbSocket string iterator myConnslterator connection map iterator 68 Protected Member Functions bool isInteger string checks if a string is an integer virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes bool opened server open flag string port port string defaultPort default port string string delimiter message delimiter string string type type of message string SbSocket serverSocket instance of the socket map lt SbSocket string gt myConns map of connected sockets KEY with their respective buffers socketPointer buffer vector lt SbSocket gt deleteConns Vector vector holding pointers to sockets that have been flagged because of a communication error and will be deleted vector lt string gt msgTypeVector vector containing al
259. mplemented to accept new ARIA updates Additionally the software model is designed so it can be implemented with other robot application development interfaces since ARIA utilities used in RCCI are open source Robustness was another major factor in designing RCCI which operates days at a time without crashing that is caused by memory leaks or thread locks There exists an external factor shorts low voltage that may influence unpredicted robot behavior as a result the robot should always be watched or have the emergency break switch active when it is not performing Typically software response using RCCI will never be as fast as the software utilizing the robot API running on the same machine unless the controlling application requires great processing resources in which case it is favorable to keep the control application on a remote processor 1 e desktop machine Even though the robot may be upgraded to a high performance processor the power consumption directly increases with processor speed This is evident in the difference between the charge life of two PeopleBots Performance PeopleBot has more peripherals and operates for 6 hours 75 that of Kiru s operating time Communication frequency number of datagrams sent to RCCI can effect the performance of the software Since some of the commands retrieve robot information they use up system resources and can tax the processor If many messages are sent to RCCI the robot will slow down an
260. mputers will be producing a lot of heat 111 FIGURE I dP OF IO LE INOOd eel 919 58 o LEM 06 3E A zr 5H 3 LT IO 3 5 etc rE zn Hom SMITA eme HI hg IZDLLOD2LS I re a Mug m MN nnn GENGE LATLOO ADIT ei o ree P vr vi jd a E Por e s D 7 ABITI LEHAZITHALIEAS SSIYaL D MIDNVH NOILV2OTMWOOH TXAOPLHOL p SLHOIILNGDSGHDO TI e gw IOLLSDnoow PALIT o FIT i SLHOIIILLWAWGE ii IA S jiii L E E LIZA 112 8 6 Chromakeyer TBC 6000 User Guide Connecting the TBC 6000 Recor Pomel ect Lae SOURCES qc Pens e WIDE CAMERA or VOCE WIDE CAMERA or VICE E wE AA VE ST ts ol pa T T WIDESO CAMERA ar VOR SOURCE MONITOR IAE RECORDING VER Figure 1 Rear view of the TBC 6000 l The S VHS input jacks Input 1 2 3 allow connections for a two camera sources and a background VCR or b one camera and two VCR background sources 2 The S VHS output jack A is attached to a VCR and monitor to display the output with Chromakey effect Output jack B 1s for monitoring the source video 3 Power Supply A 9V 18W AC DC traNSFormer is connected in the rear to supply power 2a 6 8 l 2b 3 5 10 11 13 13 7 9 Figure 2 Front View of the TBC 6000 113 10 IH 12 Power ON OFF switch That s a hard one a OUTPUT A SOURCE SWITCH Use this to select the source channel 1 2 or 3 that the chroma key effect should keyout and overlay
261. msg virtual implements the SbMsgListener pure virtual function Parameters msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 193 of file SbCameraSONYML cpp References camera checkForRobot fire SbMessage getArgAsDbl SbMessage getArgAsInt SbMessage getArgAsStr SbMessage getAsStr SbMessage getType pan panRel robot tilt tiltRelO type zoom and zoomRel Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SoMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17
262. n gets fired every cycle e virtual ArActionDesired getDesired void accesor for action system e void go double this function is what users uses to fire this action Arg Degrees e virtual AREXPORT bool isActive void const Finds out whether the action is active or not e virtual AREXPORT void activate void Activate the action e virtual AREXPORT void deactivate void 22 Deactivate the action virtual AREXPORT void setRobot ArRobot robot Sets the robot this action is driving virtual AREXPORT int getNumArgs void const Find the number of arguments this action takes virtual AREXPORT const ArArg getArg int number const Gets the numbered argument virtual AREXPORT ArArg getArg int number Gets the numbered argument virtual AREXPORT const char getName void const Gets the name of the action virtual AREXPORT const char getDescription void const Gets the long description of the action virtual AREXPORT void log bool verbose true const ArLog log s the actions stats Protected Member Functions AREXPORT void setNextArgument ArArg const amp arg Sets the argument type for the next argument only use in constructor Protected Attributes double myTurnAmount the incremental rotation amount ArActionDesired myDesired internal double goalAngle current angle to goal double oldAngle older angle to goal ArRobot myRobot bool myIsActive int myNumArgs std map int ArArg gt my
263. n avoid routine at a higher priority to avoid on the way there This action was created to be used with other actions to replace direct motion MOVE command It basically made so that you can just have a ton of limiters of different kinds and types while using fundamental control of the robot Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Bug None Definition at line 22 of file SbActionMove h Public Member Functions e SbActionMove const char name goto double closeDist 200 Constructor e bool haveAchievedGoal void Sees if the goal has been achieved e void cancelGoal void Cancels the goal the robot has e void setGoal ArPose goal Sets a new goal and sets the action to go there e ArPose getGoal void Gets the goal the action has e void setCloseDist double closeDist Set the distance which is close enough to the goal mm e double getCloseDist void Gets the distance which is close enough to the goal mm e void setSpeed double speed 19 Sets the speed the action will travel to the goal at mm sec double getSpeed void Gets the speed the action will travel to the goal at mm sec void go double dist go virtual ArActionDesired fire ArActionDesired currentDesired implementation of base fire function virtual ArActionDesired getDesired void implementation for the base getDesired action virtual AREXPORT bool isActive void const Finds out
264. n connect to it via Telnet Telnet ADDRESS PORT ADDRESS is the IP or DNS name of the computer running RCCI PORT is the port number that RCCI is listening to After connection 1s establish user can send formatted commands to RCCI CONNECT robot 127 8 11 Startup Shell Script To start the shell script start 5555 start script file bin bash echo RUNNING RCCI if 94 ne 1 then echo 1 gt 2 Usage 0 PORT exit 127 II techo Adjusting volume and muting microphone aumix w 50 aumix v 50 aumix m 0 while 1 gt 0 do echo Killing ViaVoice engine Botspeak and RCCI Kae L en EE killall 9 botspeak stvr killall 9 engine Sleep 2 restart the ViaVoice engine usr lib ViaVoice bin engine sleep 3 echo TCAPLeNDULDO to RECI Server on pore woo Taaa erae il sleep 10 echo TRYING AGAIN done 123 8 12C Compilation Makefile Makefile for Saphira applications SHELL piny sh FHT EH EOE SROD 5 7 OP AR EE E INCD include INCSAPH usr local Saphira ohandler include LIBD usr local Saphira lib ARIAD usr local Aria INCSPEECH ARIAD ArSpeech include BOTSPEAK usr local botspeak find out which OS we have include S INCSAPH os h CFLAGS g DS CONFIG S PICFLAG REENTRANT Co Gec CPE go INCLUDE2 IS BOTSPEAK include IS INCSAPH IS INCSPEECH INCLUDE IS INCD IS ARIAD include IS INCSAPH TE Ht Ht Ht Ht Ht tH at Ht
265. n3e93 xyoojun xyoo ppe oq sr Aem aiou3oue zrobeueu c 4o pueu aouojsr 19beueu uozj uorjoungj UT Aeme TET ST Jouejsr eours poo4goj eq p no 4 suorge o42 STUJ I A MOH SISUSISTI SHAS II Aq pessessod eq p nous 3r o3 eoueiogjo4 ouj pue suo eq pjnous sse o Tebeuew ou uojge burs oui se uoge burs4aqe puegbsyqs burxeu jo pe 3sur opo3jg T9Tpuey 243 o3 xyoeq sebessau aITj oi TeTpueyorhbswpues ey esn 3 ue2 nox oe3oug L4ebeueu uozj paeTTeo uo4j pesn sseTun ejes pe rzu3 3ou ST TeTpuey esneooq TeTpuey y 02 xoeq sobessou 911 OF ago pueuoibsppues osn jou p nous zojJ z u3 pue popeoduj3 ST sse o STYL bDUruieAj burxoo un pue burxyoo YyRIM ngjeadeo ag buruaeAj POO uo4ew e3e pg buradeoeurbusg eorueugoow uorun i3edoo rxyor eg UTOTPN aou3nejg buruuna SI 30q01 242 aTtTym ofa ssoooadd 19y30ue Toi3u0o uorgjerjno eo burugeuos op oq pe rzu3 ogeadedos e esn oj AEN eTqrssod e s Ae dsrip 3I xsejouAS42y popeoaguj s eTIY SITISYUT SSeT TO STUL pepeeadu3 sr pue TaeuegsTTOswqs SIT1SYUT 3849 uorgjea43ueue durir aTduexy fh ZZ d fh fh Kg gg oot FEE z PLE ZZ Z d ILL ae ZZ ois eoedseuru Duren ueodjss opniourd burgj4s SPNTOUTA vU CTAY SPNTOUTH ng YECLouASIYy SPOTOUTE uu ebessowqdSs 9epn our g uu adeuejasriTb5sWdS epniourd Y LINeI duexWuqg eurgepks Y LINeTdwexyqs JopujT vooz 8 Aen uo paqutaia Y rTIW rTdurexrqs pnTour 0 TIroSz doayxs q uroze
266. nMove o SRCD SbActionMove cpp S INCLUDE OBJD SbSaphiraML o SRCD SbSaphiraML cpp S INCD SbSaphiraML h S CPP S CFLAGS c o S OBJD SbSaphiraML o SRCD SbSaphiraML cpp S INCLUDE 125 OBJD SbExampleML o SRCD SbExampleML cpp S INCD SbExampleML h S CPP S CFLAGS c o OBJD SbExampleML o SRCD SbExampleML cpp S INCLUDE OBJD SbExampleMLT o S SRCD SbExampleMLT cpp INCD SbExampleMLT h S CPP S CFLAGS o 9 OBJD SbExampleMhT o SBCD SbExampleMLT cpp S INCLUDE gt BIND Peels S 0BJD main 0 S OBJD SbMessage o S OBUD SbServerMi so S OBJD SbSocket o Y OBJD SbMsgListener o OBJD SbMsgHandlerSingleton o S OBJD SbRobotML o A OBJD SbSoundsMLT o OBJD SbManagerT o OBJD SbMotionML o OCOBJD SDACGUIODnMLO N S OBJD SbGripperML o OBJD SbStateML o OBJD SbCameraSONYML o S OBUD SbACTVONGOCO O X OBJD SbActionRotate o OBJD SbActionMove o OBJD SbSaphiraML o OBJD SbExampleML o N S OBJD SbExampleMLT o OBJD SbCameraVCC4ML o S CPP OBJD main o S OBJD SbMessage o OBJD SbServerML o StOBJD JSbSoecketoo S OBJD SbMsgListener o OBJD SbMsgHandlerSingleton o SCtOBJD SDBRObDOEtML O OBJD SbSoundsMLT o S OBJD SbManagerT o S OBJD SbMotionML o STOBJDYSDbAcCtLionMLi O N OBJD SbGripperML o OBJD SbStateML o OBJD SbCameraSONYML o STOBIDSDBACETONGOLO O N OBJD SbActionMove o S OBJD SbActionRotate o OBJD SbSaphiraML o OBJD SbExampleML o OBJD Sb
267. nd writeString int SbSocket read void buff size t len unsigned int msWait z 0 Read from the socket Parameters buff buffer to read into len how many bytes to read ms Wait if 0 don t block if gt 0 wait this long for data Returns number of bytes read Definition at line 151 of file SbSocket h References myFD and read Referenced by read and readString int SbSocket writeString const char str Writes a string to the socket adding end of line characters this cannot write more than 5120 bytes Parameters str the string to write to the socket Returns number of bytes written Definition at line 43 of file SbSocket cpp References BUFFSIZE write and writeString Referenced by SbServerML cycleOnce SbServerML disconnectClient and writeString char SbSocket readString void Reads a string from the socket The original function could only read strings less than 512 characters as long as it read the characters into its own internal buffer to compensate for some of the things the DOS telnet does I have expanded this to 5120 chars to see what the issue is Seems to work fine Returns TI if there was good data return string if there was no data a string with a 0 first character and if the socket was bad it returns NULL Definition at line 70 of file SbSocket cpp References doStringEcho myStringBuf myStringBufEmpty mysStringGotComplete myStringGotEscapeChar
268. neering Education Coalition 2 3 4 StudioBlue is a pioneering concept for research in theatrical productions involving robots and the Internet as a new art form especially in an institutional setting It 1s hoped that StudioBlue will become a platform for development of new technologies and a venue for artistic expression This paper describes the history and the development of the StudioBlue robotic theater construction of laboratory implementation of audio visual and Internet technologies as well as the development of necessary software for theater s robots The project is financed by National Science Foundation Grant DUE9980873 and the Cooper Union 2 it is a collaboration with James Cruickshanks who was heavily involved in the creation of the lab and has created a user friendly graphical application for directing the robots in performance 6 His application directly interacts with Robot Control and Communication Interface RCCI application designed by the author that provides a clean and efficient software interface for simple robot control capability of ActivMedia made robots 5 7 8 for It decreases software development time and encourages cross disciplinary usage of the robots This interface paradigm can be also applied to other robotic platforms by implementing the required existing robot functions and by forcing the programmer to adhere to particular control structure and a transmission standard for communicating with the rob
269. ng variable If this value goes to false the task should clean up after itself and exit its runThread function Definition at line 49 of file ArASyncTask h Public Types typedef pthread t ThreadType e typedef std map ThreadType ArThread gt MapType enum Status STATUS FAILED 1 STATUS NORESOURCE STATUS NO SUCH THREAD STATUS INVALID STATUS JOIN SELF STATUS ALREADY DETATCHED Public Member Functions e AREXPORT ArASyncTask O Constructor e virtual AREXPORT ArASyncTask Destructor e virtual AREXPORT void runThread void arg 0 Override this function and put your taskes run loop here e virtual AREXPORT void run void Run in this thread e virtual AREXPORT void runAsync void Run in its own thread e virtual AREXPORT void stopRunning void Stop the thread virtual AREXPORT int create bool joinable true bool lowerPriority true Create the task and start it going virtual AREXPORT void runInThisThread void arg 0 Run the code of the task syncronously virtual AREXPORT int join void ret NULL Join on the thread virtual AREXPORT int detach void Detatch the thread so it cant be joined virtual AREXPORT void cancel void Cancel the thread virtual AREXPORT bool getRunning void const Get the running status of the thread virtual AREXPORT bool getRunningWithLock void Get the running status of the thread locking around the variable virtual AREXPORT bool getJoinable void c
270. ns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions e virtual void addMsgType const string m adds the message type that this listener should listen to 84 Protected Attributes e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Private Member Functions e bool checkForRobot void checks if the robot exists and is connected Private Attributes e ArRobot robot internal robot pointer e string type message type e SbMessage msgState internal message e ostringstream oss internal stream function used in toString Member Function Documentation void SbStateML fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage that coused the SbMsgListener to be fired Implements SbMsgListener Definition at line 39 of file SbStateML cpp References SbMessage addArgument checkForRobot SbMessage clear fire SbMessage getArgAsDbl SbMessage getArgAsInt SbMessage getArgAsStr SbMessage getAsStr SbMessage getType msgState robot SbMe
271. nsfer ownership of a socket transfer will transfer ownership to this socket string getAddress void returns the address in the string format bool connect const char host int port Type type Connect as a client to a server bool open int port Type type Open a server port bool create Type type Simply create a port bool find ValidPort int startPort Find a valid unused port and bind the socket to it bool connectTo const char host int port Connect the socket to the given address bool connectTo struct sockaddr in sin Connect the socket to the given address bool accept SbSocket sock Accept a new connection bool close Close the socket int write const void buff size_t len Write to the socket int read void buff size t len unsigned int msWait 0 Read from the socket int sendTo const void msg int len Send a message on the socket int sendTo const void msg int len struct sockaddr in sin Send a message on the socket int recvFrom void msg int len sockaddr in sin Receive a message from the socket bool getSockName Get the socket name Stored in SbSocket mySin 73 sockaddr in sockAddrIn 0 Accessor for the sockaddr in addr inAddr Accessor for the in_addr unsigned short int inPort void Accessor for the port of the sockaddr bool setLinger int time Set the linger value bool setBroadcast Set broadcast value bool setReus
272. nuoo dserb autiadooo npa qazodur 1 Juano Lupp qazodur 1 3noAeT TOGLl PpueTrIioq uo qazodur burMs xeAe 3aodur 3Me eAe qazodurr loa33uoou ebexoed vooz 8 Aen uo peaqurad eAet Teueg oz4uojoesnoyw r1oaquoou oas Ioa4uoou 43oeLfoadqL squeunooq Aw uroaeu sbur33es pue sau um 5oq 2 SueusTIA y Jo Z ebea TInu 38e39u091N9 ppe e roueal TInU xogbsu ppe creuegt np ETeuegdC ppe srua3 Inu 5uo33nguoo ppe gr euedt TInu ZaixIGguuoo ppe greuegdt rrhnu a3xIguuoo ppe greuedft np greuedC ppe srua3 TTnu Zaxlzuuoo ppe reueqgt TTnu axlzuuoo ppe reuegt TIhUu uoz3nguoo pper9Teueal 1xrleuuoo ppe oreuegft tQ3xreuuoo ppe oreuegft IX LEWWOD ppe 9 Teue al IX WWOD ppe 9 Teue al TIhUu gTeued ppe srua np 9reuedC ppe srua3 np reuegdC ppe srua3 TIhUu 7uo3a3nguoo2 ppe greuedt TTnu 7aixlIpuuoo ppe gTeuegft TTnu IXLpwuoo ppe gTeueal TTnu 29X1pwuoo ppe gTeueal TIhu axlguuoo ppe greuegt TTnu uoa3anguoo2 ppe pieuedt ITTnu Z7axl uuoo2 ppe preuegt TInu preued ppe srua TInUu 1033ngdoas ppe zieueqdt rrnmu MO3 4ng 3oeuuoosrqa3oqoa ppe zrieuegdt IInU Zo3 3ng32euuoj23oqoa ppe zT oeuegt np zreuegdC ppe srua3 IIhU o4343ng3oeuuoosrqgAages ppe T1euegdt IInUu 021IngI92uU02419S ppe ITeueal TIhu AxI3dogAaes ppe rieueqdt TTnu 2XIPPvA19S pPppe TTSueal TIhnu T1eued ppe srua TIhu A4xIuo23oqoz ppe z
273. nurs q3 Jo 310d dl buraqueseadde4 aioboQur rods wezledo Jogernurs eua BUTISOY agoA4des oui Jo eueUu SNA 3Ssou utededg TOJETNUTS 247 oq SI09UUOD pe32e43oad sus obessopyqS 3suoo o421j PTOA TENJITA S1ITJ O3 198U9ISTT u3 pesneo qoru4 oebessowqs bsuy weleda Uuorgoung ena3arA ea4nd 19Uu93STIBSHAS ou squeue dur prOA pe32euuoosrt TOO pojgoeuuo2 SET 30997 942 JT Eyoouo proA 3oeuuoosrp Tooq Ioge nurs Y IO 3001 ey DOIT sS3o2ouuooSsIp 5 qur 3suoo y buraas Asuod 44 od juoo 34oouuoo T ooq IlOog8 nurs e TO 3001 949 OF S328uuoo PTOA SOUOYOSYO PTOA Te naarA joeuuoosrp IO adedunq TTeIS YITM ebessou e SITJ TTT IT 9STPJ ST AT JI UO ST burqgj rsoAo IT onij surnjor uorjoung SIHu D9 3S T YO ST 31 JI pue pejoeuuoo ST 30901 ey JT S3329u 0 0O3e uorgoeuuoo o3o sisdunq rT9319 S10119 Aue 107 syosyo NIS Logo ed ruoo umue edA3 uor3oouuoo 30qoa uaznqez proA 3oqoWu39b y 30qouav wOTIOUNZ IO0SS89008 zanurod Joqo7z 7 PTOA TWNIOGoUWS Z030nij288qy PTOA TNIO0IOYHAS TO390n3238U02 J oTTgqnd 13U9ISTTOSHAS orrqnd ouoN bnqg ueppuegorbspwpues adoueg3sriqb6swqs S T U JSTIOSNWNAS s sn buruaeAj POO uo4ew IPP buradeoeurbux eorueuoow uorun Iedoo IXOr eg uroagew azoujneg 2939 od j3 eueu szajewezed qoqoz awos suainjew s4dogou u3 pue ieuos PUuTIPATIOP IOJ ooegaoqgur pue seprAoaud OSTE 3I po 93S sey 31 JT pue poaobbri4j3 e
274. o OJ 3o uuoo OF ZeATEeS ey FO eueuz3soy 3sou ueiedg 3s0y ueArb 3exyoos uuoogAueu3 OF JI s3joeuuoo pue jexoos ou s3jonijsuoo arurieuaeaur Jutsu esieg b urxooguoNAu 1 J044u enz3 eso ooqAu i4saoaayAu 11HON 1O11H AU uMmouxuf edAr Au 39xX20Sqsg 39ex20Sqg 3n13 PeSZTTeTATULANO 4yayDoSqs TOOJ xnurT UT pezri 8I3IUI S eM e 91 9M SogbutaysAu ysezysogbutazqsAu asetTsogbutazaqsAu sogbutaqsAu AseysogbutazaqsAujgngbutaqsAw glat IN SIE EECH D E PESCHE 03 lonz3 peoyoqosaeyhbutszqsAu uzn3eza ieuoedeosqy3o5burag3sAu 3 O0y9HOINYBUTAIS AV Ft L go Z ebeg sieqo edeose burop SIT JI JI Daat 3 Uuop qeqoaud eA ugn3ea Gogbura4sAu 2ISPTSOJPUTIAISAUN GT 31 pues oq poou 23 U0p em pues oq buiu3ou s 91942 JI es eg o3e duoj3o5bura4sAu LS 4NUX4 93TAAM 3erduo 53o5bura43sgAu 3peouogeAenuburagqsAu gr sour 71943 egorduoo Durogoo Or oAM JI Z uzn3ea 6uogbura3sgAu 93OYOFOINYDUTIIS AM Ft 207 Y ezrs PTOAJOYI9HDUTIASOP 19 4DO0SAS PTOA TTAN uzna zxz ilpue gt PUTIISPL91 IJ9IADOSQAS UT e qno4g43 euog gt gt MOD bura3s u3bue 0 P quem Aan FT TTAN uznqe2z Al 1OMJSU uoaj Hutpesz ut adoaug aoaaed 3duz3ngbuta3s4u uaznqez joyoRbutazysop IT sogburaasgAu NIVOVE OU1I19 3T 0 gt u sueeu YOTYM esTe TInN uzn3 z 0 U FT ST ISPLOybsHqs P TTEF jenurquoo srT burob deex poob sem 3nq 1e30e1eyo9
275. o sem I923TUTTOp ou speno q due23saut 1298 bsu Sus Jo 31ed ATuo eu st edA3 oui JI aea rur ep earur iegdaes an13 uanjea Gearur ep butazaq4s 1IDAPSU Y lt BUTIAS gt 10399A a3suoo obessopqs obessopnqs uLu edALa3es Q amp 3due s gt tere 3r Sem ent Dorriroeds ad A2 OU ST T JIr edA3 e 3sn squeunbie ou seu Dau y Jr 34m ue qo4d t pp puri au3s p uau3s89qne ajs S PUTIJS PZTSI1IJOATUT SZTS911IDAP18 sto3o0e1eygo bsu JO pue omy burpn oUTl DER 107 See SHEET TRA Aeme umo1y3 S3ob 3821 burz3g ey3 ur Deu jett 343 39b 10 sbavgounu Jdue3geurl3es es e3j uanjea f ul a 4 qarurTrT qa s TPUS gt x sbessanas ebessou 7189192 3 U9 WNOHHWH gt gt NOD adA3 adA119S sodu az4s pp purgj 23s grT edAq 9 PUT1I S a3suoo obessoyqs obessopnqs Jrxx punog JOU ST 1IOQUTTOSP en JI 3T O3 pessed ebessowqs Jo edA3 seu 3ey43 4do3onij3suoo 9UL p p pp buts OxearurTeqa3e5 p buraas Jdue4souri3es PZTSI1IJODATUT SZTS91 1IDAP18 ze To SOIE IOJ SSDOAS OjJBEOOTIB beddozp eq TITTA 3S91 10 sbavgounu EE FEN S1quop 3982134 Sun 19068 007 JSNL TIIM EIJ3 duez3saut 39s ul u earurTmedaes 138 9 Bbutaqs a3suoo oj3 ouo obessoywdS Tooq Lu 9SdAL3esSs prOA obessoqs obessopnqs proA ebessopnqs Spbessanas drueuor SPNATOUTE 1 138 9Ie910 cU DASTUDS SDDnIOUTE q eurT3 s Ss opnpourg GZISA23OAIUI ezISO2 4340AbD2e lt Wea13s0T gt spn To
276. o sru3 UT ourj ewes y We pesn eq ua3oq Aew sdew p 4oAM pue sdeu prado enz3 dewesppea5gs burrTreo Aq esn deu pr1b uo una ATTeUTY 3o09 qo3e5ou dew3espeau5js esn o npou 3ueorpea4b oui worz dew sty ssoeooe OL dewueospeoTjou bursn ue3s s uorqezrTeooT ou3 OUT popeo AT e9rd 3 ST deu pr4b y oaze43jos uorgebrAeu 19SPT 949 uo4j pojee4do deu pTID Y Z onrg 5j2PIIJZY OSfJperors TTeo pue dew p 40A4 e peog dew p 40M e UI S39O9JIJ2J4V TI S 2INOS so oejsqo oui eade T H sburipeea azosuos BOOT uo1j pue sdeu burjsrxoe eud uo4j p ure3qo se oejsqo jo Jes e uoij pogejno eo ere S3S02 Jes oq OSTE ULD PTIL ou3 JO ezrs unurxeu oul uu QT SI UO0TINTOSSI eord 3 e uorajn osea PTIO 9439 39s ULD nox suged poob bututula239p JOJ DI9IJ 3502 e se pTIb oo eagenbs e sosn qu rpe15 p z prsuoo poouadoqubrieu on JO ZTS 9249 uo 2TUTT e qe33es a4desn e ST 9194 punoj sr uged ou JT uo4eos SJT spuedxo usy3 pue s eob zo Teob y pue 30qo1 eyq burjgoouuoo poouadoqubriou TeooT e buragoprsuoo Aq S3189S uua4radob e ay 30qo42 ey oq squrod eob jo 3es IO 3Uurod Teoh e woaz y3ed 3soo 43jse 4O oui sogeryno eo egnpou qu rpez5 y su por erpo o oudAs yore qv se oejsqo eainjonadjs aioqujo pue STTeM JO UOTIPLOOT ou se yons uorgeugogur deu eqo b pue seorAep Zepu ebue4g 19se TO pue sieuos q pesuoes so oejsqo Teo20T y20q qunoooe OFUT aye ueo sugjed s uL awry 994 UI 30qo4 9439 103 suged Tewra3do D
277. o the message handler 24 Protected Member Functions bool init void set the max min variables bool checkForRobot void check if the robot exists and is connected void tilt double tilts the camera 100 0 void pan double pans the camera 100 0 void panRel double pans relateviely to current position 100 0 void tiltRel double tilts relateviely to current position 100 0 void zoom double zoom position 100 0 void zoomRel double zoom relatively to current position 100 0 double getState int f returns the current value of Pan Tilt Zoom pan 0 tilt 1 zoom 2 virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes ArRobot robot internal robot pointer string type message type ArSonyPTZ camera SONY camera control class int maxPanPos maximum Pan position int maxTiltPos maximum Tilt position int minPanPos minimum Pan position int minTiltPos minimum Tilt position int minZoom minimum Zoom value int maxZoom maximum Zoom value int minPanSlew minimum Pan speed int maxPanSlew maximum Pan speed 25 e int minTiltSlew minimum Tilt speed e int maxTiltSlew maximum Titl speed e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Member Function Documentation void SbCameraSONYML fire const SbMessage amp
278. o7bue pue pue 31838 sebuez e bue ue UIU3IM 3oe qo 3sesoT o ey Jo oouejsrp 9249 pue WNA4HW N HNOS 49 suanjge4g APUOSRSASOTO AIVIS 3e3sbsu QuoipueHorbswpues 1 g gooTun 30qoa d rpebueuaeuos3eb 30oqoa b6urag38S03 3ueunbavppe o393s5su r buewuyageuosgqeb 340qo4 p92 gaqurad T TE gt T BB JuieuogunN3eb 30qo4a gt T pZ T JUT IOJ p raursvbavaeb bsu gr este p tePA IJS WVNOS HIYNOA d rpebueuaeuos3oeb 3oqoa b6ura38S03 1ueunbavppe o3e1s5su 1 Tebueg1euos196 lt 10901 p92 7iaurad T EZ gt T 3 JZeUOSUNNISH lt JOqoZ gt T 19 T JUT IOJ I Qaursvbava3oeb bsu gr esTe ZPA LHS HVNOS GHIHL 1 rpebueuaeuos3eb 30oqoa 6urag38S0o3 3ueunbavppe o3e931s5su 1 Tebueg1euos2186 lt 10G01 4 p92 gJjaqurad T GT gt T 35 uieuosunN3eb 30qo4 gt T fg T JUT IOJF UuIsvbiy19b bsu FT esTe 1B8A IJS YYNOS UNODHS tebueg1euos719ab6 lt 30q01 P9bUT13503 3JU8UnbIVyppe lt 23e2S5bsu r bueuaeuog3eb 30qoa p92 1aurad T fL gt T 99 aueuogunNa3ebD 340qoa2 gt T 0 T JUT IOJ vo0z 8 Aen uo paqutid ddo TWe43e3sds 0 rr99a doqaxseqg uroaeu sbur433eg pue sau umooq 2 SUIEUSIt e3e3sbsu ypoTpueyolbspwpuss 1 g ooiun 30oqoa 1 01 1USuUnbIVppe lt 1e2S5bsu srT uLu aueunbayppe e3ea3sgbsu perqeuudsadoa3opyweaec 30qoaq gr X34OOT 30qo1 go ebeg yooz g ABN uo peaur
279. oA o9s uu Je Teoh oui oi Taapii TTT UOI3O y pesds oui S S A4 srqesopoAu uan3ea PTOA ISTASSOTIJSL eTqnop uu eob ou oq ubnoue eso oO ST QOIUM ocue3qsrp 942 S385 amp 4srqesoT o ISTASSOTIDAUN j Gsrdeso 9 egqnop isrqeso 239s PFOA uu Teob ey3 o3 ubnoue eso O ST YOTYM soUeISTp au 3es TeoS u uan3ez prOA O539b ssogiy sey uorjoe oui Teoh 942 299 e0b esogav 9 053es proA 21949 ob oi uorjoe oui s3es pue Teoh ou e s3eg PTOA 209 90U9 PTOA sey 30q01 ey TR0b ey s peoue prOA eODpeAeruoveAeu TOO poAeruoe u q sey Teoh ey JT seeg JOAOWUO T32VQS TENJATA 2 007 3srqeso o e qnop 0305 sweu y aeuo ISUOD SAONUOTIOYAS Keefer e Z Z 7 orrqnd uoraovay orrand ouoN bnqg POO uo4ew IPP buradeeurbuw eorueuoow uoruf Iedoo TYOTTeG uroagew azouajneg 3oqoz 93243 jo TOTALNOG re3ueuepung bursn eo ru4 s d pue spUurx q3uo4gojgjip JO srI qrIurr jo uo3 e saeyg 3sn ueo no 38493 os opeu ATTeOTSeq s 3I pueuuoo Mach UOTIOW JODITP oeTd r OF suorjoe 19430 YATM Dosen oq OF pogeoguo sem UOTE STUL oral Am ayy uo prlOA oq AQTIOTIAd TeybTy Ye 3e ourjno4d pToAe ue oAeu p noo no saToe3sqo prose 3 USo9OD STYL reo5peAeruoyoAeu uU31A4 91949 30b 31 JI s pue eo59 ooubeoO uQ3IM 3UOSUIOAOUI SIT 90OUuEO eo9g3es ugr4 Teoh mau P qr aATH ueo nox Aeme 3jsrqoso o s3ob 3r uouA sdojs uorjoe urLr ooueg3srip uoAID e Aq aqubre23S S ATIP OA
280. oString The documentation for this class was generated from the following files e SbMessage h e SbMessage cpp 50 SbMotionML Class Reference SbMotionML include lt SbMotionML h gt Inheritance diagram for SbMotionML Detailed Description Manages robot motion functions This listener parses motion requests It commands the robot to MOVE ROTATE sets the VEL LRVEL ROTVEL HEADING and other motion related functions Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Aria Motion Commands Be aware that direct or motion command may conflict with controls from Actions or other upper level processes and lead to unexpected consequences robot gt clearDirectMotion will cancel the direct Motion so action can get the control back there is some other way to automatically do it using robot gt setDirectMotionPrecedenceTime may block actions forever if too high robot gt getDirectMotionPrecedencetTime moving the robot using actions is recommended Note You can use the sendMsgToHandler to fire messages back to the handler Bug None Definition at line 29 of file SoMotionML h Public Member Functions e SbMotionML void Constructor e SbMotionML void Destructor e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector lt string gt getMsgTypes void returns a pointer to the vector containg types of
281. of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler 26 virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbCameraSONYML h e SbCameraSONYML cpp 27 SbCameraVCCAML Class Reference SbCameraVCC4ML include lt SbCameraVCC4ML h gt Inheritance diagram for SbCameraVCC4ML Detailed Description Manages Cannon VC C4 PTZ Pan Tilt Zoom camera This class controls functions of the camera attached to the serial port on the robot It controls all the functions available for the camera Pan Tilt Zoom etc Cannon needs to be initilized proir to sending commands to it Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Todo Would be nice to figure out how to test which type of camera is connected to this robot and then create the appropriate control class Bug None Definition at line 24 of file Sb
282. of the software All the classes in RCCI follow Doxygen type comment formatting 49 They are extracted by Doxygen from the header files filename h and used to automatically organize and create a clear and easily navigable documentation in HTML format which is included in the appendix 5 9 Compilation After the GCC g is setup to be the default compiler required ActivMedia libraries are installed and the environmental variables are set compilation is possible It is imperative that ARIA Saphira and Botspeak are installed in their default directories and that their working paths are added to the PATH variable as instructed in the appendix The typical approach to compiling is to create a compiled object file filename o for each class filename cpp and then to link all the compiled objects and required libraries to form an executable When a software project includes many libraries and class files automating the process 1s necessary Makefiles are much like shell scripts but are adapted for compiling applications 35 Great advantage in using makefiles 1s that only the files that have been altered 1 e a class since last compilation will be compiled and re linked saving time Makefiles also simplify compilation options and the locations of include files and corresponding libraries See the appendix for makefile used to compile RCCI 9 10 SOFTWARE DESIGN Modularity was a large factor in the design of RCCI Updates of ARIA addit
283. onst Get the joinable status of the thread virtual AREXPORT const ThreadType getThread void const Get the underlying thread type virtual AREXPORT ArFunctor getFunc void const Get the functor that the thread runs virtual AREXPORT void setRunning bool running Set the running value on the thread AREXPORT int lock void Lock the thread instance AREXPORT int tryLock void Try to lock the thread instance without blocking AREXPORT int unlock void Unlock the thread instance bool getBlockAllSignals void Do we block all process signals at startup Static Public Member Functions AREXPORT void init void Initialize the internal book keeping structures AREXPORT ArThread self void Returns the instance of your own thread AREXPORT void stopAll Stop all threads AREXPORT void cancelAll void Cancel all threads AREXPORT void joinAIl void Join on all threads AREXPORT void vieldProcessor void Yield the processor to another thread Protected Member Functions e virtual AREXPORT int doJoin void ret NULL Protected Attributes e ArMutex myMutex e bool myRunning State variable to denote when the thread should continue or exit bool myJoinable bool myBlockAllSignals ThreadType myThread ArStrMap myStrMap Static Protected Attributes e ArMutex ourThreadsMutex e MapType ourThreads Private Member Functions e virtual int create ArFunctor func bool joinable true bool lowerP
284. onto the video source D OUTPUT B SOURCE SWITCH Use this to select the source channel 1 2 or 3 for the background video CHROMA KEY SWITCH press to activate or deactivate the chroma key effect COLOR SWITCHES and select the key color from 16 colors There are only 8 displayed so you might be able to combine 2 at a time LEVEL SWITCHES and adjust the key level from 15 step level PATTERN SWITCHES The TBC 6000 can generate a color bar test pattern on 4 source channels A to D To generate a test pattern press the pattern key and hold it for 2 seconds To remove test pattern press the PATTERN switch GEN LOCK Reset Switch If the color in the video image appears to be incorrect when you switch and Hold for 2 seconds to reset general lock and correct the color STILL SWITCH Pressing this switch freezes the source video image BYPASS SWITCH Bypassing all color processing adjustment made to the source video image COLOR SWITCHES and adjust the Chroma level of the video source CONTRAST SWITCHES and adjust the luminance level of the source video BRIGHTNESS SWITCHES and the black level of the source video TINT SWITCHES and adjust the Chroma Tint of the source video applies to NTSC only The above guide 1s part of the following work Kim Yoongeu Yusuf Mohammed Design and Construction of the Tele Robotic Theatre Capstone Senior Design Project May 8 2003 114 8
285. ontrol programmers that can also be used on any platform would be a great addition to StudioBlue and the robotics community in general 3 2 1 James Cole s Master Thesis James Cole s thesis A Web Enabled Communication Platform for the ActivMedia PeopleBot does a great job of providing an interface for controlling a PeopleBot robot at the Whitney Museum 11 However the software running on a Microsoft Windows 98 OS is based on outdated Saphira 6 2 robot operating software created by SRI International which is not open source and is discontinued since 2002 17 Moreover the most recent robot purchases are based on the Linux OS and are equipped with ARIA a new open source robot operating software created by ActivMedia 18 Kiru 11 the only robot running Windows 96 was converted to Linux as well The above developments and the specific theater requirements different than the Whitney have rendered Cole s software inoperable without major overhaul More information can be found in Section 5 1 1 3 2 2 Graphical Robotic Application Scripting Platform GRASP is an acronym for Graphical Robotic Activity Scripting Platform which is an application created concurrently with the development of the robotic theater as the main control interface for StudioBlue s robots Figure 3 2 6 Written in Java a platform independent programming language created by Sun Microsystems it can run on virtually any computer OS including but not limited to
286. os y s3gonijsuojg 1 9dA 4 adA L 310d qur 34sou y aeuo asuoo a3exoosSqg esn 03 ed 3 ooo3oud edA3 wezledy OJ 328uuoo oj lentos au FO Tequnu 310d 310d uezled O3 qo uuoo OF 49A4298S oui jo oueu3soy 3sou utadedg 380y ueArb 3exyoos uuopoAu sy O3 JT S32euuoo pue oos Sus s3onij38suo9 3 oosqs zo3onai3euoo pasnjayuoy INOYONUO soHpegduo I J439N 1I1HON 101149 Unue Joge4geunue IOIIS Jo ed 3 umouxun 231 aan ad pue Joge4geunue uorjoeuuoo Jo ed 3 oTTgqnd jexoosSqs SSPTO 18b6 6 9 008 I 0 0 HN a3sageuuy AeATIG PTQUNTOD 6T SOI3OqOM PIDO9WATI3OV IO uoo erpouarjoegs3oqo4z je VINY JO UOTSI9A TeTOTEUUIOD e jnoqe UOTIPUIOJUT TOF SOTIOGOY PIDSWAI3OV j0e3uoo suioj 3uo49jjip Tepun YINY SINGIIISTPOI O3 UuSrA no JI zedg BN LOET TIIZO WW uo3sog OEE earns eoe gd erdual 6g oug uor3epuno Pea SIPMIJOS 91H oui OF 83144 3ou JT uerbord sty U31A buo e Zzz yp JO T ebeg su orT oOr qngd TerTeued NND u3 jo doo e peAreoe4g eney pTnous nox gg Iedg STI 3op eTOW IOJ su orT or qnd eieues5 AND ou3 ees 4SOdM d YVINOILYVd V YOAJ SSANIIA IO ALITISVINVHOMHSW jo AqueaaeA p rTdur u3 ueae 3n04Y27M ALNVIYYM ANY INOHLIM 3nq ngesn eq IIIM J7 23843 edou 8y3 UT peijnqridgi3sip s uedbodd styl L t Led ULP ZZ Iedg UOTSISA 19387 Aue uorado ano 3e TO osuoorT ey jo Z uorS4doA 1949T9 uorgepuno
287. ot This project provides a venue to explore a wide field of interdisciplinary education through the development of remotely controlled robots in public theatrics Theatrical space was created at the Albert Nerken School of Engineering at the Cooper Union it is a fully functional multimedia studio equipped with professional lighting and video recording technologies as well as a video editing and Internet broadcasting capabilities StudioBlue includes a number of autonomous and semiautonomous robots that can be controlled wirelessly over the Internet with full audio and video feedback The main function of the space is to allow remote directing of a performance where primary performers are robots and the audience is present virtually through Internet audio video stream 2 History of the project The following accomplishments and events were crucial stepping stones leading to the creation of StudioBlue and RCCI software 2 1 National Science Foundation Grant Robotic Renaissance Robotic Renaissance Bridging Engineering Art and Science via Web Robotics is an initiative funded by the NSF to create an environment which adopts mobile robotic technology from engineering and implements it in a fundamentally interdisciplinary education 2 The initial goal of the project was to purchase off the shelf robots for use in teaching and art performances Traditionally versatile programmable robots have been only used in industrial and acade
288. ot executables The Configuration Editor CfeEdit a graphical tool for building robot behaviors It generates source code which when compiled can directly control a simulated or real robot Configuration Description Language CDL CDL is generated by CfgEdit and is translated by a code generator into CNL Configuration Network Language code CNL A compiler compiles CNL code generated by the CDL code generator and produces C code which is then compiled with the GNU C Compiler gcc the compiled program or robot executable may now directly control a robot CBRServer a CaseBased Reasoning Server generates a mission plan based on specs provided by the user by retrieving and assembling components of previously stored successful mission plans HServer a Hardware Server that directly controls all the robot hardware either via TCP IP or a serial link and provides a standard interface for all the robots and sensors The CfgEdit 53 generated code uses this standard interface to control the real robots HServer also provides direct control configuration and status of the robots and sensors MissionLab although extensive and modular is very large and complex and using this type of software for interdisciplinary development at StudioBlue would be impractical The component relevant to the RCCI project is the HServer It implements only one of the ActivMedia Robots and requires a graphical interface Its keybo
289. otion position battery voltage sonar states table sensors motor activity 5 12 Command Interface Syntax The messages are structured in a flexible format Short message such as the STOP command is only composed of one element the message type Figure 5 11 The MOVE command has two elements the first one is the message type command type and the second is the argument of the distance to 75 move negative means reverse For more complex commands two elements specify the type of message as in the CAM directive First element specifies the type of message and the second is the subcommand in this case specifying tilt The argument follows All RCCI responses are of type MSG and follow with the type of information sent and the arguments Illustrated in Figure 5 11 with CLOSESTSONAR message I TI E C ese CS TIC Figure 5 11 Sample Message Formats The command message type first element typically specifies the module that will process the message The following are possible commands and their usage organized by location class name of their implementation 5 12 1 User Commands 5 12 1 1 SbManagerT SHUTDOWN Will disconnect from the robot by firing the DISCONNECT message followed by closing client connections by calling QUITALL TCP server will be closed next and finally ARIA is shutdown leaving RCCI program 5 12 1 2 SbServerML QUIT 76 Disconnects the client that has sent QUIT from the server
290. oundsMDLT h S CPP S CFLAGS c G S OBJD SbSoundsMLT o SRCD SbSoundsMLT cpp S PNCLUDE JS INCLUDEZ S OBJD SbMotionML o S SRCD SbMotionML cpp S INCD SbMotionML h S CPP S CFLAGS c o OBJD SbMotionML o S S SRCD SbMotionML cpp S INCLUDE S OBJD SbActionML o S SRCD SbActionML cpp INCD SbActionML h S CPP S CFLAGS o S OBJD SbActionML o SRCD SbActionML cpp S CINCLUDE S OBJD SbGripperML o SRCD SbGripperML cpp INCD SbGripperML h S CPP S CFLAGS c o S OBJD SbGripperML o SRCD SbGripperML cpp S INCLUDE gt OBUD SbStateMi o S SRCD SoStatemMli copo S 1NCD SbStateMlich S CPP S CFLAGS G O S OBJD SbStateMLh o S SRCD SbStateMh cpp S INCLUDE OBJD SbCameraSONYML o SRCD SbCameraSONYML cpp INCD SbCameraSONYML h S CPP S CFLAGS c o S OBJD SbCameraSONYML o SRCD SbCameraSONYML cpp S INCLUDE OBJD SbCameraVCC4ML 0 SRCD SbCameraVCC4ML cpp S INCD SbCameraVCCAML h S CPP S CFLAGS c o S OBJD SbCameraVCCAML o SRCD SbCameraVCCAML cpp INCLUDE OBJD SbActionGoto o SRCD SbActionGoto cpp INCD SbActionGoto h S CPP S CFLAGS c o OBJD SbActionGoto o SRCD SbActionGoto cpp S INCLUDE OBJD SbActionRotate o SRCD SbActionRotate cpp INCD SbActionRotate h S CPP CFLAGS c o OBJD SbActionRotate o SRCD SbActionRotate cpp INCLUDE OBJD SbActionMove o SRCD SbActionMove cpp INCD SbActionMove h S CPP 3 CFLAGS G OBJD SDActio
291. ource The following cameras are digital with FireWire capability for quick interface to common Mac based video editing stations 35 4 4 2 2 AG DVX100 High End AG DVX100 cinema camera by Panasonic was chosen as the primary tool for filming The DVX100 has the following features e 3 3 CCD e Outstanding sensitivity F11 222000 lux min illumination 3 lux at 18dB e Supports 4801 60 NTSC Cinema style 480p 24fps and 480p 30fps image capture e Precision wide angle Lens with Servo Manual e Auto Manual Focus f1 6 with 72mm filter size Advanced optical image stabilization e 2 ch XLR audio inputs with phantom power supply 48V and manual audio levels e EEE 1394 FireWire interface for transfer of digital video audio to NLE platforms Figure 4 25 Panasonic MiniDV Camera 4 4 2 3 Canon GLI Supplementary camcorder Canon GL1 MiniDV one of the more popular options is perfect due to its compactness and versatility Extra batteries and a protective carrying case were also purchased 36 Figure 4 26 Canon GL 1 and Carrying Case The GL has the following characteristics e 20x Optical 100x Digital Zoom e Color Viewfinder e Digital Video Format and IEEE 1394 e 3CCD Lens and Optical Image Stabilization e Shooting Modes and Aspect Ratios e Programmed Auto Exposure e Shooting Enhancements e Picture Adjustments e Audio and Video Inputs and Outputs As mentioned in earlier sections t
292. pleBot was a guest at the Rededication of the Cooper Union s Foundation Building ceremony The robot called Bruno at that time represented the student body in the ribbon cutting ceremony Bruno was outfitted with scissors an abstract tuxedo costume made of painted black sheet metal and a matching top hat Figure 1 3 The robot was controlled wirelessly from near by using software written by Marcin Balicki and James Cruickshanks which used the keyboard to control the robots movement and gripper actions m Rededication of The Cooper Union Foundation Building Figure 2 3 Rededication of The Cooper Union Foundation Building Photo Juliana Thomas 2 4 Cooper Union End Of Year Show 2002 In 2002 the Engineering school was invited to participate in the Annual End of Year Student Work Exhibition held in the Cooper Union Foundation Building 13 The two month show exhibits past year s art and architecture student s work and for the first time engineering projects Figure 2 4 End Of Year Show 2002 Representing the Mechanical Engineering department Marcin Balicki and James Cruickshanks submitted a surveillance themed interactive robotic installation Advisors Prof C Stan Wei and Adrianne Wortzel Visitors were able to control a robot located in the basement of the Foundation Building through an interface located in the lobby Using wireless Ethernet and wireless audio video transmission the interactivity between the user contro
293. plements the ArSyncTask main thread function Parameters arg argument that does nothing Implements ArASyncTask Definition at line 115 of file SbSoundsMLT cpp References SbMessagezgetArgAsStr ArThread lock msg newPlayMsg newSpeakMsg runThread and ArThread unlock Referenced by runThread vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SoMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener 82 void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener add
294. puTq pue 310d pesnun PTTeA 9 PUTA edAq od AI e3e9eeado Tooq 320d 9488319 ATOUIS Jf 1 9dA 4 adA 310d aur uedo Tooq qod Zeazes e usdo edAq d I 310d qur 3sou y aeuo 3suo 30suuoo Tooq TOIATOS P oi JUSTTO P SP J09UU0D PTOA SS91Ppy19b PUTIIS 3eu1oz bur434s ey UT ssezppe oU SUIDISI d odAIAu s d L tUTSAU lt S UTSAI fesTezx soTooG u lt Zen SSOTIOG q4Au s q4A S y 3ex2osqds iegsued3 proA De3onajsep sr 31 ueym IOIATIDSOP STTF ey 9258079 agobuo ou TIAM qeyoos 3ndur eur 3exyoos STY o3 ATYSISUMO aiogjsue43 TIAM 193SULII y JO Z ebeg vooz g Aew uo peaurad Uu 3exoosds epniour Q rro29202a2 doqQaxseqg uroaeu sbur33es pue squeuno2og 2 eueue r IOJATIDSDP STIF jso oogAu Tooq Jeyoos DUTSOIS HOZ DETI 77 EE E EC PUTIJS pas entro Dura38 ur 10129 JO Od A3 HIOGXIWAU XO3JJ4 XOIO I0 DSOAS JU fedAyAw adAzx do3 dpn uorqoouuoD JO Sd A3 yPurejur PTOA ITUTTRUISJ UT PTOA 37n38 amp Durpesz Durzas zor A380 Srur UIOJIJSTOSSOXO TPUIOQUI Z PTOAJOUYODHAPUTIAISOP proA DUTAJE peer WOT free POuOO Jeya uDIJgOunrl rBur ogur ZZ pe32e43oad uoubura4sAu uan3ea j proA ouod39eb Tooq soop 3exyoos STY SsTTeo burigjgpee4g oui uo buroyos are am JI S385 foyos ououyburaasAu fosTex ouougoanyburaj4sAu oyos Tooq ououd3es PTOA soop jexyoos sIuU3 sTTeo burzqyspeer ey uo burouoe 6389 PTOA PDUTIIS
295. qdnd TNANOSPISULIDAS sse o peeds ueg umururu AIOOZXeu qur enTeA uooz unurxeu ouoN bnqg tIOOZUTU UT sseTO Tor UOD e3eradoidde oui 938919 usy3 pue qoqorx sry oq p qo uuoo on 8A uooz umururu ST P21oueo jo odA3 YOTYM 3s83 OF MOY 3no TnbTJ OF eoru eq PTNOM opo3g8 SSogaTrrLIUuru qur 1eqppueugorbswpues 4douea3sriTbswqs S 19USISTIBSHAS SOS PBUTUIEM uor3rsod QTTL unuruIlu FOOZ uoaew e3epg Ssoquegquru qur burdeeurbusy eorueugoew UOTUN 4edooo rxor eg uToOTeW IO0Y2ne uor3rsod ugeg umururu 239 WOOZ STELSUEd ZZ amp ogaTrrrixeu qur ez ueo y TOF aTqeTrTeae suorjoung y TIR ST O443UOO qI 30q01 942 uor3rsod QTTL unurxeu uo 310d Terres oui O3 peyoe37e ezoueo y JO suorjoung sT o4d43uoo sSSPTO STYL soquegqxeu qur ez ueo uooz ITTI ued Zid 0 d IAH Auog sebeuew uOTITSOd ueq unurxeu fezoweo y ZLI UVOSIV ois eoedseuru Duren sseTo Torquoo Bop ANOS fodAq buraas lt Butaas gt epn our s od 3 ebessou 10002 y JOqOYIY vU BTIIVw SPNTOUTH Fogurod 30907 TEUISIUE uu SBPSSDNAS y PSPATOUTA 3 ut ea3e3g395 eTqnop uJ TOUS ASTTOSWGS SPNTOUTE z uooz T 3T19 Q ued UOOZ 3TIL U8d JO en 8 amp A Quead4gno y suin391 u TIWANOS aeue 2qs Sutiop STANOP 9NUOOZ PTOA Y INANOSPI1SUPIDAS jJopusTt I Zo T ebeg vOOZ 8 Aew uo p qurzd u INXANOSez ureoqs pnTour 0 ITooz doaxs q urozeu sbur3a3 s pue sau umooq 2 SURUSTTA TP
296. r aga da 31298 2 1Nne39p esTe3 jouAsyuna lt 30q01 ioqoy30suuoos uzna3a z i LOGOUTS FJOGOYAY M U 3oqoa gt LOGOW SSPD z q3eT p Aa rzq x eq 396 oupqsur ue os 30q01 ey weu odATLbsppe JedArb5sWppe 1 q10d 4souyQuirg342euuoo uan4je4a NIS 9eseo IN3OqoWds IWN3OqOWHdS G 1 493TMS pqs eoedseureu bursn Jpeqoouucgstj gst YU IN3Oqouds SPNTOuTF y Zo TI ebe ooz g ABN uo peaurad ddo TW3oqougds 0 rr99a2 doaxseg uroaeu sbur433eg pue squeunooqg 2 eueueT r4 I l lolrlolrlololoissuasamWngal2sw szedunq oU TTE Jo nopesi ey pues IM AT 37y ueeq eAeu siedunqg eu3 JI juO4j 9249 TO 19 942 JT syoseyo SIYHINNE fonazq beTquoo osTe uanjea 1 xoOoTun 3oqoa fosTez Per quo GHLOENNOOSIG DSW UNAS MO TPULHOLOSWPU S bet4uo2 gt JbSqosuUODST lt Joqoz i 3T pe3oeuuoosIp seu 300q01 949 FT Sx29uO GHLOANNOOSIG 1 uoOT 30qoa feosTezF HETAUOD Tooq ora3eas 3T buryono3 e40gjeq 20q01 ey xoo obessou e pue es egj este onij udnje4 upya 3091102 ST PUTYI IDAMD JI PTOA 92UOADSUYO IW3OQOHQdS PTOA 391 uanjeza 1 g ooTun 30qoa 1 yoeoqo uuoosr lt 3OoOqQo41 3e4 TOO 2 u oOT 30qoa PTOA P9IDSUUODST INIOIOYAS TOOQ 3ST83 uan3ax sT an13 uzna3a zxz 319euuooSTp 30q094 g3T d 3ST83 uan3ax Tpu a gt IW3OqOHdS 3oS uuoosrp of AAA You TT TM PBUTUUNI jou PIJV
297. rLog log s the actions stats Protected Member Functions e AREXPORT void setNextArgument ArArg const amp arg Sets the argument type for the next argument only use in constructor Protected Attributes ArRobot myRobot bool myIsActive int myNumArgs std map lt int ArArg gt myArgumentMap std string myName std string myDescription Member Function Documentation virtual AREXPORT ArActionDesired ArAction fire ArActionDesired currentDesired pure virtual Parameters currentDesired this is what the current resolver has for its desired this is SOLELY for the purpose of giving information to the action Returns pointer to what this action wants to do NULL if it wants to do nothing Implemented in SbActionGoto SbActionMove and SbActionRotate The documentation for this class was generated from the following file e ArAction h ArASyncTask Class Reference ArASyncTaskftinclude lt ArASyncTask h gt Inheritance diagram for ArASyncTask B Detailed Description The ArAsynTask is a task that runs in its own thread This is a rather simple class The user simply needs to derive their own class from ArAsyncTask and define the runThread function They then need to create an instance of their task and call run or runAsync The standard way to stop a task is to call stopRunning which sets ArThread myRunning to false In their run loop they should pay attention to the getRunning or the ArThread myRunni
298. raSONYML Manages Sony EVI D30 PTZ Pan Tilt Zoom camera This class controls all the functions available for the camera Pan Tilt Zoom etc attached to the serial port on the robot 5 11 6 SbCameraVCCAML Manages Cannon VC C4 PTZ Pan Tilt Zoom camera This class controls functions available for the camera Pan Tilt Zoom etc attached to the serial port on the robot Cannon camera needs to be initialized prior to sending commands to it 5 11 7 SbExampleML SbExampleML is a template implementation of a class that inherits SbMsgListener New code should be placed in the fire function sendMsgToHandler will fire messages back to the handler 5 11 8 SbExampleMLT SbExampleML T is an example implementation that inherits SbMsgListener and is threaded This class inherits ARIA s threaded ArSyncTask It displays a possible way to use a separate thread to do something calculation control another process etc while the robot is running Attention should be given to locking and unlocking the thread This class is threaded and therefore should not use sendMsgToHandler to fire messages back to the handler because handler is not thread safe unless it is called from SbManagerT 71 5 11 9 SbGripperML Manages Gripper functions SbGripperML controls the gripper Performance PeopleBot if present It controls the lift gripper arms and returns the state of the gripper open close liftmax etc 5 11 10 SbManagerT Main thread manager cla
299. ram 7428 CCLI ADAPTATION AND IMPLEMENTA Field Application 0000099 Other Applications NEC Abstract Engineering Electrical 55 The essence of this project is to adopt mobile robotic technology from engineering and implement it in a fundamentally interdisciplinary education environment involving the performing arts and design The project is adapting the proven educational use of off the shelf robots and their previous successful use of custom robots in theatrical performance Traditional robotic pedagogy progresses from mechanisms and software to functional vehicles Little time 1s left for application development and many talented non engineering students cannot participate This innovative undergraduate robotics application environment by using off the shelf mobile robots controlled via Web page interfaces requires no specialized systems experience It is providing productive cross disciplinary participation and mutual enrichment of engineering and arts students Users access HTML control panels via standard Web browser such as Netscape or Internet Explorer Mobile robots wireless communication links and PC computers with suitable server and software is being used The educational aim is to provide an open development environment free of operating system or platform expertise requirements for students and faculty in all academic disciplines to develop creative applications for mobile robots By analogy this is what browsers did for the In
300. re capable of not only replacing flat backgrounds with still images or video but also solid primitives cube rectangle etc Such a system would add another exciting visual dimension to the lab 93 More development would also help on the Internet audio video and tele operation elements of the laboratory Due to strict Internet network safety precautions at the Cooper Union serving websites and sending out high bandwidth audio video streams may be difficult At some point outsourcing becomes a possibility or to bypass the firewall issues a proxy server could be instituted Upgrading the wireless network technologies to the newest standards would improve security and reliability A collection of costumes and props is part of any theater group and should be a part of StudioBlue Besides the classical props accessories such as LED lights small LCD or touch screen displays robotic arms and remote controlled gizmos would benefit the theater as well This requires a space to store materials and tools for creating costumes and robot accessories The biggest asset of StudioBlue is the personnel and increasing the size of the technical support artists 1n residents and able students will greatly improve the functionality of the lab as well as quality of academic research 6 2 RCCI The Remote Control and Communication Interface has been successfully used by James Cruickshanks in his GRASP application that was instituted by Huy Truong during
301. rea window The performance area stage is about 13 by 17 while the control area is 10 by 12 24 EXIT Lt COMPUTER 1158 NEW WALL ACOUSTIC LAB 44 454424 STRUCTURAL BEAM IN CEILING WINDOW AREA Figure 4 10 Lab Dimensions 4 3 2 Chromakey Backdrops The Chromakey also called Bluescreening 1s the process by which a portion of the image that is a specific color of hue 1s replaced by another image 19 t Frey OK allt WC Uff i a Figure 4 11 Chromakey effect Generally the camera signal is fed into the keyer s foreground input as well as the background video The color level control on the keyer is adjusted to cause all the blue on the foreground input feed to be replaced by the background video This technique is often used in a news weather forecast where the weathercaster is in the foreground feed standing in front of a blue screen The blue part of the first 25 feed is replaced by the background feed A particular shade of blue is used because it is not very common in clothing and nature as well as the fact that blue is the complementary color to flesh tone Figure 3 10 is a photo capture from a psychoanalysis session scene part of Adrianne Wortzel s work 32 It displays before and after effect of Chromakey Two major issues with working with this technology are uneven backdrop lighting and reflected color spilling onto the foreground subject 33 Figure 4
302. ring msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Private Member Functions bool checkForRobot void checks if the robot exists and is connected Private Attributes ArRobot robot internal robot pointer string type message type ArGripper gripper pointer to the gripper control class Member Function Documentation void SbGripperML fire const SbMessage 8 msg virtual implements the SbMsgListener pure virtual function Parameters msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 51 of file SbGripperML cpp References SbMessage addArgument checkForRobot fired SbMessage getArgAsInt SbMessage getArgAsStr SbMessage getAsStr SbMessage getType gripper robot and type Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler 41 De
303. riority true Create and start the thread Private Attributes e ArRetFunctorlC void ArASyncTask void gt myFunc Member Enumeration Documentation enum ArThread Status inherited Enumeration values STATUS FAILED Failed to create the thread STATUS NORESOURCE Not enough system resources to create the thread STATUS NO SUCH THREAD The thread can no longer be found STATUS INVALID Thread is detached or another thread is joining on it STATUS JOIN SELF Thread is your own thread Can t join on self STATUS ALREADY DETATCHED Thread is already detatched Definition at line 63 of file ArThread h Member Function Documentation virtual AREXPORT void ArASyncTask runThread void arg pure virtual Override this function and put your taskes run loop here Check the value of getRunning or myRunning periodicly in your loop If the value goes false the loop should exit and runThread should return Implemented in SbExampleMLT SbManagerT and SbSoundsMLT The documentation for this class was generated from the following file e ArASyncTask h ArMutex Class Reference ArMutextinclude lt ArMutex h gt Detailed Description This class wraps the operating systems mutex functions It allows mutualy exclusive access to a critical section This is extremely usefull for multiple threads which want to use the same variable ArMutex simply uses the POSIX pthread interface in an object oriented manner It also appl
304. rming sessions philosophizing about life over cheeseburgers and beer and sharing your passion and inspiration to perfect the project and general good hearted friendship John Rossiello and Megan Neill could not have been more helpful in those last few months by cooking entertaining and encouraging me to finish on time muchas gracias Thanks to George Ortega for putting up with my constant requests for help with electronics and computer issues I would also like to express my gratitude to James Cole and Ericson Mar Carl Weiman for answering my robotics questions Roger Tooze and the Department of Buildings and Grounds for prompt implementation of construction requests Chris Simon Mike Sudano Mohammed Yusuf and Yoongeu Kim for taking care of the theater while I was away and for building a wonderful turntable Huy Truong for transforming the dull lab into a bright well lit professional video production studio Winston and his Audio Visual Department for guidance in choosing lighting and Chromakey equipment and all my friends for understanding and allowing me to be a hermit for the duration of report compilation Great thanks to my parents for supporting me along the way through six and a half years of engineering school And last but not least thank you to the Cooper Union 111 Abstract This work describes the creation of a web interfaced robotic multimedia theater StudioBlue with funding from the National Science Foundation and the Cooper
305. rol and Communication Interface Class Index Robot Control and Communication Interface Class List Here are the classes structs unions and interfaces with brief descriptions ArAction Action class what typically makes the robot move 2 ArASyncTask The ArAsynTask is a task that runs in its own thread 4 ArMutex This class wraps the operating systems mutex functions 7 ArThread POSIX WIN32 thread wrapper dass 9 SbActionGoto This action goes to a given ArPose very naively 12 SbActionML Manages Aria and custom Sb actions that combine and control robot behavior 15 SbActionMove Action that moves the robot forward and backward 19 SbActionRotate Action that rotates the robot 22 SbCameraSONYML Manages Sony EVI D30 PTZ Pan Tilt Zoom camera 24 SbCameraVCC4ML Manages Cannon VC C4 PTZ Pan Tilt Zoom camera 28 SbExampleML Example implementation of a class that inherits SbMsgListener 32 SbExampleMLT Example implementation that inherits SbMsgListener and is threaded 35 SbGripperML Manages Gripper functions
306. rrqnd uoraovay orrand peeg3sur earudeg posn pojgoodxo se y10m 3 usooq bnqjg POO uo4ew IPP butiosurbug eorueuoow uorun Iedoo IXOr eg urozew 10YINE9 uoTIebTAeU QUSTPLID s ertTydes yTT buruggeuos asn prnoys nod uorgebrAeu HUTYOOT JUSPTTTOJUT pue eoa 1OJ 3nq 121949 eA y uo prone oi AQTszoTAd 1946Ty e We sutranoz prose ue eneyg p noo nod burugg Aue TO S9Toe3sqo prone 3 USoOD STUL reobnpeAeruoyoAeu u3rA4 91942 2306 3I JT Sos pue U2IM Uauarour s3T Tesueo 1 TRODTSDULO e0939eS u3r 4 Teoh mau p QT aaTh ueo nog Leme ISTASSOTO Sief qr ueua4 sdoqs UOIj29 eut OJODNUOTIOYIV S 9IDeWAI3OV uozj peg3dope ueeq seu sse o STYL AT ATpeu TSA sodiV UPATH e OF s ob UOIjOP STYL O3OSUOTAOVQS SSPTO FER A u ZZ E LAF UL if PE ELE ELE PEE vU UOTIOVAV SPNTOUTH sU TTANPTAL SPOTOUTA 4d SgepedArlerae pnTour uy oqo5uoTjOwvgs eurgeps y Ooqopuorqovqs gjepugjr4 vooz 8 Aew uo peaurad u oqaosuoraovqs pnTour 0 1TTooz doayxs q urozeu sbur3a3a s pue squeunooqg 2 SUBPLUSTTA Ze ST E 806 7e059798 1 0 T9A398S poarsogAul Jy xSeb rEobD 2 30 5 CS PUTAS Tes auTO g AWTOOTSA Jaurad af Qu asbrb ur3eb5 TeobD ur3es Teob 109 gt 381p Ed 12960 a3eb ieob aa3es Teob 2 0x3295 b xaeb ieob xaes ieob Gsrqeso oAu gt 1STP 3T esTe 1 8soq39b 30qouAu b esogdav 31 Jesez 00000001 asraproAu 31 39es94
307. rt for connecting with the robot MSG CONNECTION FAILED simulator not available Refers to an instance of connecting problem related to opening a socket for TCP robot simulator MSG CONNECTION FAILED trying again If the first attempt to connect to the simulator or robot fails this message will be broadcast MSG STALLED intlint Will send which motor is currently stalled left right MSG BUMPERS 0 0 0 1 0 1 0 This message 1s sent when one or more bumpers are activated Checks 1f back or the front bumpers have been activated If they are pressed a message 1s generated displaying all the bumper states where 0 is default state and 1 stands for active MSG BYE Message sent to all clients before they are disconnected MSG NO ARIA discard connection attempt This message will be broadcast if ARIA is not initialized 5 12 2 2 SbServerML MSG WELCOME TO StudioBlue RCCI SERVER 86 Upon successful connection the above message is sent to the client MSG SHUTTING DOWN TCP SERVER This message is broadcast when the TCP server is being shutdown MSGIMALFORMED MESSAGE Parser failed to create a proper SbMessage i e 5 12 2 3 SbMsgHandlerSingleton MSG UNKOWN MESSAGE TYPE gt TYPE No listeners registered to fire the particular message type The message will be discarded 5 12 2 4 SbManagerT MSG SHUTTING DOWN RCCIY Broadcast before RCCI shutdown 5 12 2 5 SbGripperML MSG NOGRIPPER
308. s Member Enumeration Documentation enum ArThread Status inherited Enumeration values STATUS FAILED Failed to create the thread STATUS NORESOURCE Not enough system resources to create the thread STATUS NO SUCH THREAD The thread can no longer be found STATUS INVALID Thread is detached or another thread is joining on it STATUS JOIN SELF Thread is your own thread Can t join on self STATUS ALREADY DETATCHED Thread is already detatched Definition at line 63 of file ArThread h Member Function Documentation void SbExampleMLT fire const SbMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 50 of file SbExampleMLT cpp References checkForRobot fire SbMessage getAsStr SbMessage getType ArThread lock msgExample newMsg and ArThread unlock Referenced by fire void SbExampleMLT runThread void arg virtual implements the ArSyncTask main thread function Parameters arg that does nothing Implements ArASyncTask Definition at line 72 of file SbExampleMLT cpp References SbMessage getAsStr ArThread lock msgExample newMsg runThread and ArThread unlock Referenced by runThread vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this lis
309. s q14u 3da008 q4Au x20os UT Ippeyoos qonzaqas go zts U T UST qur peubrsun YOOS yx 3exooSqs adeooe 34exoosSqs TOO eon23 uzana zxz esto eosTeg Oper adoxoos3es auoau4ged w pj uo eueuxoos3eb oi potted 1IS1011H3GAU ueT S ursAu 9 yx appexoos 3onzaa3s qaAu eueus20s395 3T UT Appeyoos 3onag43s goezrs uem tumouyun adA Au L Zo 9 bea fsSOTOOp esoToogAu DI qa Au UST qur peubtsun so oop Tooq pj aur doo 34exoosqs TOO pe3ona3sop ST 3I Uueu4 19IATIDSODP STTJ ey eso o 3exyoos 3S41j 9YI Gage 117138 TIA wey ious oF 394008 suo worz Adony P EECHELEN 3984908 Ado jy en13 uan4jea fonaq butyooTquonAw sT esTeg una REENEN HOO TINON O TIUDJ OF SANTTCA 23S4304438 U 0 i MOOTENON O TALES 4 044U T3U9J 3T 09OTHUON39S 3e93xX20SgQqS Tooq eona23 uzana z osTe d 8STP3 uan3ea 3dox os3es auoaaed w i a3doxoosqes oq eun red 1IS1011 HAU 0 i ado goezrs T ado qur BseappvesneWa3es 3exoosqdqg TOO en13 uzna zxz osIe 8STP3 uan3ea adox os3es auoaaed uiLSVOdVOud a3doxoosqes OF eun re4 1IS10113G 4U i 0 TIN fsvoavougd os AMOS TOS qd4Aw jdoyoos jes FT vooz 8 Aen uo paqutaia ddo 43exy2osds 0 rr90a do4axseg uroaeu sburj43es pue s4aueunooq 9 SueusTTA T suo3u uznq z lt 09 T JUTAS9PIOISOHOLIDU 19ND00SAS qur peubrsun 1 suo3u uan43ea
310. s myStringPos myStringPosLast and read The documentation for this class was generated from the following files e SbSocket h e SbSocket cpp 78 SbSoundsMLT Class Reference SbSoundsMLT include lt SbSoundsMLT h gt Inheritance diagram for SbSoundsMLT Detailed Description Listener for Audio playback including speech synthesis and digital audio play SbSoundsT class inherits Aria s threaded ArSyncTask to take care of playing wavs and synthesizing without locking the robot cycling It also allows for sending many consecutive requests First use of speak or Play will initialize botspeak Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Be careful with locking and unlocking This class is threaded and therefore should not use sendMsgToHandler to fire messages back to the handler because some other thread maybe using it Todo Instead of making SbMsgHandler as the singleton the manager class should be one and the reference to it should be possessed by all SbMsgListeners However this relation would be forced since listener is far away in function from manager listener gt handler gt manager Bug None Definition at line 40 of file SbSoundsMLT h Public Types e typedef pthread_t ThreadType e typedef std map lt ThreadType ArThread gt MapType e enum Status STATUS FAILED 1 STATUS NORESOURCE STATUS NO SUCH THREAD STATUS INVALID STATUS JOIN SELF STATUS
311. s a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SoMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler 62 virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenc
312. s pTST4IX1 JOT9ST4IX91 Meu CFXLPWWOS pTST4IX9L pT9t43Xeln Meu 3xXIGuuoo PTSTIIXDLL Teuegr Meu g ouedt ouegdp JPT9ST4IX91 Meu Z3XIGUUOO PTST4IX9L jquozanar Meu quoj3jnguoo uoaqaqangn JPT9T4IX91 Meu 3XIpuuoo PpTST4IX9L JOTST4IX9L Meu ZIXLpwuoo pTST4IX9L Teuegr Meu Toueal TSuear 1 jqjuo3angar Meu 2uo33nguoo uo332nar Garda Meu caixlzuuoo prer43XxelrnD 1 DT9T43X9el Meu 3XIlZzZuuoo pTer4a3xeln PpTST4IX91 Meu 3XI UUOO pT9T43Xeln PTST4IX9LC Meu Z3XI UUOO PTST4IXSLL PTST4IX9L Meu caxr uuoo PTSTAIXSDLL DI9TJ3XelD Meu y IXL TUUWOO PTSTIIXSLL Teuegr Meu p oueal Touear ounen Meu uoqang3ao uuooA3a s uoqnangnr JoTST4IX91C Meu 3XLUOD30qO4 PTST4IX9LP jquo2anar Meu u033Ing1I98uuo0 y10qo01 uo311ngr PTSTAXOLC Meu IXII10JA19S PTOTAFXOLL PTSTAIXSLC Meu IXIPPYA19S PTST4IIXSLC yquoz3anar Meu uojij4ng3oeuuoosrqA Ades UONI Teuegr Meu oueagl Touege Teuegr meu TTeuegl Touege d d d d gno eTMOTAT 2T43429A Meu INOA BTMOTATPOTITSA FNOARBTMOTATLOTIIDA 4ojgoseuuodg 1oao suuoo UUOD uor3oeuuooa3oqoy uuoo dseagb eu azedooo npoe 193U97ISTTSbesson squewetdut TaSue ar spu ax IleuedT qoagquooesnow sseTo ottqnd O I UOTSIDAS aTqexngr133e jou 10y3ne3 d Aueduiog lt d gt d v002 9 34btT1aAdo9 aubraAdobo d lt a gt uotidtaossq lt d gt lt d gt 3817 Ta ds 1 u
313. s that implement SbMsgListener can be registered with SbMsgHandlerSingleton This design paradigm allows the handler to interact with different classes without worrying what the class actually does Furthermore each listener specifies what types of messages it is interested in receiving which tells the handler where to distribute the messages as they arrive A module that implements SbMsgListener may respond to more than one type of message Once all instances of listener modules 1 e SbMotion SbSounds are created and registered with SbMsgHandlerSingleton SbManagerT thread becomes active and runs until ARIA is shutdown Since this is the primary control function ARIA runs in its own thread of RCCI it runs rather frequently with a 50 millisecond sleep once every loop First the robot is checked for 63 established connection followed by a scan of the vital sensors such as a stall or triggered bumpers SbRobotML gt checkOnce Upon disconnection from the robot server SbRobotML will send one disconnect message but will continuously report stall or bumper via messages to the user or print them out on command line if the client is not connected until they become inactive Following its 50 millisecond nap TCP server is checked for new connections connection errors and new messages tcpServer gt cycleOnce If a new message was received its type is checked for SHUTDOWN keyword in which case RCCI disconnects from robot disconne
314. sadeooe su0g yes eb OLOSI edAIbSWppe OLOD edALb5SWDppe T9 puey Dew U31A burz 3sgrb r TOF 70703A eseq 198us3sTTbsu sy o3 sed j ebessou sppe 700002 700002 7002 70S TION fesTesy UTM XUTM SOT ouop 3oqoa p arur Ine1tydesqs tweatydesaqs ud erAaV u d PETITS wy eaxTudes aq INEXTIUdesqgs SpnTouTk pntrourg G pnT ur SPNTOUT daan jepung dOL Jopun vooz 8 Aen uo peaqurad ddo TWeazrudesqs 0 TIr902 doqaxseqgq uroaeu sbur33es pue SJUSUMIOG D SURUSTTA JI snipequanp3esgpe4g59js pue xoegueg3espe4b5gjs Aq pe oag3uoo ST zorapusq STUA ta3ert1do1idde usym dn xoeq o3 A31T198 ey ST s30qo1 aze nbuejoo4 TOF Queuoeurgje4 1I9Yy21N v poods29spe19 3s YIM Jes oq ued pue uorusej pezriadojouedged e ur 30901 ayy JO poeds oui srTozquoo uor3oe STYL yed aquerpea4b y buo e 30qo1 eu SOATIP 23849 uorqovperxz5SjJsS uorqoe ue se p qu u Tdur TaTTOTWUOD TeROOT P ST 919U1 d swezegsqoperogs bursn uotysno styq ysnlpe ued nox 30qo01 eu3 JOJ uorusno jogjes e 939919 OF so oej3sqo uo4ij piemano sogerpeag PTETJ 7SOO out Ter d aeuogesnpe45js pue or di azesegy esppe49597s U3IA JJO pue uo paulina oq ULed egent shuTpeazT 1eu0os pue TaseyT E SPoJIP 3no d y brta 3oqo4 oui IOJ SP912 TerToeds are SIOP TI1P ou3 STIGYM PTIOM y 3noqe UOTIPUIOFJUT OTIJSUOSH orseq ey UTe3u09 TTM deu pr1b oui ATTensn ose
315. scontinued 9 It runs Linux 6 2 OS on its onboard computer with 350 MHz processor It operates using Mobility robot operating software but is currently not operating and has been discontinued by I Robot 24 Figure 4 7 Magellan Pro 4 3 Structures and Electric Figure 4 8 Entrance to room 232 4 3 1 Location and Layout StudioBlue is located on the second floor of the Cooper Union s Albert Nerken School of Engineering at 51 Astor Place NY NY 10003 The theater is situated in the back of the Cooper Union 23 Acoustics Laboratory CUAL in room 232 31 The CUAL was divided into two parts by a full non structural partition wall made out of a standard four inch aluminum studs and sheetrock The wall was insulated with extra heavy insulation for increased soundproofing A standard fireproof steel door was installed The construction and electrical work were done by the Building and Grounds Department at Cooper Union and are summarized in the appendix Request for Services Figure 4 9 StudioBlue The floor plan of the theater is rectangular in shape with two distinct areas the performance space and the control and development area This is a traditional three wall theater The space is about 330 square feet has three windows looking out onto 9th street Two of the windows near the stage were boarded up to decrease sunlight and street noise The lab has an industrial size 12 000 BTU Air Conditioner installed in the control a
316. simulates a population of mobile robots moving in and sensing a two dimensional bitmapped environment controlled through Player Stage provides virtual Player robots which interact with simulated rather than physical devices Various sensor models are provided 51 including sonar scanning laser rangefinder pan tilt zoom camera with color blob detection and odometry 38 5 1 2 2 Player Player is a device server that provides a powerful flexible interface to a variety of robotic elements Since Player uses a TCP socket based client server model robot control programs can be written in any programming language and can execute on any computer with network connectivity to the robot In addition Player supports multiple concurrent client connections enabling distributed and collaborative sensing and control 16 Similarly to RCCI Player attempts to provide a general high level programming interface with a belief that users will develop their own control system and or user interfaces Furthermore Player s TCP socket abstraction can interface with virtually any programming language making it much more minimal that other robot interfaces 16 The distinct difference between RCCI and the Player is that RCCI uses intuitive text messaging and is tailored towards interaction with non programmers Although the initial goal of RCCI software was to implement control functions for many different robotic platforms as done by the
317. sounds lb EE 79 A O ELA OLDEST 84 Pase co A pde oo a A A nsu em d 87 Burlata oa 87 T Oi EE 87 Eeer 88 Robot Control and Communication Interface Introduction Robot Control and Communication Interface RCCI is a software package C that works with ARIA robot API to provide a user friendly and versatile command interface over TCP IP to control robot functions and can be utilized from practically any computer platform It is an integral part of StudioBlue the Robotic Theater at Cooper Union Installation Download Aria and Saphira from robots activmedia com Aria 1s freely distributed while Saphira is a licensed product requiring purchasing Follow their instructions for installation ViaVoice and Botspeak for Linux are not longer supported however StudioBlue has two copies of it that were included in the earlier robots After ViaVoice is installed install Botspeak from a file called botspeak tar which can be found in older ActivMedia Installation CDs In the root directory add these lines to bashrc Robot directories ARIA usr local Aria SAPHIRA usr local Saphira BOTSPEAK usr local botspeak LD LIBRARY PATH S LD LIBRARY PATH SAPHIRA lib SARIA lib ILU BINDING DIRECTORY S BOTSPEAK binding export BOTSPEAK LD_LIBRARY_PATH ILU BINDING DIRECTORY export ARIA SAPHIRA BOTSPEAK after the following line PATH sbin usr sbin bin usr bin usr X 1 1 R6 bin usr local bin usr local sbin add saphira and aria to the path PATH
318. ss of RCCI This is a threaded class which is the managing body of the software supervising all the high level functions of RCCI It takes care of timed TCP server updates checking the robot state since shutting down RCCI and registering SbMsgListeners with SbMsgHandlerSingleton Singleton class needs to be destroyed by the last thread alive by calling removelnstance and is accomplished in this class 5 11 11 SbMessage Message structure class used for communications SbMessage class stores message information in an organized string format Each message is characterized by TYPE which inherently sorts the messages for processing in SbMsgHandlerSingleton Following the type arguments strings can be added and removed using functions Le addArgument SbMessages can also be created using a formatted string delimited by a unique character Each message is timestamped Example CAM zoom 56 1s the default delimiter gt MSGTYPE ARGI ARG2 ARG3 AROGn 9 11 12 SbMotionML Manages robot motion functions This listener parses motion requests It commands the robot to MOVE ROTATE sets the VEL LRVEL ROTVEL HEADING and takes care of other motion related functions Direct or motion command may conflict with controls from actions or other upper level process and lead to unexpected consequences robot gt clearDirectMotion will cancel the direct motion so an action can get the control back The other way to automati
319. ssage setType toString and type Referenced by fire vector lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SoMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler 85 Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message t
320. ssage handler in this program Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Note since the handler pointer exists here the listener can t register with more than one Handler would be nice to change this later or create an array of pointers Bug None Definition at line 28 of file SbMsgListener h Public Member Functions e SbMsgListener Constructor e SbMseListener Destructor e vector string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void fire const SbMessage amp msg 0 Pure virtual function makes this class abstract e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler Protected Member Functions e virtual void addMsgType const string m adds the message type that this listener should listen to Protected Attributes e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler 57 Member Function Documentation vector lt string gt SbMsgListener getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of me
321. ssage types Definition at line 38 of file SbMsgListener h References msgTypeVector Referenced by SbMsgHandlerSingleton addListener virtual void SbMsgListener fire const SbMessage amp msg pure virtual Pure virtual function makes this class abstract Fire the listener function This will be called by the Handler whenever this Listener 1s triggered It is pure abstract needing implementation when inherited Parameters amp msg the SbMessage which caused this MsgListener to fire Implemented in SbActionML SbCameraSONYML SbCameraVCC4ML SbExampleML SbExampleMLT SbGripperML SbMotionML SbRobotML SbSaphiraML SbServerML SbSoundsMLT and SbStateML void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and sendMsgToHandler Referenced by sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual adds the message t
322. stab cat etc conf modules sed atext editor makes editing changes according to a script jobs jobs in the current directory kill Yo where 1s the job number ps aux less ps aef killall 9 netscape will kill netscape softly kill 9 PID to kill a process kill 1 list of options top ps and kill in one h for help whereis command locate the binary source and manual page files for a command which command locate a command display its pathname or alias fuser identify processes using a file or file structure pstree how the processes are related xload cpu load meter free memory Bash startup For paths etc profile seems to only work for all but root Root has its own profile loaded bashrc which is located in root etc profile login shells bash_ profile login shells 116 profile login if no bash profile file is present bashrc interactive non login shells SENV non interactive shells bash logout runs on termination aliases should be placed in profile alias to see all of the aliases aliases in etc bashrc for working with CD drives in a console M alias mcd mount dev cdrom alias ecd eject dev cdrom to restart a shell session profile If your shell is bash and you have created a bashrc file you should also enter bashrc opt security security progams opt install programs to be installed usr local bin usr bin bin local binaries usr sbin sbin usr local sbin system
323. su 130901 949 uo4j 3qo uuoosrp ANMOGLOHSy ed r3eb bsu gr weTboTd sjrxe suorgoeuuoo e s3rnb 30q01 worTZF s3o0euuoosrp NMOGLOAHS bsu bsy39b 9A41o95Sd23 3T bsu sjes pue ooq suznaer bsy229b TeTpuey oq 371 pues uey S3SIXO qr JI TaATes ay UT obessou y 290 JODuO9S o9 O 19A Els bekel IOoATJOS 743 uo uo OurobD ST Durg3 use FE xyoouo OG deeTs TTanav c Zo z ebea e131qudesqsyueueasriT1493srb5o4 Iweaztydesqs Meu earudesqs y 19U9ISTTOSHAS spueuuoo uorjou 43uebIr 93UI VMIHdVS u10TID0PHSU9SISTTISISTLOSAI YKINUOT3OVdS Meu UOTJOP y 19U9ISTTOSNAS SNOIIOY ez ueoy u asrT4 a3asrb z JINPOOAPASuPSOqQS MOU PISULO y 19U9ISTTIOSHNAS 1 INANOSPISUeJqs Mou P1aueo y I19UO3STITDSWQS 30qo1 3uezano ey TOF ereweod 34611 eu esoouo sey us3s s eru PIaueo JO purx 38ym A jtoseds o3 pseu VMHWVO roddrabuouoeasrTqauo3srboa YyIN49eddra5qs Meu 1SAATAD y 198U9ISTIODSHNAS HdddlWN2 uOTIO0UHSU9SISTTISI1STLOSI YINUOT3OWGdS Meu UOTJOU y 19U9ISTTOSHNAS NOI LOW 9787ISk2U971ST71197ISTb91 YIN93 3S8dS Meu 9727S y 198U9ISTIO SHNAS HOLOHTAHM ALVIS pes1y19TduUexoHaus23stT1SISTLOSAI OLINSTAUPXHAS meu peeuurje duexe y j IWe duexmqads LITINVYXH eTduexououoeasTTquo3srb6o4a IWeTdwexyqs Meu e duexo y TWweTdwuexyqs ATANVYXH 1214I4ASHSUSI1STTII1SISTHOI fanrasdo72Haus71sTTII1SISTHOI SdNVNNOO YANALSIT yooz
324. t create bool joinable true bool lowerPriority true Create the task and start it going virtual AREXPORT void runInThisThread void arg 0 Run the code of the task synchronously virtual AREXPORT int join void ret NULL Join on the thread virtual AREXPORT int detach void Detach the thread so it cant be joined virtual AREXPORT void cancel void Cancel the thread virtual AREXPORT bool getRunning void const Get the running status of the thread virtual AREXPORT bool getRunningWithLock void Get the running status of the thread locking around the variable virtual AREXPORT bool getJoinable void const Get the joinable status of the thread virtual AREXPORT const ThreadType getThread void const Get the underlying thread type virtual AREXPORT ArFunctor getFunc void const Get the functor that the thread runs virtual AREXPORT void setRunning bool running Set the running value on the thread AREXPORT int lock void Lock the thread instance AREXPORT int tryLock void Try to lock the thread instance without blocking AREXPORT int unlock void Unlock the thread instance bool getBlockAllSignals void Do we block all process signals at startup vector lt string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to 36 virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the
325. tance diagram for SbExampleML Detailed Description Example implementation of a class that inherits SbMsgListener A template example just add your code in the fire function You can use the sendMsgToHandler to fire messages back to the handler Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Note You can use the sendMsgToHandler to fire messages back to the handler Bug None Definition at line 21 of file SbExampleML h Public Member Functions e SbExampleML void Constructor e SbExampleML void Destructor e string toString double d converts double to a string e virtual void fire const SbMessage amp msg implements the SbMsgListener pure virtual function e vector string gt getMsgTypes void returns a pointer to the vector containg types of messages that this listener wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str call back for sending messages back to the message handler 32 Protected Member Functions bool checkForRobot void checks if the robot ARIA instance exists and is connected virtual void addMsgT ype const string m adds the message type that this listener should listen to Protected Attributes ArRobot robot robot point
326. tatic Public Attributes e bool ourInitialized true flag whether the socket is initialized or not Protected Member Functions e void doStringEcho void internal function that echos strings from read string e void internalInit void Protected Attributes e Type myType internal type of connection udp tcp e Error myError type of error e std string myErrorStr type of error in string format e bool myDoClose flag for closing socket e int myFD file descriptor e bool myNonBlocking flag for blocking e sockaddr in mySin structure of socket address e bool myStringAutoEcho auto echo flag e bool myStringEcho echo flag e char myStringBuf BUFFSIZE this is the buffer that stores socket data e size_t myStringPos helpful in reading bytes from the buffer e char myStringBufEmpty 1 empty string buffer e size_t myStringPosLast keeps the last position in reading buffer e bool myStringGotEscapeChars 75 flag for escape character e bool myStringGotComplete flag for complete data e bool myStringHaveEchoed flag for successful echo Static Protected Attributes e const int BUFFSIZE 5120 shoulod implement a variable for the string buffer size Constructor Destructor Documentation SbSocket SbSocket const char host int port Type type Constructs the socket and connects it to the myConn socket given host Parameters host hostname of the server to connect to port port number of the ser
327. tatic function self will return a thread Definition at line 52 of file ArThread h Public Types e typedef pthread t ThreadType e typedef std map lt ThreadType ArThread gt MapType e enum Status STATUS FAILED 1 STATUS NORESOURCE STATUS NO SUCH THREAD STATUS INVALID STATUS JOIN SELF STATUS ALREADY DETATCHED Public Member Functions e AREXPORT ArThread bool blockAllSignals true Constructor e AREXPORT ArThread ThreadType thread bool joinable bool blockAllSignals true Constructor starts the thread e AREXPORT ArThread ArFunctor func bool joinable true bool blockAllSignals true Constructor starts the thread e virtual AREXPORT ArThread Destructor e virtual AREXPORT int create ArFunctor func bool joinable true bool lowerPriority true Create and start the thread e virtual AREXPORT void stopRunning void Stop the thread e virtual AREXPORT int join void ret NULL Join on the thread virtual AREXPORT int detach void Detatch the thread so it cant be joined virtual AREXPORT void cancel void Cancel the thread virtual AREXPORT bool getRunning void const Get the running status of the thread virtual AREXPORT bool getRunningWithLock void Get the running status of the thread locking around the variable virtual AREXPORT bool getJoinable void const Get the joinable status of the thread virtual AREXPORT const ThreadType getThread void const Get the underl
328. ted in and out of text format to be sent over TCP IP MSG MSG DATA TYPE Figure 5 6 Message Prototype 66 5 10 2 SbMessage Syntax The idea is that each datagram should have a type specifying the category of the message allowing for quick sorting addressing and the rest of the message would be the data The solution was to store all the elements of the message type data in string format and convert the strings to necessary format when needed This would allow the message to be very similar in the software and over TCP Initially XML Extensible Markup Language was chosen as the text formatting structure for the message to be sent over TCP for its popular use and flexible text format 52 However it was found that parsing XML is not trivial and the overhead in the text message structure requires bandwidth outweighs the benefits of its use SbMessage takes care of storing this information and is easily transformed in and out of string format serialized and de serialized Figure 5 7 displays the syntax of message sent over TCP protocol The suggested default delimiter is the pipe symbol Figure 5 7 Message Syntax A message begins with the message type following by the rest of the components separated by one delimiter and ending with two delimiters and a new line character o This character signals that the data in the TCP buffer should be read and forwarded to the message parser The message parser looks for
329. tener wants to listen to 38 Returns the pointer to vector of message types Definition at line 38 of file SoMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this cl
330. ternet revolutionizing both commerce and culture while fueling further technical progress Outcomes are enrichment of cross disciplinary curricula in engineering and arts faculty development and exciting applications including WWW robotic theatrical performances directed by a professional artist Results are being disseminated via Web and publications 107 8 4 StudioBlue Productions 8 4 1 Eliza Redux Veils of Transference In the summer of 2003 a video was produced at StudioBlue Cooper Union by the artist Adrianne Wortzel Eliza Redux Veils Of Transference depicts a fictive pre scripted psychoanalytic session between a human actor and a robot Two versions were shot one with the human as psychoanalyst and robot as patient and one with the roles reversed The script along with gestures the movement of the robot s camera and the robot itself was entered into GRASP software by James Cruickshanks StudioBlue is a Chromakey telerobotic theater at Cooper Union with a turntable set allowing for background display of the patient or therapist s subtext as interpreted by the artist as the environment in which the session takes place Script and Production Design Adrianne Wortzel Cinematography Huy Truong Scripting Software James Cruickshanks Puppeteers Chris Simon and Mike Sudano Audio Chris Simon 8 4 2 Shakespeare Robots Shakespeare Robots is an interactive cinematic experience about artificial life in a post robotic world
331. to 100 rough 5 4 Robot Functions It has been determined that the following ActivMedia robot functions should be implemented for the use in the StudioBlue theater They represent the most used functions and robot state information 5 4 1 Motion e Move forward reverse mm e Rotate in degrees e Move to position x y in mm e Set transversal velocity e Set rotational velocity e Set transversal acceleration 56 Set transversal deceleration Set rotational acceleration Set maximum transversal velocity Set maximum rotational velocity Set current position x y heading 5 4 2 Robot Status 5 4 3 Gripper 5 4 4 Camera Location coordinates x y heading angle Forward Reverse velocity Wheel velocities Heading Battery voltage Sonar sensor data Table sensor data Bumper sensor data Robot name Robot type Sonar on off Motors on off Gripper system halt Gripper system store Gripper system ready Grip stop Grip close Grip open Lift stop Lift up Lift down Pan Tilt 57 e Zoom e Set tilt slew e Set pan slew e Backlighting on off 5 4 5 Audio e Speech synthesis e Digital sound file playback e AmigoSound playback e AmigoSound on off 9 4 6 ARIA Actions e Bumper avoid on off e Front avoid using sonar on off e Rear avoid using sonar on off e Table avoid using IR on off 5 4 7 Saphira e Gradient Path Planning 5 5 Operating System Lin
332. tor lt string gt SbMsgListener getMsgTypes void inherited returns a pointer to the vector containg types of messages that this listener wants to listen to Returns the pointer to vector of message types Definition at line 38 of file SbMsgListener h References SbMsgListener msgTypeVector Referenced by SbMsgHandlerSingleton addListener void SbMsgListener sendMsgToHandler const SbMessage amp msg virtual inherited call back for sending messages back to the message handler Parameters amp msg SbMessage that should be sent to the handler Definition at line 12 of file SbMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler Referenced by SbMsgListener sendMsgToHandler void SbMsgListener sendMsgToHandler const string amp str virtual inherited call back for sending messages back to the message handler Parameters amp str String that should be sent to the handler Definition at line 17 of file SoMsgListener cpp References SbMsgHandlerSingleton getInstance and SbMsgListener sendMsgToHandler virtual void SbMsgListener addMsgType const string m protected virtual inherited adds the message type that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters 70 amp m string as a message type ie SEND Definition at line 56 of file SoMsgListener h Referen
333. trigger such as sensor data or timed alarm Such application typically runs on robot s onboard computer and is interacted with via terminal emulation application Through this approach direct human input is required to control the preprogrammed functions and there is no immediate ability for other software to do so To create desired control code extensive knowledge of robot API and its programming language C is required and is often very time consuming both are discouraging hurdles in discovering the joys of working with robotics Hence a need for a simple interface for the robots that would fit in the multidisciplinary environment of StudioBlue was discovered High level platform independent communication interface would be optimal for controlling most of the robot functions and feedback systems High level means that the most of the mechanics of performing a task are taken care by a subsystem For example a high level go to position instruction consist of the robot rotating towards a goal accelerating to a preset maximum velocity and then decelerating to precisely arrest at the desired position accounting for distance and heading Furthermore lower level control system controls each wheel s velocity translates sensor feedback into usable data etc Extensive mapping of robot functions and feedback services was required for the user to be able to fully control the robot behavior Such communication and control interface should also be e
334. tring to an incompatible type Note timestamp is set everytime the SbMessage type is set is the default delimiter gt MSGTYPEIARGIIARG2IARG3IAROGnII Bug None Definition at line 26 of file SbMessage h Public Member Functions e SbMessage void Constructor e SbMessage const string amp type Constructor which sets the type of message e SbMessage const vector lt string gt msgVctr string delimiter Constructor that creates a message from a parsed vector anda delimiter e SbMessage const string amp const string amp constructor with unparsed message and delimiter strings e SbMessage void Destructor e void setType const string amp type Sets the type of message e void clear void resets the message e void addArgument const string amp arg adds on an argument to the message 48 void removeArgument int 1 removes an argument from message void setDelimiter const string amp d sets the delimiter for the message format string getDelimiter void delimiter accessor bool create const string amp str parses and sets the type and arg fields of message string getType void const returns type of message string getTimeStamp void const returns timestamp int getNumOfArgs void const gets number of arguments in message string getAsStr void const returns the message as a string includes delimiters int getArgAsInt int 1 const returns an argument as an integer
335. ty of five inches a second The standard command type had a maximum of five numeric characters and three layers of command structure 3 chars A more flexible messaging structure was desirable one that would allow for any number of mixed types numeric and alphanumeric arguments It is also important to keep the same messaging pattern for response messages so same content independent parsing and message creation algorithm was applicable Unlike WECP the message listener handler model used in RCCI clearly separates the parsing from command interpretation improving modularity and maintenance It is noteworthy to credit Cole s genius in resolving robot localization problem via his Constellation Vision Navigation System A camera mounted on the robot facing the ceiling would looked for three colored discs mounted on the ceiling Image processing engine would determine the colors and the orientation of this discs arranged in a triangle and compare them with a database of the constellations real world coordinates and would use equations similar to those used in trilateration to calculate its position and orientation 5 1 2 The Player Stage Project The Player Stage Project is a set of Open Source development tools for robot and sensor applications 38 The player seems to be most similar research project to RCCI It is used with complementing robot simulator called Stage 5 1 2 1 Stage Stage is a scaleable multiple robot simulator it
336. u sbur3a3a s pue squeunooqg 2 SUBPLUSTTA Pjep TeooT SSOO2OP O3 2T UIUJIAM Xoojun xon esn m se buo se 3T SS90008 U2 M os pe zu3 92O u3 AG pe ieo eq JOU TTIM SSPTO SIU3 t 13s sso uanqez burrjge fe STqanop sys uxnjgor WesT38 OjUT OTqnop 32z sur Ze P gt gt sso Clun IIS SSO TTAN uaxn3ez3 p STQnop but74S03 LIWeTdwexgyqs butzqs buraizjs P oi sfrqnop e 219AUOO IDO TUA fosTez DM 3ST83 UING T TPUS u3Ssv3eb e duexqbsu gt gt TL eet 1206901 u 3T OJ HutyAtem obessou styg punoj peedul gt gt anoo esTez uainje4g pue 30qo1 eu yooTun os pez3osuuoo 3ou 91 9M bswmeu JT an193 uzna xz psu mou Y ST 91942 JI YOoYyD Z i90TUN lt I0OI DOT uor3oung 3rnb pue xoo un poj3oouuoo oTe 8A JI QueA em burqgAue 386 ueo em os ejep sseP O STYF SXOO 00S d TS TTINIY p 3ao uuoosr lt 3aoqo3 s3tT jr Suren Sys dA XY 29780 STEEN 90003 Sua yr Xosgo prhosyy q90T 30qo43 qT UO4Jj e3ep 396 urd em es JOGOT ql xoo butuunyAw eTTUM JOIJ JO esneoeq uorj3oung sru3 21nb esTeg uangaz Dip PTOA peeagurpung TIWeTdwexyqs x PTOA TTAN uLOGONdSy FOQOUPUTT e Iy 3OQO41 3T ionaij uaznje4a ueu3 i uooTqTun pe3oeuuoo s3T pue sak JT S3Srxeo LOSHOMGS 20qo42 ey JI Yyooeyo ouop Zen bsyMou proA J3oqouaoJ4xyooeuo LIWeTdwexyqs TOooq u GVHHHLHIdWVXH edAlaeb e duexugbosu JT Sen oj Durob 218 oM JT IPBbOOOU ET SIU3 bsu e
337. u ur uorjgoung u3 s E9 ouo STY I3S8p ST SSP O STY 1993e Joelqo q T p 03 1030894134bsu ayy sesn qoruM Jebeueu doueu TeOOT eu yira 42o03UrOd meu ou SOIS3STIbSI OSTP Ilo puegbsu ey UTM 19U9ISTT oui seTeAsTber t 23419U97STTLBSUy TausyAst Tbswqs TAs PUTIAS ISUODASUSISTTISISTSI PTOA 13899 ST sseToO SIQj 1933e 30e qo q T p o3 ro03094134b6su oui sosn qOIUM Jebeueu ATOwSew TeOOT 9j YATM 1ISqUTOA meu 9uj SOIS3sTIbaI OSTE Ilo puegbsu ey UTM 19U9ISTT oui SOola3stbaI 1021092212 49SU lt y 198U9SISTIPBSKAS gt 107094 peAoag3soep ST sseTo 19938 ATOWSU p qeooTTpe e3e op 03 pesn SI STYL TeTpuey YIM p z 3srP rxr are 3849 sr qurod I U JST JO 103094 pa3o097301d 1 bie y proA peoauujuna y PTOA TENJITA Jr UT 33038 Srur y saey prnous 31ed 8143 OS pe3es1o sr 309 qo Sus se VOOS se Unr 8356 sI1Uua ATuo Os oouo porro sr 3en sty pesiq3 Aou 993 UT unz oi uorjoung ou3 PTOA ITUT TOOQ T AI S JAI pue 30q01 SezI IJIUI LISPRUPNAS PEPTO 87032 TOJ DOJOSTIP sSsxueusssvrrbsu 3050l1g0 Sui sojgopop Jog3onz3soeg 7 7 1 3 buraj3s a3suoo juobeuewds Z030onr3suoo ZZ oTTgqnd xserlou Asvyay ottqnd i2ebeuewds sseT o qu LAiebeuewqs grpue g SSPTO SIU3 ST YOTYM oouejsu oAouoe4 HUTTTeO Aq ATTE if pe zu3 3se oui Aq pe oa43sop eq o3 speeu sse o uoge burg e buruageAMpg I3dqdHdS x TW3aoqoxqs POO UDIEN edqepg ESETO TOIQ2UO0OD 30qor 3842 O3 J03
338. uT SOIE zort SOOPdS SIPLDOTTO uu ebessowds epniour g go T ebegd vOOZ g Aew uo p qurzd ddo ebessewdqs 0 rr9o9a doaxseg uroaeu sbur43eg pue squeunooqg 2 eueueT r4 T qur PUTIISOLAUOO SPessanas buraas 13s sso uzn3 z ueol3s o3ur e qnop 31s9sut p pyorsrioeagdqes sso uu SSoueoa43sburagj3so burr35g03 ur pesn uorjoung ues13s B8UJI93UI p STqnop buraasgoriAuoo obessoywds buraas 1 139 P1e uan3eza osTe uy ANDA Tpuea gt gt a ehessewqs 13s61e ai se buruaou Hbuturznyzerz ebuez jo Ano x pur gt gt MOD Osbav3iounN3eb lt T T gt Oezrs uaoAo2e 0 gt T 3T spunog OrrE 23OADGIP Or 300 ST E E 34suoo T aur Uassybava3oeb obessowds buraas 2 Q ias o r1 ag39A029 gO4 uangaz d 0 0 uazn3ea Tpue gt gt a SPessanas Tqqbze y se ozaz butuan291 gt gt a Toqunu e jou st pIe au 10 abuez jo Ano XepuI gt gt NOD CCCET 339APa29 a2equnNST i 0sbavgounN3e5b lt T 0 gt T Jequnu e SI qr JI 3892 O3 paau spunoq jo 3no JI adue 235Ab49 3T 3suoo T aur r dasvbav43eb obessoyxdS stTqnop Osu uazn3ea eqtwtTep 19ITUTTSP su r a39ADa 19ITUTTSP bsu Psw T Q0sbavgounNaeb gt T f0 T qur peubrsun zog Spano borzrs c30ADIE Oz 300 ST Y JI ed L39b5 bsu buraas 3suoo proA 23SsVv39b Sbessanas buraas sbayvjounu Zo z ebeg T urbequa3oAbDae oseago 13oADa2e
339. ue op 3 UODp SM 91947 91 9M JT Teo5Au TeOD AES G lt teooproAu preouegasrqpurg eooAu grt WOTIF ysnl sr Jes eob Meu oui JI Sxyoouo STYI 97bue eTqnop TOA aTqnop V ISTP erqnop eSso o ST 3943 seou jsTQ peaxtseqaueaanopedgrsequorjoV43V SATJ SAOWUOTAOVQS y P9ATSSQUOTIOVIV Y Teob eog19s xseb reob p 3F0O z Teok y3urad 1 ISTP xaeb Teob xaes Teob esogqeb lt joqoyAu Teoh esogav T a1TqanoAu osTIe tr atgangA4u 0 lt 3STD FE 31 39es94 100000001 asrapro4u ISTP STANOP 0o5 SAOWUCT IOVS PFOA TWOD ON HIVIS qeqsZAu PTOA 9 O5 99U O SAONUOTIDVYAS PTOA esTeg uanjea ST Zen uaznjeza IVOD QHASIHOV HILYILS e3e3gAu gr PTOA eOSpeAerUu2VeAe u PBAONUOTIDYAS TOOq d PAOWUOCT JOVAS DBAONUOTIOVAS 0000000T asrapro4u 000Z2 peedsAu 2 oro O O O O esogav T 0o5ass 4srgeso o asrgesoToAu 1 uu Teob of ubnoue 4srqeso oAu 9 4 4STP eso o 6avav Nusunbiy1X2N18S fT U1NJOJUOTIDSATG UN u Teob USATO aya 07 se0D tTeogAu TeoopToZXAu Sweu UOTIOWIW ISTASSOTO eTqnop eueu y zeuo 3suoo oeAoWuorqovqs 9SAOWNUOTAOVGS Teob TeosAw dvos OL SNIOS ALVIS egegsAu Teoh ssogzy 1e09798 SAO0NUOTADVAS PTOA a 3oqouiv SPNTOUTA vU SAONUOTIDVAS y epniour Zx erpeuarjoe Aq Daipai eAoWuor3oyqs woTZ paeydoppe sem sseTo STYL x Z FO T bea vooz 8 Aen uo paqutaia
340. ue s396 erg r3un suni stya 00T deeTs TTINAV 7 u1n391 JuMopanus erav Tpue Ureu znTrej 3TUI oa enp werbox1g PBurqarxq i gt gt MOD Q3rur azbuui 3T grnb gent 420d 09 p rg 3 UBD OI GEIIUIJIUI JUB JII 1equnu 310d 943 ssed 1 4b18e 16uu L19Peuenas pe zu3 UMO SIT sqzeqs YOTYM oueasur Tabeueul s qe rzo VAYHL ATIGNVHDIS PTA7Y ATUT STI peeau3 bur pueu eubrs po3eorpop e dn395 1 T ITXOS Ipue A2 SLNHNWO OWV AO YHENAN iLLOWNWHOONIa4 gt gt qanoo z i o9b49 gT JAbze y zeqo obae Qur ureu AUT pas eoedseureu Poren ouoN nqa FO0Z YOIEN e3epo buraieeurbuy eoruequoew uoruf 1edooo rxor eg uroaew 10yaneo epou pepee4u3 UI VIMY SezI 8IQIUI 317 Gau nz3 31 3298e4400 p z qu sem quewnb7ze IYOd eur pueuuoo y JI Sxoeuo 31 wexbox1d y o3ur 3urod eouead3ue 943 SI art 09 ureu burzjs epnyourg ud er2V 9epnpourg Laiebeuewds SPNTOUTH dan jepung doL jepung T JO T ebea vOOZ g ABN uo p qur d ddo ureu o rro0a doaxseqg uroaeu sbur33eg pue squeumoog SueusTTA I JO T ebeg o3o29uor3o2Vqs JTpue 4 fsaeasAw qaeacs uorqounj o30b 243 jo 938398 qu zdzIno TINOS OL SNIOS HIVIS VOS GHAHIHOV HIVIS VOD ON HIVIS 29183238 unue UOI329P STY JO 2787S 3uediino ou soegedounuoe lLeo5proAu esogav ucT3TESOH DTO SY t91ITSSA UP9dITSSQUOTIOVIV UOI3OP TeureQUT 3S TqP TOAu eTqnop oou
341. unu d4 1 pua Je NITPUHPSHN i A utbeqdewatTpuyhsw d ae3rdeu aog3 2 unu qur PTOABI1SUSISTITIVIOUNNID U1OJSTOUTSISTPUPHOSNAS qur Zo z ebeg PA 10 uan3eza eozrS 3Hew4 TpuH5swN uan3ea 3 s3srxuedArbosu gr 3 9 burd3s ISUODEI19SU9SIASTTIIOUNNISL UOFJSTOUTSISTPUPHLBSHAS qur ezrs dewai puHbsW 9ZTS dewa4T1puHb5swN uan3ea proA sedArjjounwNa3eb uoqe oursae qpueu oswds aur JP d li proA adeue3srTqbsw3eb uoge bursgage pueHbswqs 4deuej3srTqebesssopnqs suor3e op jo 4equnu sulin391 3 eseauo dewaT1puHbswWN 3unoo qur I dPNATPUHOSN 939T9P 3 s3srxWuedArbsu gr 10329A 2439 e3e op sak JI S3SIXO qr JI 19949 103994 eToym ou e3e pep 3sn lex eu YATM 707394 OJ 1S3UTOA au 39eb 3 9 DUTIJS ysuod sdALSAouszr VOJSTHuTSASTPueHHSWAS PTOA Ga adastybsu 2S1TI lt AM9U9ISTTSAQUOI d4 puse dewatTpuyhSsw i d utbeqdewatTpuyhsw d ae3rdeu aog3 103992 e ou 4 ou e3e pep 3sn Ady eu YATM 4103998A OJ 1S3UTOA au 39eb ITed u 3ar 4 y ey UT u qar puooes ay OF so4dogje4 puoooss aa 3uTOd ani PUTJ O3 STOJOSA ey2 TITE Ybnorzy ueuj pue s ex TTe ubno4duj 93849311I G3adasrq56su y 19USISTTOSNAS SI0ULISUTISUDIASTTSAQUAT UOISTDUTSISTPULHODSHAS PTOA suoT39Tep jo 1oqunu suinj94 3 oseauo dewaT1puHbswWN 3unoo AUT 3 deW231PUHDSW 93919P ezts 3d eWa tPuHbSW FT vooz 8 Aen uo peaqurad ddo uoa Tbursz TpueHDsmIqs 0 ITOooz doayxs
342. uoo pueuuoopues JU9AHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Maus2STTUOTIODY mw uy u qasrTuorqovppe puo7279nguoo d t aAxXxoer39eb paxIguuoo 1 1X2118909 8 IX UuO0O IX917380 ZAXLEwWOD 3X2119b 1 XL WU009 pueumuo pues JUSAJHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Maus2STTUOTIDY mw uy u qasrTuorqovppe uoqaqngquoo d t d 3x L3 D y IXL zuuoo 1 JQOXoI39b gaxlzZuuoo 3xoer3eb5 zaxizuuoo a3xera3eb 3xrizuuinoo pueuuojpues JUS9AHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Haus23sTTUOTIODY M uy u qasrTuorqovppe Zzuoqaqanguoo d 1 3xX21199 p2X TWUOO 1 JQOxoI39b gaxl uuooO 3Xx21389 23X 1TWUOO 3X21190 T1 XL TUUOO jpuewwogpuss JU9SAJHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Maus2STTUOTIDY MeuyuouojSsr TUOTj3OVppe TUO0I1INGUOoD ILOUHNNOOSIG LONNWOu gt QXIOSNNOSIG 39euuoosTp ujaurad 4no uej4s Ag JU9SAJHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand fMaus23sTTUOTIOY mw uy u asrTuorqovppeuoqaqangao uuoosrqaa s d 1 30o9uuoo JU9dAHUOTIDYP9SUTIOJIS9JUOTIDP PTOA orTand Maus3sTTUOTIOY MBUPSUSISTTUOT IOYPPe UO RANG AOSUUODAISS SOJI9USJSII f TTnU Zuoa3anguoo ppe Teuedt TInu 7axlzuuoo ppe reuegt TTnu ftaxlzuuoo ppe rieuedt F00Z 8 Aen uo peaurad eAetf Teueg ozg4uojpesnoy rioaquoou oas oa4uoou 43oeLtoadqL s4a4ueunooq Aw uroaeu sbura33es pue squeunooqg 2 SUIeUSeTTA d queAquorjovypDeuagojdequora
343. urOd sOuPJSSUI burdeeurbuy eorueugoew uoruf 1Sd00 rxor eg uToOTeW 1O0Y2ne Osu obessoqwqs uogepburgdge pueHbsWqsS u31i 4 sTeueqAsTTb6spwqs PBUTISISIBODI bsu 8U493UTI pue I2OM umop burj3nus pue e3e3s 30q01 ey burxoeuo sojepdn 49AJ49S dOL I9AJ9S8d9O4 y IWA29A429SqdS poUurj JO arta See 3T IOOH FO Suoraiounz Teast gbrug eugy3 Tre Dbursyagodne 7 JoAJ8Ss WUO JOI ey OF TeqQuTOd eouejsur o1043jJOS oui Jo poq burbeueu oui ST YOTYM Sse popeedgu3 e ST SIUL e puegbsu uojer pbursae puenbsyds papes142 I2OM JO Sse o Tebeuew UTEN Jepgpuegbsu uojge burg oi Z qurod eouejsur 330d Dura3s5 YU PTA SENTOUT EE GS 207 220d If PTOASTPUCHDSWATUT proA uu ebessowdS 9epn ourjd odA3 owes y uqra p z 3asr6 rx eq ued Ieus3StT suo uey e4O0W uu uojepbPursgageT pueubsWds epniourz UV a103onijsop ey UT 98942 e3e op oq Tequewez nU 1S3U9SISTI SNAS epniourd I9U8jSIT 8ArI32edse4 nU INA49eAdesdS SPNTOUTH yim sedA bsu szeqstbez pue s3joe qo 19US3STIT oui S9IP91D 4u IW3oqouds epnioursz 1191110994 103892941 y 19U9ISTTOSNAS gt 1070914 gepedA3 TOG9A 24d sy ybnozy3 1021819391 Y IISPRUPNAS eurgjep4 34192U97STTOSU 198U927ISTTIOSHNASKHSUSISTIIASISTHSI PTOA Y L19PPUPNAS JOSPUITH I Zo T ebeg vOOZ 8 Aew uo p qurzd u Laxebeuewqs epniour Q rirooa doaxseg uroaeu sbura343es pue sau umooq O2 SueusTTA proAuer ipueub5sywarur aiebeuepydS proA odA3 ISU9I1STIBSH JO SI
344. ux was chosen as it is a stable secure modular and controllable software operating system with good documentation and large Internet community One of its more attractive aspects is the integrated X Windows system X11 which allows for remote graphical control Essentially the screen shot of the robot computer can be easily be displayed on any X enabled computer in the world Linux UNIX is rather transparent compared to Microsoft Windows system allowing the administrators to fully control the processes permissions boot sequences and logs It 1s open source making it very customizable It is know to be very secure and widely supported on the World Wide Web Most of the coding was done on Mandrake 9 0 Linux distribution with a robot simulator that is bundled with ARIA while the robots operated on RedHat 7 0 58 A useful tool in Linux is a shell script which is a text file with a set of instructions that the operating system will execute as if the user typed them on the command prompt Shell scripts issue commands start processes control jobs redirect input and output etc 45 35 In case of RCCI the following bash script was used to analyze user input adjust volume shutdown any existing instances of RCCI shutdown Text To Speech engine restart the engine and run RCCI with the user input port bin bash echo RUNNING RCCI if Tee ane j que chen echo 1 gt amp 2 Usage 0 PORT exit 127 fi techo Adjusting volume and mut
345. vToString 50 SbMotionML 51 addMsgType 53 fire 52 getMsgTypes 52 sendMsgToHandler 52 53 SbMsgHandlerSingleton 54 SbMsgListener 56 addMsgType 58 fire 58 getMsgTypes 58 sendMsgToHandler 58 SbRobotML 60 addMsgType 63 checkOnce 61 connectSim 62 fire 62 getMsgTypes 62 sendMsgToHandler 62 SbSaphiraML 64 addMsgType 66 fire 65 getMsgTypes 66 sendMsgToHandler 66 SbServerML 67 addMsgType 70 cycleOnce 69 fire 70 getMsg 69 getMsgTypes 70 sendMsgToHandler 70 SbSocket 72 copy 76 read 77 readString 77 SbSocket 76 transfer 76 write 77 writeString 77 SbSoundsMLT 79 addMsgType 83 fire 82 getMsgTypes 82 runThread 82 sendMsgToHandler 83 Status 82 STATUS_ALREADY_DETATCHED 82 STATUS_FAILED 82 STATUS_INVALID 82 STATUS_JOIN_SELF 82 STATUS_NO_SUCH_THREAD 82 STATUS_NORESOURCE 82 SbStateML 84 addMsgType 86 fire 85 getMsgTypes 85 sendMsgToHandler 85 86 sendMsgToHandler SbActionML 18 SbCameraSONYML 26 89 SbCameraVCC4ML 30 SbExampleML 33 34 SbExampleMLT 39 SbGripperML 41 42 SbMotionML 52 53 SbMsgListener 58 SbRobotML 62 SbSaphiraML 66 SbServerML 70 SbSoundsMLT 83 SbStateML 85 86 Status ArASyncTask 6 ArMutex 7 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS ALREADY DETATCHED ArASyncTask 6 ArThread 11 SbExampleMLT 38 SbManagerT 46 SbSoundsMLT 82 STATUS ALREADY LOCKED Ar
346. ver to connect to type protocol type to use Definition at line 170 of file SbSocket cpp References connect SbSocket SbSocket int port bool doClose Type type Constructs the socket and opens it as a server port Parameters port port number to bind the socket to doClose automaticaly close the port if the socket is destructed type protocol type to use Definition at line 183 of file SbSocket cpp References open Member Function Documentation bool SbSocket copy int fd bool doclose Copy socket structures Copy from one Socket to another will still have the first socket close the file descripter when it is destructed Definition at line 539 of file SbSocket cpp References copy myDoClose myErrorStr myFD mySin and myType Referenced by copy void SbSocket transfer SbSocket s Transfer ownership of a socket transfer will transfer ownership to this socket The input socket will no longer close the file descriptor when it is destructed 76 Definition at line 102 of file SbSocket h References myDoClose myFD mySin myType and transfer Referenced by SbServerML cycleOnce and transfer int SbSocket write const void buff size t len Write to the socket Parameters buff buffer to write from len how many bytes to write Returns number of bytes written Definition at line 133 of file SbSocket h References myFD and write Referenced by doStringEcho write a
347. wants to listen to e virtual void sendMsgToHandler const SbMessage amp msg call back for sending messages back to the message handler e virtual void sendMsgToHandler const string amp str 64 call back for sending messages back to the message handler Protected Member Functions e virtual void addMsgType const string m adds the message type that this listener should listen to Protected Attributes e vector lt string gt msgTypeVector vector containing all the message types that this listener is interested in registering with the handler Private Member Functions e bool checkForRobot void checks if the robot exists and is connected Private Attributes e ArRobot robot internal robot pointer e string type message type variable e boolinited have we initialized e intclose saphira variables mm distance away the robot is from the goal when it switches to close mode e int done mm the distance away the robot is from the goal when the gradient decides its done e int winX mm tSets the size of the gradient window dimensions for gradient path planning e int winY mm tSets the size of the gradient window dimensions for gradient path planning Member Function Documentation void SbSaphiraML fire const SoMessage amp msg virtual implements the SbMsgListener pure virtual function Parameters amp msg SbMessage which caused the listener to fire Implements SbMsgListener Definition at line 48 of fil
348. wav 3T yy 286 lt 0q0y4u TbuvprTo Tpua gt gt e buyv eob gt gt qnod TITAN uzna rx 0 e buy ob JT Bue rbuvTeob burqgAue op o3 peeu ou 0 JI 9 bue rqnop TbuvpTo uri3ebP 3oqouAu 09 bue OT urn eAr3eboUu JI Ipue gt gt A SOd SEN gt gt MOD OT urn eATITSOd SI e bue ano 3ge 3949 eAoW 0 gt STHUYPTO 99 0 lt uri3eb 3oqouAu JT esTe usy2 GT ueu3 sseT sr e bue e9eob sy sse un GT teyzoue Lol o3 ATQZ pue pasow Junouwe ey3 Aq e bue Teoh sy esonparl 1 JuL39eb 30qouAu sTbuypto bue 1 298sa1 pearsogAu TPUS gt gt n DEN SOdu gt gt NOD pearseqaueaaunopedrsoquoraoV43V ITJ SREVAOYUOTAOYVAS yx PSATSSqQuOoTAOVWAY 0 lt STOUYPTO 93 0 gt uULIeb lt jogoyAw FT esTe 1 xoorun 30qoMAu STPS2UYPTO uri3eo 3oqouAu bue 1 uL39b 30qouAu e buypTio TPUS gt gt u DAN 94Na gt gt MOD YOOT lt JoqoyAu qunowe rbuvrTeob 0 gt STOUYPTO 99 0 gt uULIeb lt joqoyAw FT esTe qunoue STqnop 0b 233e3ouuorqovqs PTOA uL3eb 30oqouAu sTbuypto bue TPUS gt gt q SOd SOdu gt gt 3noo PPE I0YUO0TIDYAS DIPIOJUOTIOVAS 0 lt SATOUYPTO 99 0 lt Quriaeb 30qou Au gr d Hunouyuing qunounuzngAu 08T gt e buy eob esTe Putuana A unouyuanpj Au 9 44Qunoue uang bayazay AusewnbazayyxXeNnqes MOU UOI3O9841p SAr3eb9u UT 938304 oq JUEM u 30qd04 9y seqejoy
349. whether the action is active or not virtual AREXPORT void activate void Activate the action virtual AREXPORT void deactivate void Deactivate the action virtual AREXPORT void setRobot ArRobot robot Sets the robot this action is driving virtual AREXPORT int getNumArgs void const Find the number of arguments this action takes virtual AREXPORT const ArArg getArg int number const Gets the numbered argument virtual AREXPORT ArArg getArg int number Gets the numbered argument virtual AREXPORT const char getName void const Gets the name of the action virtual AREXPORT const char getDescription void const Gets the long description of the action virtual AREXPORT void log bool verbose true const ArLog log s the actions stats Protected Types enum State STATE NO GOAL STATE ACHIEVED GOAL STATE GOING TO GOAL enumerates the current state of this action Protected Member Functions AREXPORT void setNextArgument ArArg const amp arg Sets the argument type for the next argument only use in constructor Protected Attributes double myCloseDist allow distance within the goal as success double mySpeed desired speed double myDirectionToTurn incrememnt amount to turn to achieve heading 20 e double myCurDir the current direction e double myOldDist the last distance to goal e bool myTurnedBack turn back flag e ArActionDesired myDesired internal action e ArPose myOldGoal o
350. with one or two structural changes Electrical Several operations are needed to adequately wire the theatre These operations as listed below Load Capacity The current electrical system within the room is inadequate to power all of the devices and hardware needed for the theatre Since the room is being divided into two separate labs there is currently only one outlet available for use In addition the one outlet that 1s available to us seems to be shared with appliances in the adjacent room Materials Lab Here is a list of the devices that need powering 5 Computers CPU and Monitor 2 Video Monitors 12 250 Watt Stage Lights 1 Air Conditioner 5 Robot Power Supplies and other Extraneous Hardware In Figure 1 there is a layout of the theatre and the general locations of the aforementioned equipment Computer Outlets There 1s an existing power strip located on the back wall of the alcove that is no longer powered Powering this to support the majority of the computers and some of the equipment would be convenient Removal and Replacement of Fixtures All but one of the existing fluorescents are to be removed Only the florescent light above the workstations and the incandescent lights located on the floor beams are needed The one remaining fluorescent is already independent from the rest of the existing lighting and requires no attention The other fluorescents a total of six sections of lights must be removed see Figure
351. would move the robot in the same pattern Moving the robot using go to statements is sufficient for reproducing large simple motions however it is very limiting to straight and rotation motions A direct motion translated directly from user s interaction with the mouse yields puppet like robot control that can be useful in queuing the robot testing maneuvers and instant direct gratification There of course would be a delay but that may be acceptable with practice As for the interface a left mouse button could initiate forward motion while the wheel could adjust top speed control key for reverse Right button could control camera movement while the middle button could be linked to the stop command The Caps Lock could engage and disengage robot motion control via the mouse This application is in early development stages and hopefully will be included in GRASP in the future 90 5 14 3 Suggested Navigation Interface The following figure represents the possible application that could be useful addition to the lab It can use services provided by RCCI with additional video technology The application 1s similar to one used by some recent I Robot CoWorker could be cool 53 File Tools Help TEXT TO SPEECH ENTER KEY SENDS TEXT TO SYNTHESIZER Plauen snares coca rarae Aue cooks mary ouca nem Figure 5 13 Navigation Application Suggestion Mock up STATUS Xj LY 156 GOAL EX ES OPTIONS Pm GRIPPER
352. xampleML 33 SbExampleMLT 38 SbGripperML 41 SbMotionML 52 SbMsgListener 58 SbRobotML 62 SbSaphiraML 66 SbServerML 70 SbSoundsMLT 82 SbStateML 85 init SbManagerT 46 initMsgHandler SbManagerT 46 lock ArMutex 8 msgPtr Vector SbManagerT 47 read SbSocket 77 readString SbSocket 77 registerListener SbManagerT 46 runThread ArASyncTask 6 SbExampleMLT 38 SbSoundsMLT 82 SbActionGoto 12 SbActionML 15 SbActionML 17 88 addMsgType 18 fire 17 getMsgTypes 17 sendMsgToHandler 18 SbActionMove 19 SbActionRotate 22 SbCameraSONYML 24 addMsgType 27 fire 26 getMsgTypes 26 sendMsgToHandler 26 SbCameraVCC4ML 28 addMsgType 31 fire 30 getMsgTypes 30 sendMsgToHandler 30 SbExampleML 32 addMsgType 34 fire 33 getMsgTypes 33 sendMsgToHandler 33 34 SbExampleMLT 35 addMsgType 39 fire 38 getMsgTypes 38 runThread 38 sendMsgToHandler 39 Status 38 STATUS_ALREADY_DETATCHED 38 STATUS_FAILED 38 STATUS INVALID 38 STATUS JOIN SELF 38 STATUS NO SUCH THREAD 38 STATUS NORESOURCE 38 SbGripperML 40 addMsgType 42 fire 41 getMsgTypes 41 sendMsgToHandler 41 42 SbManagerT 43 init 46 initMsgHandler 46 msgPtrVector 47 registerListener 46 Status 46 STATUS ALREADY DETATCHED 46 STATUS FAILED 46 STATUS INVALID 46 STATUS JOIN SELF 46 STATUS NO SUCH THREAD 46 STATUS NORESOURCE 46 SbMessage 48 con
353. xtended aluminum medium duty cyclorama I beam type with mill finish used for TV studio curtains Zi Figure 4 14 Blue curtain track The dimensions of the I beam track were 5 8 x 1 11 16 x 10 with a 1 8 flange A lock plate was used to join sections assuring proper alignment of track and channels The Flexi I Track was held to the wall using L braces attached ceiling clamp attached Single carrier nylon ball bearings were used to attach general S hooks which hold the curtains through metal grommets The extreme amount of blue color in the room caused the subjects on the stage to acquire a blue tint To counteract the blue hue spill onto actors he implemented a series of golden gray curtains was mounted on the periphery of the set that cancel out the blue reflection Figure 4 15 Figure 4 15 Gray curtain The floor was also prepared for Chromakey by installing blue linoleum matching the color of the blue used for the walls This is not used very often but can be advantageous in case a top to bottom shot is required 28 4 3 3 Electric Due to an unusually power hungry equipment such as lights computers chargers and Air Conditioner extra power lines outlets and a circuit breakers were required for safe operation of the lab Figure 4 16 Circuit Breaker Box The original electrical system within the room 232 was inadequate to power all of the devices and hardware needed for the theatre Moreover the room was d
354. y 193ST69I o3 quem 3 UOp qogurod ISUSISTTDENAS POE 304 JT SISTXS aAsjuTod 943 JT ses 0 uOXPOS od 3 Asy o3 burpuodssi100 210309A ey3 396 os sj3srxo edA3 JO T bea G3aasrTbsu yxSoeq usnd a3jdewaTpUuHbSW 1 lt y 1I9U9dISTTIOSNAS gt 1070214 Meu 2 dPN1TPUHPBSK 37 OJ 124938ST706su oui ppe pue ox 2843 TOF 103091 M U 938940 3SIXO 2 US90P 3 3srxuedAIlbsui i gr sjsrXo ed j bsu ey JI 192949 1euej3srTbSW oda zo Z 1243STT6SU ey xoequsnd e s39b 10329A 14241STTO0SU y 198U9ISTTIOSHAS 13 9 HuTAAS ISUOD ISUSISTTIPPL UOJSTPUTSISTPUPHODSHNAS PTOA foue ysutd ea3eTep 0 soue qsuTd 3T TT 929T9P sqsTxe eouejSsur JI PTOAPDUPLISUTSAQUII UOFISTPUTSISTPUPLHPSHAS PTOA Queuou 949 103 AI O3 XO SI 31 yury I 3NQ eges ATAA 3ou ST SIU3 ooubPjsur 3o20e qo ay sea3e sp oouejsur STOS FO ssezppe ouez3sutd uzn3 z oouejsur epos qe zO 4oaqe bursae pueubspyds Meu oueaqasurd TT 28117 9U3 AT SI 0 S0Ue3sutd 3T prOA eoueasui3eb uojqe bursae pueubsywdS uoqe oursaoT pueHbsqdSs pU9S QAHTIVO MOILIOQMISHG NOLHTONIS gt gt 3N09 ipuooos d a T p d4 puedewga puH5bswW i d utbeqdewatTpuyhsw d ae3rdeu aog3 dew 949 UT 1093094 YORA oj3o op OF 94ey perreo sr 9I9 9P urj AZ A peTTeo 3sob s1y2 PTOAYOJSTOUTSISTPUPHDSNAS WoJSeTHutsrzseTpueyhSswgqs pTOAMOJSTLUTSISTPUPHLPSNAS TUOFSTLUTSISTPUPHBSNAS 10 oueasurd uoq Tburs
355. y e eos 3 A Q lt 3T TpuS gt gt SOJJILLUIU 5 NIW 25OdJ3ILLXEU XVW 3noo feTeos A o eos gt A FT esTe io eos A e peos lt A 3tT sTeos usul 13778070 ST 3r JI 3noqe 3e8UuM orz z Eeer xro38923D Tr 0 00T ereos aTqnop 0 1924 e qnop A aTqnop 3TT2 INPpDDALIdULDAS PFOA 2 g ooTun 30oqoa 1 aou Ued lt 21aueo HOOT lt 1001 sOJgUuegutu y e eos X ZOU srT soquegxew y eTeOS X ZOU 0 lt X 3T io eos x o eos gt X gr 908 X STeOS lt X 3T sTeos usul 193e91b ST YI JI 3noqe 38UuM OJ9Z usSy2 493894D JI 0 00T e eos aTqnop 0 107 e qnop x STqnop ued TWPODAeTSWeD dS PFOA A Tnsoetl uan3jea DOIUDe Qjodgog 20 IMSS I NP339p 4 o4Xq 1 juooz3 Db lt c1 ueseo j3Insea Z 9SPO yesaq i eTeos y sogueguru ued 3 Nsez este J go z ebeg vooz 8 Aen uo peaqurad ddo IWpoOoAeaeue2qs 0 rIrooa doaxseqg uroaeu sbur33es pue squeuno2og 2 eueue r u CINpOoA aeue qs pueuuoo 9e4drj JOU TTIM gt gt a DS IOS UOS YOU ST AO jSIXO9 j US9OD jOQqOMW gt gt 109 JIOFOYIOJADSYO FT TPUS gt gt iaSsV3eb bsu gt gt PSU YITM P1SuUey Hutaty gt gt NOD 38317 pogoouuo2 oq 02 SPy 2 DTagdsvbivy1sb bsu maTs1TTt1 perreo sr pueuuoo ASATJ eu usus ora3euoa3ne eq 3r prnoys 10 M9eTSATI3 0 13aSsVbava3eb bsu gT esie exIouey ey ezr era3ur Zeen ou exyeu
356. ying thread type virtual AREXPORT ArFunctor getFunc void const Get the functor that the thread runs virtual AREXPORT void setRunning bool running Set the running value on the thread AREXPORT int lock void Lock the thread instance AREXPORT int tryLock void Try to lock the thread instance without blocking AREXPORT int unlock void Unlock the thread instance bool getBlockAllSignals void Do we block all process signals at startup Static Public Member Functions AREXPORT void init void Initialize the internal book keeping structures AREXPORT ArThread self void Returns the instance of your own thread AREXPORT void stopAll Stop all threads AREXPORT void cancelAll void Cancel all threads AREXPORT void joinAll void Join on all threads AREXPORT void yieldProcessor void Yield the processor to another thread Protected Member Functions virtual AREXPORT int doJoin void ret NULL Protected Attributes ArMutex myMutex 10 e bool myRunning State variable to denote when the thread should continue or exit bool myJoinable bool myBlockAllSignals ArFunctor myFunc ThreadType myThread ArStrMap myStrMap Static Protected Attributes e ArMutex ourThreadsMutex e MapType ourThreads Member Enumeration Documentation enum ArThread Status Enumeration values STATUS FAILED Failed to create the thread STATUS NORESOURCE Not enough system resources to create the thread
357. ype ie SEND Definition at line 56 of file SbMsgListener h References SbMsgListener addMsgType and SbMsgListener msgTypeVector Referenced by SbMsgListener addMsgType The documentation for this class was generated from the following files e SbStateML h e SbStateML cpp Robot Control and Communication Interface Page Documentation Bug ListBug List Class SbActionGoto Doesn t work as expected used Saphira instead Class SbSocket Maximum message size is 5120 bytes may work erratically with windows telnet client and crash if overrun Todo ListTodo List Class SbCameraSONYML Would be nice to figure out how to test which type of camera is connected to this robot and then create the appropriate control class Class SbCamera V CCAML Would be nice to figure out how to test which type of camera is connected to this robot and then create the appropriate control class Class SbExampleMLT Instead of making SbMsgHandlerSingleton as the singleton the manager class should be one and the reference to it should be possessed by all SbMsgListeners However this relations would be forced since listener is far away in function from manager listener gt handler gt manager another way is to add lock unlock feature to the handler Class SbMessage Improve speed by removing vector try catch throw an error with indexing or trying to convert string to an incompatible type Class SbSoundsMLT Instead of making SbMsgHan
358. ype that this listener should listen to msgHandler will read the vector containing these and register the types for messaging Parameters amp m string as a message type ie SEND Definition at line 56 of file SbMsgListener h References addMsgType and msgTypeVector Referenced by addMsgType 58 The documentation for this class was generated from the following files e SbMsgListener h e SbMsgListener cpp 59 SbRobotML Class Reference SbRobotML include lt SbRobotML h gt Inheritance diagram for SbRobotML Detailed Description Manages robot connection and checks for errors bumpers stall etc Creates and instance of ARIA s robot interface Provides connections to the real robot or simulator It checks if the robot is connected if any of its bumpers are triggered and if it has stalled It also provides and interface for activating sonar and the motors Returns some robot parameters name type etc Author Marcin Balicki Cooper Union Mechanical Engineering Date March 2004 Warning Uses SbMsgListener s SbMsgListener sendMsgToHandler Bug None Definition at line 22 of file SbRobotML h Public Types e enumconType ROBOT SIM connection type Public Member Functions e SbRobotML void Constructor e SbRobotML void Destructor e ArRobot getRobot void robot pointer accessor function e virtual void checkOnce void checks for any errors stall bumpers etc connection
359. z9 uorsueurg MSU SZTSISS STUA anoAe Tpaeo ano Ae T3es eueqaquequoo Jeuedqd3ue3uo23e o srua 9uedp Ssueaqu a3auoo uora3deox4 sMoaua3 4TUIGL proa a3eatad UOIjezri Ir3IrUT JUSUOJUO poeceiry9oeaqasaurdaid a uora3nd ox uo3eo d arurqt Ax3 SYW LNWAS MOCNIM 3USAHIMV S IU9AHSTARUO puez13To13u072snox ortrand ouezj ei 3ona3suoj TINU dPTIO JUTO4G 1 JinoAerIp1e7 Meu 3no eTpaeo INOABTPILO SuegTo13uogaesnon Meu oueqqoaquoQguTeuegTozag3uojoesnom ueqquequoo oeuegp weI 4f spu ax euea4qjTqoaquojesnopy SSET2 orTand O I UOTSIDAS rqeanqra3a3ae jou 10yaney lt d gt ZAueduoo lt d gt lt d gt p00Z 2 qub5raAdoo aubiaAdoo d lt d gt tuoradriossg lt d gt lt d gt seT3TI1 d5 burMs xeAe qaodur 1 Unser Lupp qazodurr 3Me eAe qazodurr t o13u009u ebexoed vooz 8 Aew uo peaurad esel SUe14JTO1JUOJ9SNON TOI1JUODU DAS TO1JUO0DU FDSL OAdG saou unooq Amgw urozeu sbura3a s pue sau umooq 2 SueusTTA 104 3X91l39S pa3xlIuuoo O0Z Op uorsueurg MBUPZTSPO9I119 J914 198S y IX TWUOO 1 punoabxoequoraoe es uoj3rnueSWXOog3229u2 10T093196 aobeueywrnpunoabxoegaes zT euegt ebueao a0 oo punoabsxoegaes TTouegt HINO S1U8ISUO0JPUTMSPAUSUUBTTVTPeJUOZTIOHI9SUOIINEFODSUUODATOSS 7 HSIAHHS LOSNNOO 3AXeI39Suo343ng3oeuuopAd4es sruaPadepvuor 3oe q3xpjuoo3oqoa eueg ozagaquojesnom MOU SUSISTTUOTIOYppe 3xiuo23oqoa 2 a 3aOqQO1 3aX L3 sS

Download Pdf Manuals

image

Related Search

Related Contents

工事長期瑕疵保証(裏)  Qsan Technology P110V04 disk array  SURFEX OFF-LINE User's Guide - On this page you will find various  Embedded Engineer`s Development Tool (EEDT 5.0)  取扱説明書 - 大建工業  NCT240 IP DSLAM with IAC3000 VLAN Tagging  Guía del Usuario IMPORTANTE: Lea las  Solidarité médicaments : nouvelle loi, mode d`emploi  FDCW221 Radio gateway, 009865  EP-200 Series Manual de Instalación, Operación y  

Copyright © All rights reserved.
Failed to retrieve file