Uses o obo ics o imp o e he ins umen al
skills o s uden s wi h Au ism Spec um
Diso de h ough he de elopmen o new
inclusi e con ex s (Di InTech)
NAO’s code o Di InTech
1 NAO
File 1: main.py
1# ! / us / bin / en py h on
2# −*− enco ding : UTF−8 −*−
3impo logging
4impo h eading
5impo signal
6
7 om ad_conNAO impo *
8 om ad_conAc i i y impo *
9 om ad_conCame a impo *
10
11 " " "++++++++++++++++++++++++++++++++++++++
12 Class
13 Name : G a c e u l K i l l e
14 Func i o n : d e e c h e s i g i n and s i g e m o i n i s h h e p og am
15 Pa ame e s : −
16 Re u n : −
17 ++++++++++++++++++++++++++++++++++++++" " "
18 class G ace ulKille :
19 de _ _ i n i _ _ ( s e l , mu ex ) :
20 s i g n a l . s i g n a l ( s i g n a l . SIGINT , s e l . e x i _ g a c e u l l y )
21 s i g n a l . s i g n a l ( s i g n a l . SIGTERM, s e l . e x i _ g a c e u l l y )
22 s e l . mu ex = mu ex
23 s e l . k i l l _ n o w = F a l s e
24 de exi _g ace ully(sel , *a g s ) :
25 s e l . mu ex . a c q u i e ( )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
26 s e l . k i l l _ n o w = T ue
27 s e l . mu ex . e l e a s e ( )
28
29 " " "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
30 Name : main
31 Func i o n : main o he p o j e c
32 Pa ame e s : −
33 Re u n : −
34 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−" " "
35 de main ( ) :
36 # C e a e h e mu ex
37 k i l l e _ m u e x = h e a d i n g . Lock ( )
38 message_mu ex = h e a d i n g . Lock ( )
39 cam_message_mu ex = h e a d i n g . Lock ( )
40 image_mu ex = h e a d i n g . Lock ( )
41
42 # C ea e CTRL + C d e e c o
43 k i l l e = G a c e u l K i l l e ( k i l l e _ m u e x )
44
45 # C ea e he l o g i l e
46 l o g g i n g . b a s i c C o n i g ( i l e n a m e = ’ myapp . l og ’ , l e e l = l o g g i n g . INFO
, o ma = ’%( c e a e d ) %(message ) s ’ )
47 # TODO: g i e h e l o g g i n g o h e a d s o show an e o o
c o n n e c i o n
48
49 # C e a e h e TADs
50 ad_NAO = TAD_conNAO( loggin g , message_mu ex , image_mu ex ,
cam_message_mu ex )
51 a d _ a c i i y = TAD_conAc i i y ( l og gi ng , k i l l e , k i l l e _ m u e x
, message_mu ex , ad_NAO )
52 ad_ c ame a = TAD_conCame a_Image ( l ogging , k i l l e ,
k i l l e _ m u e x , image_mu ex , ad_NAO )
53 ad_com_came a = TAD_conCame a ( l og gi ng , k i l l e , k i l l e _ m u e x
, cam_message_mu ex , ad_NAO )
54
55 # C ea e he a c i i y h e a d
56 l o g g in g . i n o ( " Main : b e o e u nnin g h e a d a c i i y " )
57 a d _ a c i i y . s a ( )
58 l o g g in g . i n o ( " Main : u n ning h e a d a c i i y " )
59
60 # C e a e h e came a h e a d
61 l o g g i n g . i n o ( " Main : b e o e u nn ing h e a d came a " )
62 ad_ c ame a . s a ( )
63 l o g g i n g . i n o ( " Main : u nn ing h e a d came a " )
64
65 # C e a e h e com came a h e a d
66 l o g g i n g . i n o ( " Main : b e o e u nn ing h e a d com_came a " )
67 ad_com_came a . s a ( )
68 l o g g i n g . i n o ( " Main : u nn ing h e a d com_came a " )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
69
70 # Main loo p
71 k i l l e _ m u e x . a c q u i e ( )
72 while no k i l l e . k i l l _ n o w :
73 k i l l e _ m u e x . e l e a s e ( )
74 ad_NAO . mo o ( )
75
76 k i l l e _ m u e x . a c q u i e ( )
77 k i l l e _ m u e x . e l e a s e ( )
78
79 # Wai h e h e a d o end
80 l o g g i n g . i n o ( " Main : w a i o h e h e a d s o i n i s h " )
81 a d _ a c i i y . j o i n ( )
82 ad_ c ame a . j o i n ( )
83 ad_com_came a . j o i n ( )
84 l o g g i n g . i n o ( " Main : a l l done " )
85
86 i __name__ == " __main__ " :
87 main ( )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
File 2: ad_conAc i i y.py
1# ! / us / bin / en py h on
2# −*− enco ding : UTF−8 −*−
3"""
/////////////////////////////////////////////////////////////////////////////
4Name : a d _ c o n A c i i y . py
5F un c i o n : F i l e w i h h e TAD h a makes h e s o c k e c o n n e c i o n
w i h h e a c i i y .
6L as m o d i i e d : 0 1 /0 1 /2 0 23
7C ea e d by : SCV
8/////////////////////////////////////////////////////////////////////////////
"""
9
10
11 " " "++++++++++++++++++++++++++++++++++++++
12 Lib a ies
13 ++++++++++++++++++++++++++++++++++++++" " "
14 # Gene al
15 impo s u b p o c e s s
16 impo socke
17 impo h eading
18
19 " " "++++++++++++++++++++++++++++++++++++++
20 ENUM
21 ++++++++++++++++++++++++++++++++++++++" " "
22 class STATE ( ) :
23 INIT_CONNECTION = 0 # I n i s o c k e
24 WAIT_MESSAGE = 1 # Wai a message om h e a c i i y
25 WAIT_TO_RESPONSE = 2 # Wai u n i l h e u s e a ns we s
26 SEND_MESSAGE = 3 #Send a message o h e a c i i y
27
28 " " "++++++++++++++++++++++++++++++++++++++
29 Class
30 ++++++++++++++++++++++++++++++++++++++" " "
31
32 class TAD_conAc i i y ( h e a d i n g . Th ead ) :
33
34 MAX_TIMES_TRYING_TO_RECONNECT = 5
35
36 " " "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
37 Name : _ _ i n i _ _
38 Func i o n : i n i o he c l a s s
39 Pa ame e s : l o g g i n g : w i e s i n a l o g i l e
40 k i l l e : d e e c o o CTRL + C
41 k i l l e _ m u e x : mu ex o h e k i l l e
42 message_mu ex : mu ex o h e message
43 ad_NAO : nao c l a s s
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
44 Re u n : −
45 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−" " "
46 de _ _ i n i _ _ ( s e l , l og gi ng , k i l l e , k i l l e _ m u e x ,
message_mu ex , ad_NAO ) :
47 supe ( TAD_conAc i i y , s e l ) . _ _ i n i _ _ ( g oup=None , a g e =
None ,
48 name=None , e b o s e =None )
49 sel . logging = logging
50 s e l . k i l l e = k i l l e
51 s e l . k i l l e _ m u e x = k i l l e _ m u e x
52 sel . message_mu ex = message_mu ex
53 s e l . ad_NAO = ad_NAO
54 # S o c k e C e a e
55 s e l . s e e _ s o c k e = s o c k e . s o c k e ( s o c k e . AF_INET , s o c k e
.SOCK_STREAM)
56 # s e l . s e e _ s o c k e . s e i m e o u ( 5 . 0 )
57 s e l . hos _name = s o c k e . ge hos name ( )
58 s e l . h o s _ i p = s o c k e . ge ho s by name ( s e l . hos _name )
59 # C o nnec i on o a c i i y
60 s e l . h o s _ i p = aw_inpu ( " I n o d u c e h i s compu e IP (
d e a u l = 1 9 2 . 1 6 8 . 1 . 1 0 4 ) : n " )
61 i s e l . h o s _ i p == " " :
62 s e l . h o s _ i p = " 1 9 2 . 1 6 8 . 1 . 1 0 4 "
63 p in ( ’HOST IP : ’ , s e l . h o s _ i p )
64 s e l . p o = 8080
65 s e l . s o c k e _ a d d e s s = ( s e l . h o s _ip , s e l . p o )
66 # S o c k e Bind
67 s e l . s e e _ s o c k e . bind ( s e l . s o c k e _ a d d e s s )
68 s e l . s a e = STATE . INIT_CONNECTION
69
70 " " "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
71 Name : mo o
72 Func i o n : mo o o h e c l a s s
73 Pa ame e s : −
74 Re u n : −
75 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−" " "
76 de un ( s e l ) :
77 s e l . k i l l e _ m u e x . a c q u i e ( )
78 while no s e l . k i l l e . k i l l _ n o w :
79 s e l . k i l l e _ m u e x . e l e a s e ( )
80 y :
81 i s e l . s a e == STATE . INIT_CONNECTION :
82
83 # S o ck e L i s e n
84 s e l . s e e _ s o c k e . l i s e n ( 5 )
85 s e l . c l i e n _ s o c k e , s e l . add = s e l .
s e e _ s o c k e . a c c e p ( )
86 # TODO: T y i i wo ks
87 # s e l . c l i e n _ s o c k e . s e i m e o u ( 5 . 0 )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
88 s e l . l o g g i n g . i n o ( " A c i i y : Ac cep ed " )
89 s e l . message_mu ex . a c q u i e ( )
90 i s e l . ad_NAO . message == "OK 0 " :
91 s e l . s a e = STATE .SEND_MESSAGE
92 e l i s e l . ad_NAO . message == " " :
93 s e l . s a e = STATE .WAIT_MESSAGE
94 else :
95 s e l . s a e = STATE . WAIT_TO_RESPONSE
96 s e l . message_mu ex . e l e a s e ( )
97
98 e l i s e l . s a e == STATE .WAIT_MESSAGE:
99 s e l . message_mu ex . a c q u i e ( )
100 # TODO: T y i i wo ks
101 s e l . c l i e n _ s o c k e . s e b l o c k i n g ( 0 )
102
103 s e l . ad_NAO . message = s e l . c l i e n _ s o c k e .
e c ( 5 0 0 ) . decode ( " u −8 " )
104 i s e l . ad_NAO . message != −1:
105 s e l . l o g g i n g . i n o ( " A c i i y : R ecei ed
: " + s e l . ad_NAO . message . decode ( " hex
" ) )
106 else :
107 s e l . ad_NAO . message = " "
108 # i s e l . ad_NAO . message [ 0 : 2 ] . decode ( " hex " )
== ’E ’ :
109 # s e l . s a e = STATE . INIT_CONNECTION
110 # e l s e :
111 # s e l . s a e = STATE . WAIT_TO_RESPONSE
112 i s e l . ad_NAO . message [ 0 : 2 ] . s i p ( ) . decode ( "
hex " ) == ’F ’ :
113 s e l . k i l l e . k i l l _ n o w = T ue
114
115 s e l . message_mu ex . e l e a s e ( )
116 s e l . s a e = STATE . WAIT_TO_RESPONSE
117
118
119 e l i s e l . s a e == STATE . WAIT_TO_RESPONSE :
120 s e l . message_mu ex . a c q u i e ( )
121 i s e l . ad_NAO . message == "OK 0 " . encode ( ’ hex
’ ) :
122 s e l . s a e = STATE .SEND_MESSAGE
123 e l i s e l . ad_NAO . message == "CONTINUE 0 " .
encode ( ’ hex ’ ) :
124 s e l . ad_NAO . message = " "
125 s e l . s a e = STATE .WAIT_MESSAGE
126 e l i s e l . ad_NAO . message == "SOMETHING 0 " .
encode ( ’ hex ’ ) :
127 s e l . c l i e n _ s o c k e . send ( "PP 0 " . encode ( ’
hex ’ ) )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
128 s e l . ad_NAO . message = " "
129 s e l . s a e = STATE .WAIT_MESSAGE
130 s e l . message_mu ex . e l e a s e ( )
131
132 e l i s e l . s a e == STATE .SEND_MESSAGE:
133 s e l . c l i e n _ s o c k e . send ( "OK 0 " . encode ( ’ hex ’ ) )
134 p in ( " A c i i y : S en : OK" )
135 s e l . l o g g i n g . i n o ( " A c i i y : S en : OK" )
136 s e l . message_mu ex . a c q u i e ( )
137 s e l . ad_NAO . message = " "
138 s e l . message_mu ex . e l e a s e ( )
139 s e l . s a e = STATE .WAIT_MESSAGE
140 exce p Run i meE o :
141 s e l . l o g g i n g . e o ( " A c i i y : D i s co nn ec e d " )
142 p in ( "ERROR, Dis c o nnec e d om h e a c i i y . . . n
" )
143 s e l . s a e = STATE . INIT_CONNECTION
144 exce p s o c k e . e o as e :
145 i s e l . ad_NAO . message == "OK 0 " . encode ( ’ hex ’ ) :
146 s e l . s a e = STATE .SEND_MESSAGE
147 else :
148 s e l . s a e = STATE .WAIT_MESSAGE
149 s e l . message_mu ex . e l e a s e ( )
150 s e l . c l i e n _ s o c k e . s e b l o c k i n g ( 1 )
151
152
153 s e l . k i l l e _ m u e x . a c q u i e ( )
154
155 s e l . k i l l e _ m u e x . e l e a s e ( )
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
File 3: ad_conCame a.py
1# ! / us / bin / en py h on
2# −*− enco ding : UTF−8 −*−
3"""
/////////////////////////////////////////////////////////////////////////////
4Name: ad_conCame a . py
5F un c i o n : F i l e w i h h e TAD h a makes h e s o c k e c o n n e c i o n o
send images om
6 h e NAO came a .
7L as m o d i i e d : 3 0 /0 1 /2 0 23
8C ea e d by : SCV
9/////////////////////////////////////////////////////////////////////////////
"""
10
11
12 " " "++++++++++++++++++++++++++++++++++++++
13 Lib a ies
14 ++++++++++++++++++++++++++++++++++++++" " "
15 # Gene al
16 impo s u b p o c e s s
17 impo socke
18 impo pickle
19 impo s uc
20 impo h eading
21
22 " " "++++++++++++++++++++++++++++++++++++++
23 ENUM
24 ++++++++++++++++++++++++++++++++++++++" " "
25 class STATE ( ) :
26 INIT_CONNECTION = 0 # I n i s o c k e
27 SEND_IMAGE = 1 # Send a image o he came a i s i o n
28 CHECK_MESSAGE = 2 #Check message o h e a c i i y
29 WAIT_RESPONSE = 3
30
31 " " "++++++++++++++++++++++++++++++++++++++
32 Class
33 ++++++++++++++++++++++++++++++++++++++" " "
34
35 class TAD_conCame a_Image ( h e a d i n g . Th ead ) :
36
37 MAX_TIMES_TRYING_TO_RECONNECT = 5
38
39 " " "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
40 Name : _ _ i n i _ _
41 Func i o n : i n i o he c l a s s
42 Pa ame e s : l o g g i n g : w i e s i n a l o g i l e
43 k i l l e : d e e c o o CTRL + C
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
44 k i l l e _ m u e x : mu ex o h e k i l l e
45 image_mu ex : mu ex o h e images
46 ad_NAO : nao c l a s s
47 Re u n : −
48 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−" " "
49 de _ _ i n i _ _ ( s e l , l og gi ng , k i l l e , k i l l e _ m u e x ,
image_mu ex , ad_NAO ) :
50 supe ( TAD_conCame a_Image , s e l ) . _ _ i n i _ _ ( g oup=None ,
a g e =None ,
51 name=None , e b o s e =None )
52 sel . logging = logging
53 s e l . k i l l e = k i l l e
54 s e l . k i l l e _ m u e x = k i l l e _ m u e x
55 s e l . image_mu ex = image_mu ex
56 s e l . ad_NAO = ad_NAO
57 # S o c k e C e a e
58 s e l . s e e _ s o c k e = s o c k e . s o c k e ( s o c k e . AF_INET , s o c k e
.SOCK_STREAM)
59 # s e l . s e e _ s o c k e . s e i m e o u ( 5 . 0 )
60 s e l . hos _name = s o c k e . ge hos name ( )
61 s e l . h o s _ i p = s o c k e . ge ho s by name ( s e l . hos _name )
62 # s e l . h o s _ i p = " 1 9 2 . 1 6 8 . 1 . 1 0 4 "
63 p in ( ’HOST IP : ’ , s e l . h o s _ i p )
64 s e l . p o = 9999
65 s e l . s o c k e _ a d d e s s = ( s e l . h o s _ip , s e l . p o )
66 s e l . s a e = STATE . INIT_CONNECTION
67
68 " " "−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
69 Name : un
70 Func i o n : mo o o h e c l a s s
71 Pa ame e s : −
72 Re u n : −
73 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−" " "
74 de un ( s e l ) :
75 s e l . k i l l e _ m u e x . a c q u i e ( )
76 while no s e l . k i l l e . k i l l _ n o w :
77 s e l . k i l l e _ m u e x . e l e a s e ( )
78 y :
79 i s e l . s a e == STATE . INIT_CONNECTION :
80 # S o c k e Bind
81 s e l . s e e _ s o c k e . bind ( s e l . s o c k e _ a d d e s s )
82 # S o ck e L i s e n
83 s e l . s e e _ s o c k e . l i s e n ( 5 )
84 s e l . c l i e n _ s o c k e , s e l . add = s e l .
s e e _ s o c k e . a c c e p ( )
85 # s e l . c l i e n _ s o c k e . s e i m e o u ( 5 . 0 )
86 s e l . l o g g i n g . i n o ( " Came a : Accep e d " )
87 s e l . s a e = STATE .SEND_IMAGE
88
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
126 s e l . l o g g i n g . e o ( "NAO : Can ’ c o n ne c " )
127 #Show a message
128 p in ( " Can ’ c o n n e c o NAO a IP " + s e l . i p +
" on p o " + s ( s e l . p o ) + " . n " )
129 #And i n c e a s e s i n 1 h e c o u n e o h e e o s
130 s e l . i m e s _ e i e d _ e c o n n e c += 1
131
132 # S a e o i n i h e p o x y s e q u i e d o h e i n e a c i o n
133 e l i s e l . s a e == STATE . INIT_PROXYS :
134 y :
135 # Connec o Au onomous L i e
136 s e l . au ono mousLi e = Nao_Au onomousLi e ( s e l .
session)
137 s e l . au ono mousLi e . s e _ a u o n o m o u s _ l i e (
AUTONOMOUSLIFE_STATES . DISABLED)
138 # Connec o LEDs
139 s e l . naoLeds = Nao_Leds ( s e l . s e s s i o n )
140 # Conn ec o S e n s o s
141 s e l . n a o S e n s o s = Nao_Senso s ( s e l . s e s s i o n , [
SENSORS_LIST .TOUCH] )
142 # Connec o V i s i o n
143 s e l . naoVisio n = Nao_Vision ( s e l . s e s s i o n )
144 s e l . naoVisio n . s e P e o p l e R e c o g n i i o n ( F al s e )
145 # Connec o Mo ion
146 s e l . naoMo ion = Nao_Mo ion ( s e l . s e s s i o n )
147 # Connec o Audio P l a y e
148 s e l . naoA u dioPla y e = Nao_AudioPlaye ( s e l .
s e s s i o n , " . / musi c2send . j s o n " )
149 # Connec o Speech
150 s e l . naoSpeech = Nao_Speech ( s e l . s e s s i o n )
151
152 s e l . l og g i n g . i n o ( "NAO : P oxys i n i i a l i z e d " )
153
154 # F i n a l l y , we go o h e CROUCH s a e
155 i s e l . i s T i m e :
156 s e l . s a e = STATE . CLOSE_EYES
157 s e l . i s T i m e = F al se
158 else :
159 s e l . s a e = s e l . o l d _ s a e
160
161 # I any e o happens
162 exce p Run i meE o :
163 p in ( " E o while c o n n e c i n g o p o xy s n " )
164 #Go o h e i s s a e
165 s e l . s a e = STATE . INIT_CONNECTION
166 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
167
168 # S a e o p u h e o bo i n a c ouch p o s i i o n
169 e l i s e l . s a e == STATE .CROUCH:
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
170 y :
171 s e l . o l d _ s a e = STATE .CROUCH
172
173 s e l . naoMo ion . s e S i n e s s ( 0 . 2 )
174
175 s e l . l o g g i n g . i n o ( "NAO : C ouch p o s i i o n " )
176
177 #We change h e s a e o GET_IMAGE
178 s e l . s a e = STATE .GET_IMAGE
179
180
181 # I an e o happens
182 exce p Run i meE o :
183 #Go o h e i s s a e
184 s e l . s a e = STATE . INIT_CONNECTION
185 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
186
187 # S a e o g e h e image om NAO and i n d i c a e i i s
socke
188 e l i s e l . s a e == STATE .GET_IMAGE:
189 y :
190 s e l . o l d _ s a e = STATE . GET_IMAGE
191 s e l . image_mu ex . a c q u i e ( )
192 # Ge h e image
193 s e l . image = s e l . naoVisio n . ge _openc _image ( )
194 s e l . image_mu ex . e l e a s e ( )
195
196 #Change he s a e and go o CHECK_ACTION
197 s e l . s a e = STATE .CHECK_ACTION
198
199 # I an e o happens
200 exce p Run i meE o :
201 #Go o h e i s s a e
202 s e l . s a e = STATE . INIT_CONNECTION
203 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
204
205 # S a e o check i h e e i s a message om h e a c i i y
206 e l i s e l . s a e == STATE .CHECK_ACTION:
207 y :
208 s e l . o l d _ s a e = STATE .CHECK_ACTION
209 s e l . message_mu ex . a c q u i e ( )
210 i s e l . message == " " :
211 s e l . message_mu ex . e l e a s e ( )
212 s e l . s a e = STATE .GET_IMAGE
213 e l i s e l . message == "OK 0 " . encode ( ’ hex ’ ) :
214 s e l . message_mu ex . e l e a s e ( )
215 s e l . s a e = STATE .GET_IMAGE
216 else :
217 p in (" ecei ed")
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
218 p in ( s e l . message . s i p ( ) . decode ( " hex " ) )
219
220 i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’A’ :
221 s e l . s a e = STATE . DO_ANTICIPATORY_KEY
222 s e l . cam_message_mu ex . a c q u i e ( )
223 s e l . cam_message = s e l . message [ 0 : 2 ] .
s i p ( ) . decode ( " hex " )
224 s e l . cam_message_mu ex . e l e a s e ( )
225
226 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’T ’ :
227 s e l . m e s sage_2 _ a l k = s e l . message [ 2 : ] .
s i p ( ) . decode ( " hex " )
228 s e l . s a e = STATE .TALK
229
230 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’H’ :
231 s e l . s a e = STATE .CHECK_TOUCH_HAND
232
233 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’D’ :
234 s e l . m e s sage_2 _ a l k = s e l . message [ 2 : ] .
s i p ( ) . decode ( " hex " )
235 s e l . song_dance = s e l . m essage _ 2 _ alk .
s p l i ( ’+ ’ )
236 s e l . s a e = STATE .DANCE_SAMBA
237
238 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’F ’ :
239 s e l . s a e = STATE . DELETE_AUDIOS
240
241 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’E ’ :
242 s e l . s a e = STATE . OPEN_EYES
243
244 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’S ’ :
245 s e l . s a e = STATE .STAND_UP
246
247 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’B ’ :
248 s e l . s a e = STATE .WAVE
249
250 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " )
== ’ I ’ :
251 s e l . m e s sage_2 _ a l k = s e l . message [ 2 : ] .
s i p ( ) . decode ( " hex " )
252 s e l . s a e = STATE . VOICE_IMITATION
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
253
254 s e l . message = " "
255 s e l . message_mu ex . e l e a s e ( )
256
257 # I an e o happens
258 exce p Run i meE o :
259 #Go o h e i s s a e
260 s e l . s a e = STATE . INIT_CONNECTION
261 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
262
263 # S a e o pe o m h e a n i c i p a o y key
264 e l i s e l . s a e == STATE . DO_ANTICIPATORY_KEY :
265 y :
266 s e l . o l d _ s a e = STATE . DO_ANTICIPATORY_KEY
267 s e l . l o gg i ng . i n o ( "NAO : A n i c i p a o y key " )
268 # I n i h e mo emen
269 s e l . naoMo ion . pe o mDe inedMo emen (
DEFINED_MOVEMENTS_CHOREGRAPH.
INITIAL_MOVE_INTERACTION)
270 # Tu n o h e l e d s o h e e y e s
271 s e l . naoLeds . a d e (NAMES_LEDS_GROUPS . EYES_FULL ,
0 . 0 , 0 . 5 , F a l s e )
272 # Tu n on h e l e d s o h e e y e s
273 s e l . naoLeds . a d e (NAMES_LEDS_GROUPS . EYES_FULL ,
1 . 0 , 0 . 5 , F a l s e )
274 # Tu n o h e l e d s o h e e y e s
275 s e l . naoLeds . a d e (NAMES_LEDS_GROUPS . EYES_FULL ,
0 . 0 , 0 . 5 , F a l s e )
276 # Tu n on h e l e d s o h e e y e s
277 s e l . naoLeds . a d e (NAMES_LEDS_GROUPS . EYES_FULL ,
1 . 0 , 0 . 5 , F a l s e )
278 s e l . message_mu ex . a c q u i e ( )
279 s e l . message = "CONTINUE 0 " . encode ( ’ hex ’ )
280 s e l . message_mu ex . e l e a s e ( )
281 # Pu h e head w i h a d e e m i n e d a n gl e
282 s e l . naoMo ion . mo eJoi n sToAngles ( [ JOINTS .
HEAD_PITCH] , [ 0 . 2 1 ] , 0 . 1 ) # head l o o k i n g down
a an a n gl e 1 2 .2 deg
283 s e l . s a e = STATE .WAIT_CAM_RESPONSE_OR_END_WAIT
284 # I an e o happens
285 exce p Run i meE o :
286 #Go o h e i s s a e
287 s e l . s a e = STATE . INIT_CONNECTION
288 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
289
290 e l i s e l . s a e == STATE .WAIT_CAM_RESPONSE_OR_END_WAIT:
291 # Send message o a c i i y o i n d i c a e i can
con inue
292 s e l . o l d _ s a e = STATE .
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
WAIT_CAM_RESPONSE_OR_END_WAIT
293 s e l . message_mu ex . a c q u i e ( )
294 i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " ) == ’V
’ :
295 s e l . cam_message_mu ex . a c q u i e ( )
296 s e l . cam_message = s e l . message [ 0 : 2 ] . s i p ( )
. decode ( " hex " )
297 s e l . cam_message_mu ex . e l e a s e ( )
298 s e l . message = "OK 0 " . encode ( ’ hex ’ )
299 #And go back o h e g e image s a e
300 s e l . s a e = STATE .GET_IMAGE
301 e l i s e l . message [ 0 : 2 ] . s i p ( ) . decode ( " hex " ) ==
’A’ :
302 s e l . message = "SOMETHING 0 " . encode ( ’ hex ’ )
303 s e l . s a e = STATE . DO_ANTICIPATORY_KEY
304 s e l . message_mu ex . e l e a s e ( )
305 s e l . cam_message_mu ex . a c q u i e ( )
306 i s e l . cam_message == "OK 0 " :
307 s e l . message_mu ex . a c q u i e ( )
308 s e l . message = "OK 0 " . encode ( ’ hex ’ )
309 s e l . message_mu ex . e l e a s e ( )
310 #And go back o h e g e image s a e
311 s e l . s a e = STATE .GET_IMAGE
312 s e l . cam_message_mu ex . e l e a s e ( )
313
314 s e l . image_mu ex . a c q u i e ( )
315 # Ge h e image
316 s e l . image = s e l . naoVisio n . ge _openc _image ( )
317 s e l . image_mu ex . e l e a s e ( )
318
319
320
321
322 # S a e o a l k
323 e l i s e l . s a e == STATE .TALK:
324 y :
325 s e l . o l d _ s a e = STATE .TALK
326 s e l . l o g g i n g . i n o ( "NAO : Taked : " + s e l .
message_2_ alk )
327 s e l . naoSpeech . anim_say ( s e l . messa g e_2_ alk ,
T ue , CONFIGURATION .CONTEXTUAL)
328 # Send message o a c i i y o i n d i c a e i can
con inue
329 im e . s l e e p ( 2 )
330 s e l . message_mu ex . a c q u i e ( )
331 s e l . message = "OK 0 " . encode ( ’ hex ’ )
332 s e l . message_mu ex . e l e a s e ( )
333 # Pu h e head w i h a d e e m i n e d a n gl e
334 s e l . naoMo ion . mo eJoi n sToAngles ( [ JOINTS .
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
HEAD_PITCH] , [ 0 . 2 1 ] , 0 . 1 ) # head l o o k i n g down
a an a n gl e 1 2 .2 deg
335 #And go back o h e g e image s a e
336 s e l . s a e = STATE .GET_IMAGE
337
338 # I an e o happens
339 exce p Run i meE o :
340 #Go o h e i s s a e
341 s e l . s a e = STATE . INIT_CONNECTION
342 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
343
344 #TODO: Makes no s e n s e i h e au onomous l i e i s
d e s a c i a e d ! !
345 # S a e o che ck i h e hand has been ouched
346 e l i s e l . s a e == STATE .CHECK_TOUCH_HAND:
347 #TODO:
348 y :
349 s e l . o l d _ s a e = STATE .CHECK_TOUCH_HAND
350 # Ge h e s e n s o s ou ch ed
351 s e n s o s _ o u c h e d = s e l . n aoSenso s . ouch .
check_ ouch_senso s_s a us (T ue)
352 p in (senso s_ ouched )
353 #TODO: m i a s i o c a ma !
354 s e n s o s _ o u c h e d = T ue
355 i s e n s o s _ o u c h e d != F a l s e :
356 #TODO: che ck i h e hand has been ouc h ed as
senso s_ ouched is a lis
357 # Check i a l u e s :
358 #LHand / Touch / L e
359 #LHand / Touch / Back
360 #LHand / Touch / R i g h
361 #RHand / Touch / L e
362 #RHand / Touch / Back
363 #RHand / Touch / R i g h
364 # a e h e e u n e d
365 ouched = T ue
366 i o u ched :
367 s e l . l o g g i n g . i n o ( "NAO : Hand o uc h ed
" )
368 #And go back o h e g e image s a e
369 s e l . s a e = STATE .GET_IMAGE
370 ime . s l e e p ( 1 0 )
371 #TODO: send a message o h e a c i i y
372 ime . s l e e p ( 2 )
373 s e l . message_mu ex . a c q u i e ( )
374 s e l . message = "OK 0 " . encode ( ’ hex ’ )
375 s e l . message_mu ex . e l e a s e ( )
376
377 # I an e o happens
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
378 exce p Run i meE o :
379 #Go o h e i s s a e
380 s e l . s a e = STATE . INIT_CONNECTION
381 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
382
383 # S a e o dance he samba
384 e l i s e l . s a e == STATE .DANCE_SAMBA:
385 #TODO:
386 y :
387 s e l . o l d _ s a e = STATE .DANCE_SAMBA
388 s e l . l o g g i n g . i n o ( "NAO : Dance " )
389 # I n i song
390 s e l . n ao Aud i oP lay e . p l a y _ a u d i o ( s e l . song_d ance
[ 0 ] + " . wa " )
391
392 # I n i h e mo emen
393 s e l . naoMo ion . pe o mDe inedMo emen ( s e l .
song_dance [ 1 ] )
394 #TODO: w a i i m e
395 im e . s l e e p ( 2 0 )
396 s e l . naoA udi oPla ye . s o p _ a u d i o ( )
397
398 # I n d i c a e o he a c i i y h a i has i n i s h e d
399 im e . s l e e p ( 2 )
400 s e l . message_mu ex . a c q u i e ( )
401 s e l . message = "OK 0 " . encode ( ’ hex ’ )
402 s e l . message_mu ex . e l e a s e ( )
403
404 #And go back o h e g e image s a e
405 s e l . s a e = STATE .GET_IMAGE
406
407 # I an e o happens
408 exce p Run i meE o :
409 #Go o h e i s s a e
410 s e l . s a e = STATE . INIT_CONNECTION
411 s e l . l o g g i n g . e o ( "NAO : D is co n n e c e d " )
412
413 # S a e o d e l e e h e a u dios i n case i i s g oing o end
414 # he comunica ion
415 e l i s e l . s a e == STATE . DELETE_AUDIOS :
416 y :
417 s e l . o l d _ s a e = STATE . DELETE_AUDIOS
418 s e l . naoA u dioPla y e . d e l e e _ a l l _ a u d i o s _ i n _ o b o ( )
419 s e l . s a e = STATE .END
420 exce p Run i meE o :
421 p in ( " Could no e a s e h e a u dio s i n s i d e NAO n " )
422 s e l . s a e = STATE .END
423
424 # S a e o end
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
425 e l i s e l . s a e == STATE .END:
426 s e l . o l d _ s a e = STATE .END
427 pass
428
429 # S a e o u n on h e e y e s
430 e l i s e l . s a e == STATE . CLOSE_EYES :
431 s e l . o l d _ s a e = STATE . CLOSE_EYES
432 s e l . l o g g i n g . i n o ( "NAO : Eyes c l o s e d " )
433 s e l . naoLeds . u n _ o _ g o u p (NAMES_LEDS_GROUPS.
EYES_FULL )
434 s e l . naoLeds . s e _ i n e n s i y (NAMES_LEDS_GROUPS .
EYES_FULL , 0 )
435
436 s e l . s a e = STATE .CROUCH
437
438 # S a e o u n on h e e y e s
439 e l i s e l . s a e == STATE . OPEN_EYES :
440 s e l . o l d _ s a e = STATE . OPEN_EYES
441 s e l . naoLeds . u n _ o n _ g ou p (NAMES_LEDS_GROUPS.
EYES_FULL )
442 s e l . naoLeds . s e _ i n e n s i y (NAMES_LEDS_GROUPS .
EYES_FULL , 1 )
443 s e l . l o g g i n g . i n o ( "NAO : Eyes opened " )
444 # Send message o a c i i y o i n d i c a e i can
con inue
445 im e . s l e e p ( 2 )
446 s e l . message_mu ex . a c q u i e ( )
447 s e l . message = "OK 0 " . encode ( ’ hex ’ )
448 s e l . message_mu ex . e l e a s e ( )
449
450 s e l . s a e = STATE .GET_IMAGE
451
452 # S a e o s a n d up h e o b o
453 e l i s e l . s a e == STATE .STAND_UP :
454 s e l . o l d _ s a e = STATE . STAND_UP
455 # S an ds h e o b o
456 s e l . naoMo ion . go ToPo s u e (ROBOT_POSTURES .STAND)
457 #And make i a l i e
458 s e l . naoMo ion . u nOnO B e a hAnima ion ( T ue )
459 s e l . l o g g i n g . i n o ( "NAO : S a nd p o s i i o n " )
460
461 # Send message o a c i i y o i n d i c a e i can
con inue
462 im e . s l e e p ( 2 )
463 s e l . message_mu ex . a c q u i e ( )
464 s e l . message = "OK 0 " . encode ( ’ hex ’ )
465 s e l . message_mu ex . e l e a s e ( )
466
467 # Pu h e head w i h a d e e m i n e d a n gl e
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
468 s e l . naoMo ion . mo eJoi n sToAngles ( [ JOINTS . HEAD_PITCH
] , [ 0 . 2 1 ] , 0 . 1 ) # head l o o k i n g down a an angle
12.2 deg
469
470 s e l . s a e = STATE .GET_IMAGE
471
472 # S a e o mo e h e a m s a y i n g good_bye
473 e l i s e l . s a e == STATE .WAVE:
474 s e l . o l d _ s a e = STATE .WAVE
475 s e l . naoMo ion . pe o mDe inedMo emen (
DEFINED_MOVEMENTS_CHOREGRAPH.WAVE)
476 s e l . l o g g i n g . i n o ( "NAO : Wa e p e o m ed " )
477
478 # Send message o a c i i y o i n d i c a e i can
con inue
479 im e . s l e e p ( 2 )
480 s e l . message_mu ex . a c q u i e ( )
481 s e l . message = "OK 0 " . encode ( ’ hex ’ )
482 s e l . message_mu ex . e l e a s e ( )
483
484 #TODO: CANT GO HERE BECAUSE THE HAND STOPS SUDDENTLY
!
485 # Pu h e head w i h a d e e m i n e d a n gl e
486 # s e l . naoMo ion . m o e J o in sToAng l e s ( [ JOINTS .
HEAD_PITCH] , [ 0 . 2 1 ] , 0 . 1 ) # head l o o k i n g down a
an a n g l e 12.2 deg
487
488 s e l . s a e = STATE .GET_IMAGE
489
490 # S a e o i m i a e a o i c e
491 e l i s e l . s a e == STATE . VOICE_IMITATION :
492 s e l . o l d _ s a e = STATE . VOICE_IMITATION
493 s e l . n ao Aud i oP lay e . p l a y _ a u d i o ( s e l . m e ss ag e _ 2 _ al k +"
. wa " )
494
495 # Pu h e head w i h a d e e m i n e d a n gl e
496 s e l . naoMo ion . mo eJoi n sToAngles ( [ JOINTS . HEAD_PITCH
] , [ 0 . 2 1 ] , 0 . 1 ) # head l o o k i n g down a an angle
12.2 deg
497
498 im e . s l e e p ( 2 0 )
499 s e l . naoA udi oPla ye . s o p _ a u d i o ( )
500
501 # I n d i c a e o he a c i i y h a i has i n i s h e d
502 im e . s l e e p ( 2 )
503 s e l . message_mu ex . a c q u i e ( )
504 s e l . message = "OK 0 " . encode ( ’ hex ’ )
505 s e l . message_mu ex . e l e a s e ( )
506
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).
507 #And go back o h e g e image s a e
508 s e l . s a e = STATE .GET_IMAGE
This esea ch was suppo ed by he Spanish Na ional P og am o P ojec s o
Knowledge Gene a ion 2022 wi h he e e ence PID2022-140284OB-I00, o he
P og am o Boos Scien i ic and Technical Resea ch and i s T ans e , om he
Spanish Na ional Plan o Scien i ic, Technical, and Inno a ion Resea ch
2021-2023, i led “Uses o obo ics o imp o e he ins umen al skills o s uden s
wi h au ism spec um diso de h ough he de elopmen o new inclusi e
con ex s. (Di InTech)”. (AEI/FEDER, UE).