در این مطلب، ویدئو برنامه نویسی ربات NAO با پایتون [وبینار] با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,879 –> 00:00:05,009
سلام به همه من به ما بپیوندید من یک
2
00:00:05,009 –> 00:00:07,649
مهندس برنامه کاربردی میدانی هستم که در Le Brun
3
00:00:07,649 –> 00:00:10,469
برای اروپا کار می کنم در این وبینار
4
00:00:10,469 –> 00:00:13,200
در مورد Python صحبت می کنیم.
5
00:00:13,200 –> 00:00:16,139
6
00:00:16,139 –> 00:00:16,770
7
00:00:16,770 –> 00:00:20,850
8
00:00:20,850 –> 00:00:25,050
ربات را برنامهریزی کنید من سعی خواهم کرد از مثالهای مختلف استفاده کنم تا کاربردهای
9
00:00:25,050 –> 00:00:28,170
مختلفی را که
10
00:00:28,170 –> 00:00:30,210
میتوانید با
11
00:00:30,210 –> 00:00:32,599
Python SDK داشته باشید
12
00:00:36,030 –> 00:00:38,290
، بهسرعت در مورد
13
00:00:38,290 –> 00:00:41,110
شرکت در جبر ربات صحبت
14
00:00:41,110 –> 00:00:43,330
15
00:00:43,330 –> 00:00:45,700
کنیم. در سراسر
16
00:00:45,700 –> 00:00:49,770
جهان، ما رهبر جهانی
17
00:00:49,770 –> 00:00:53,350
رباتیک انسان نما در مدرسه هستیم،
18
00:00:53,350 –> 00:00:56,290
مطالب زیادی را برای معلمان ارائه می دهیم تا
19
00:00:56,290 –> 00:00:59,260
در کلاس درس از آنها استفاده کنند و سعی می کنیم
20
00:00:59,260 –> 00:01:01,360
بسته های بیشتری را با نیازهای مدرسه تطبیق
21
00:01:01,360 –> 00:01:04,510
دهیم. می توانید سه نمونه از
22
00:01:04,510 –> 00:01:06,640
کتاب های پر از تمرین را اینجا ببینید. برای یادگیری در
23
00:01:06,640 –> 00:01:08,800
مورد فن آوری در مورد نحوه برنامه ریزی
24
00:01:08,800 –> 00:01:11,470
ربات، این کتاب ها در دسترس شما هستند
25
00:01:11,470 –> 00:01:16,330
تا کلاس های خود را بر اساس تمرینات کامل ایجاد کنید
26
00:01:16,330 –> 00:01:18,770
،
27
00:01:18,770 –> 00:01:21,890
همانطور که احتمالاً اکنون می دانید که یک
28
00:01:21,890 –> 00:01:25,609
انسان نما است. obot دارای 25 درجه
29
00:01:25,609 –> 00:01:29,149
آزادی است، بنابراین 25 موتور، دارای
30
00:01:29,149 –> 00:01:31,429
حسگرهای زیادی است، بسیاری از محرکها که
31
00:01:31,429 –> 00:01:34,189
برای تعامل با انسان طراحی شدهاند،
32
00:01:34,189 –> 00:01:36,259
بنابراین میتواند آنچه را که میگویید درک کند
33
00:01:36,259 –> 00:01:39,229
تا به شما پاسخ دهد به 19
34
00:01:39,229 –> 00:01:41,569
زبان مختلف که میتوانید به
35
00:01:41,569 –> 00:01:44,479
هر شبکهای متصل شوید. با استفاده از Wi-Fi و کاملاً
36
00:01:44,479 –> 00:01:47,209
قابل برنامه ریزی است اگر به
37
00:01:47,209 –> 00:01:48,709
هر کاری که می توانید انجام دهید علاقه مند هستید، احتمالاً برایتان
38
00:01:48,709 –> 00:01:50,780
جالب خواهد بود که به کانال یوتیوب ما بروید در
39
00:01:50,780 –> 00:01:53,000
آنجا ویدیوهای زیادی را خواهید دید
40
00:01:53,000 –> 00:01:56,149
که اکنون با ربات ما
41
00:01:56,149 –> 00:01:57,289
نرم افزارهای مختلفی را ارائه می دهیم.
42
00:01:57,289 –> 00:01:59,420
رقص یک
43
00:01:59,420 –> 00:02:01,520
رابط گرافیکی برای برنامه نویسی بصری است
44
00:02:01,520 –> 00:02:05,119
ربات همچنین یک موتور شبیه سازی فیزیکی وب واتس ارائه می دهد
45
00:02:05,119 –> 00:02:07,069
46
00:02:07,069 –> 00:02:08,780
تا بتواند تمام فیزیک را شبیه سازی کند تمام
47
00:02:08,780 –> 00:02:11,000
تعامل با محیط برای آزمایش
48
00:02:11,000 –> 00:02:16,430
برنامه ها مانیتور یک نرم افزار کوچک برای
49
00:02:16,430 –> 00:02:18,530
تجسم هر چیزی که از
50
00:02:18,530 –> 00:02:20,989
سنسورها می آید است. از ربات و ما همچنین
51
00:02:20,989 –> 00:02:23,420
یک SDK کامل ارائه می دهیم اگر می خواهید
52
00:02:23,420 –> 00:02:25,730
اکنون با استفاده از زبان های مختلف مانند
53
00:02:25,730 –> 00:02:28,700
پایتون که ما از آن استفاده خواهیم کرد برنامه نویسی کنید. oday C++
54
00:02:28,700 –> 00:02:32,420
Java MATLAB و غیره، پس بیایید در
55
00:02:32,420 –> 00:02:33,910
معماری نرم افزار رباتی که
56
00:02:33,910 –> 00:02:37,519
اکنون لینوکس را اجرا می کند، کاوش نکنیم و علاوه بر آن،
57
00:02:37,519 –> 00:02:39,410
ما یک میان افزار ساخته ایم که اکنون به آن می گوییم
58
00:02:39,410 –> 00:02:42,799
key now key، پایه
59
00:02:42,799 –> 00:02:44,540
تمام تعاملات شما خواهد بود. با استفاده از
60
00:02:44,540 –> 00:02:47,900
ربات، این میان افزار به شما امکان دسترسی
61
00:02:47,900 –> 00:02:50,660
به ماژول های مختلف مانند DCM،
62
00:02:50,660 –> 00:02:53,660
دستگاه تصویری، دستگاه صوتی را می دهد که به
63
00:02:53,660 –> 00:02:55,849
شما امکان دسترسی به دوربین روبات ها
64
00:02:55,849 –> 00:02:59,780
، میکروفون های بلندگو را می دهد و سپس
65
00:02:59,780 –> 00:03:02,810
ماژول های زیادی را اضافه کردیم که به
66
00:03:02,810 –> 00:03:06,530
شما قدرت بیشتری می دهد. اطلاعات سطح استفاده
67
00:03:06,530 –> 00:03:09,139
از ربات به عنوان مثال ماژول تشخیص چهره
68
00:03:09,139 –> 00:03:11,660
به طور مستقیم ویژگی های چهره ها را در اختیار شما قرار می دهد
69
00:03:11,660 –> 00:03:14,440
که اکنون می توانید آنها را ببینید،
70
00:03:14,440 –> 00:03:18,410
بنابراین به جای اینکه مجبور شوید یک تصویر
71
00:03:18,410 –> 00:03:21,859
از دوربین ربات بگیرید و سپس
72
00:03:21,859 –> 00:03:23,780
تمام پردازش ها را انجام دهید تا بهترین چهره را پیدا کنید.
73
00:03:23,780 –> 00:03:26,900
ویژگیها و غیره
74
00:03:26,900 –> 00:03:28,609
ما مستقیماً
75
00:03:28,609 –> 00:03:32,000
بالاترین سطح اطلاعات را ارائه میدهیم زمانی
76
00:03:32,000 –> 00:03:33,020
که اپلیکیشن
77
00:03:33,020 –> 00:03:36,650
میسازید، از این ماژولها اطلاعات میخواهید
78
00:03:36,650 –> 00:03:38,180
و با این ماژولها ارتباط برقرار میکنید
79
00:03:38,180 –> 00:03:42,320
. به گونه ای باز کنید
80
00:03:42,320 –> 00:03:45,380
که بتوانید هر ماژول را با استفاده از
81
00:03:45,380 –> 00:03:49,340
SDK ما اضافه کنید. این ماژول ها می توانند ویژگی های جدیدی را
82
00:03:49,340 –> 00:03:51,500
به کلید now اضافه کنند و برنامه شما
83
00:03:51,500 –> 00:03:53,360
دقیقاً مانند ماژول های رسمی قادر خواهد بود به این ماژول ها دسترسی پیدا کند
84
00:03:53,360 –> 00:03:57,440
که
85
00:03:57,440 –> 00:03:59,780
در اینجا می توانیم دو کاربرد جالب پایتون را مشاهده کنیم.
86
00:03:59,780 –> 00:04:03,050
اولین مورد ایجاد برنامههای کاربردی برای
87
00:04:03,050 –> 00:04:04,790
برنامههای جاسازی شده است که ما ترجیح میدهیم از رقص استفاده کنیم،
88
00:04:04,790 –> 00:04:08,540
اما پایتون میتواند
89
00:04:08,540 –> 00:04:10,340
برای ایجاد یک برنامه در حال اجرا بر روی
90
00:04:10,340 –> 00:04:13,700
رایانه مفید باشد، دومین امکان برای استفاده از
91
00:04:13,700 –> 00:04:16,180
Python ایجاد ماژول خود و
92
00:04:16,180 –> 00:04:20,029
اضافه کردن ویژگیهای جدید به کلید now است تا
93
00:04:20,029 –> 00:04:22,550
شما را خلاصه کنیم. از Python SDK
94
00:04:22,550 –> 00:04:25,760
برای یک برنامه کنترل از راه دور که
95
00:04:25,760 –> 00:04:28,610
روی رایانه اجرا می شود استفاده می کند که از
96
00:04:28,610 –> 00:04:32,660
راه دور با ربات ارتباط برقرار می کند یا یک ویژگی جدید را
97
00:04:32,660 –> 00:04:34,520
به هیچ کلید اضافه می کند و یک ماژول جدید ایجاد می کند،
98
00:04:34,520 –> 00:04:37,460
این دو بخش است که
99
00:04:37,460 –> 00:04:38,860
امروز در مورد آن بحث
100
00:04:38,860 –> 00:04:41,600
خواهیم کرد، اجازه دهید ابتدا یک برنامهای که
101
00:04:41,600 –> 00:04:43,540
در رایانه اجرا میشود و
102
00:04:43,540 –> 00:04:46,400
با آن ارتباط برقرار میکند، اکنون باید سه
103
00:04:46,400 –> 00:04:48,740
مرحله را دنبال کنید، زمانی که میخواهید یک
104
00:04:48,740 –> 00:04:52,160
تابع را در ربات فراخوانی کنید، ابتدا باید
105
00:04:52,160 –> 00:04:54,530
t را وارد کنید. o محیط پایتون شما
106
00:04:54,530 –> 00:04:56,960
بسته ای که نشان می دهد
107
00:04:56,960 –> 00:05:01,460
از SDK کلید now استفاده خواهید کرد، سپس باید
108
00:05:01,460 –> 00:05:05,090
به یک ربات و به یک ماژول معین
109
00:05:05,090 –> 00:05:07,340
از این ربات متصل شوید، بنابراین
110
00:05:07,340 –> 00:05:09,020
آدرس IP و ماژولی را که می خواهید به آن
111
00:05:09,020 –> 00:05:11,810
متصل شوید را ارائه دهید و از چه چیزی استفاده کنید. ما یک پراکسی صدا
112
00:05:11,810 –> 00:05:14,210
می کنیم، پروکسی تمام
113
00:05:14,210 –> 00:05:16,190
ارتباطات شبکه را بر عهده خواهد داشت و به شما
114
00:05:16,190 –> 00:05:18,050
امکان دسترسی به تمام عملکردهای
115
00:05:18,050 –> 00:05:20,150
ماژولی که به آن متصل هستید را می دهد، به عنوان مثال
116
00:05:20,150 –> 00:05:22,370
در اینجا من به ماژولی به نام
117
00:05:22,370 –> 00:05:24,320
al text-to-speech متصل می شوم.
118
00:05:24,320 –> 00:05:27,380
سنتز صدای ربات شما باید
119
00:05:27,380 –> 00:05:30,410
این پروکسی را ذخیره کنید من آن را اینجا
120
00:05:30,410 –> 00:05:33,230
TTS برای تبدیل متن به گفتار نامیدم و سپس می
121
00:05:33,230 –> 00:05:35,990
توانید متدی را از این ماژول فراخوانی کنید به
122
00:05:35,990 –> 00:05:37,760
عنوان مثال متن به گفتار متدی دارد
123
00:05:37,760 –> 00:05:40,390
به نام بگویید فقط دارید برای ارائه یک
124
00:05:40,390 –> 00:05:43,190
رشته و آن فقط رشته را می خواند
125
00:05:43,190 –> 00:05:45,900
و صحبت می کند،
126
00:05:45,900 –> 00:05:48,360
بنابراین بیایید ببینیم چگونه کار می کند من از
127
00:05:48,360 –> 00:05:50,550
eclipse با ماژول by dev برای کدنویسی
128
00:05:50,550 –> 00:05:55,260
در پایتون استفاده می کنم و هههههههههههههههههههههههههه الان
129
00:05:55,260 –> 00:05:58,320
کد را کپی کردم و اینجا پیست کردم فقط باید
130
00:05:58,320 –> 00:06:06,110
IP را جایگزین کنم آدرسی که 0 20 برای
131
00:06:06,110 –> 00:06:08,970
پخش pr ogram که اکنون باید اینجا
132
00:06:08,970 –> 00:06:15,960
خوب صحبت کنیم، این اولین
133
00:06:15,960 –> 00:06:19,110
مثالی بود که میتوانیم ببینیم این برنامه
134
00:06:19,110 –> 00:06:20,790
که روی رایانه اجرا میشد از
135
00:06:20,790 –> 00:06:24,780
راه دور با ربات من صحبت میکند و
136
00:06:24,780 –> 00:06:29,130
دستور میفرستد تا چیزی بگوید و سپس فقط
137
00:06:29,130 –> 00:06:31,530
منتظر است تا دادهها مانند بازخورد بازگردند.
138
00:06:31,530 –> 00:06:36,110
گفتار به پایان رسیده است، بنابراین
139
00:06:36,110 –> 00:06:38,370
با استفاده از همان فرآیند میتوانید
140
00:06:38,370 –> 00:06:40,830
هر کاری را انجام دهید با ربات که ابتدا
141
00:06:40,830 –> 00:06:44,090
دستورات حرکت خودکار را ارسال میکند، اما
142
00:06:44,090 –> 00:06:46,550
همچنین دادهها را از ربات برمیگرداند،
143
00:06:46,550 –> 00:06:50,580
بهعنوان مثال مقادیر تصاویر حسگرها را
144
00:06:50,580 –> 00:06:52,440
از دوربینها و تمام
145
00:06:52,440 –> 00:06:55,320
پردازشهایی را که نیاز دارید روی آنها انجام دهید. مقادیر
146
00:06:55,320 –> 00:06:58,920
در رایانه بنابراین همانطور که مشاهده کردید
147
00:06:58,920 –> 00:07:01,860
ما میتوانیم هیچ صحبتی نکنیم، فقط اجرای سه
148
00:07:01,860 –> 00:07:03,350
خط کد همان
149
00:07:03,350 –> 00:07:07,350
فرآیند را با حرکت تطبیق میدهد در حالی که نه برای انجام
150
00:07:07,350 –> 00:07:10,410
چند مرحله و برای این کار دقیقاً از همان فرآیند استفاده میکنیم و
151
00:07:10,410 –> 00:07:13,200
ابتدا کد را وارد میکنیم.
152
00:07:13,200 –> 00:07:15,990
کتابخانه سپس با یک پروکسی به
153
00:07:15,990 –> 00:07:18,540
یک ماژول دیگر متصل شد، این بار
154
00:07:18,540 –> 00:07:22,650
Al motion را صدا زدیم و سپس تابعی
155
00:07:22,650 –> 00:07:25,410
از این تابع ماژول را فراخوانی کردیم، این
156
00:07:25,410 –> 00:07:28,170
به آن منتقل می شود که باید t را به آن ارائه کنید.
157
00:07:28,170 –> 00:07:31,200
مقصدی که نمیدانید به آنجا بروید
158
00:07:31,200 –> 00:07:33,990
، اکنون از شما میخواهد که یک متر به جلو حرکت کند
159
00:07:33,990 –> 00:07:37,340
و سپس متوقف شود،
160
00:07:38,110 –> 00:07:42,909
من کد را کپی کردم، بنابراین من یک پروکسی را باز میکنم
161
00:07:42,909 –> 00:07:45,250
تا حرکت همان آدرسهای IP را
162
00:07:45,250 –> 00:07:47,949
قبل از رباتم اضافه کنم.
163
00:07:47,949 –> 00:07:51,960
وسط برای جهان، پس بیایید این را بازی کنیم
164
00:07:52,740 –> 00:08:12,460
و اکنون خوب راه رفتن را ببینیم، بنابراین اکنون
165
00:08:12,460 –> 00:08:14,500
میدانیم که چگونه میتوانیم کاری کنیم که اکنون حرف
166
00:08:14,500 –> 00:08:17,199
بزنیم، اما اگر بخواهیم هر دو
167
00:08:17,199 –> 00:08:19,330
را همزمان انجام دهیم، چه میکنیم، پس
168
00:08:19,330 –> 00:08:22,770
پردازش موازی صحبت کردن را در حین راه رفتن
169
00:08:22,770 –> 00:08:25,000
انجام دهیم. فراخوانیهای موجود در کلید ما مسدود میشوند،
170
00:08:25,000 –> 00:08:27,940
به این معنی که ما منتظر میشویم
171
00:08:27,940 –> 00:08:30,580
تا توابع به پایان برسند، قبل از اجرای
172
00:08:30,580 –> 00:08:33,130
توابع بعدی
173
00:08:33,130 –> 00:08:35,229
، برای اجرای همزمان دو کار، باید چند
174
00:08:35,229 –> 00:08:38,440
175
00:08:38,440 –> 00:08:41,799
رشتهبندی انجام دهیم. پست کلمه کلیدی
176
00:08:41,799 –> 00:08:45,490
که وظیفه ایجاد یک
177
00:08:45,490 –> 00:08:47,230
موضوع را برای شما در
178
00:08:47,230 –> 00:08:50,010
اجرای تابعی که با آن همراه است، انجام می دهد،
179
00:08:50,010 –> 00:08:53,320
در اینجا کدی است که ما باید آن را
180
00:08:53,320 –> 00:08:55,570
به پروکسی های مختلف یک ربات باز کنیم، اما
181
00:08:55,570 –> 00:08:58,990
به دو ماژول مختلف مانند قبل از یک
182
00:08:58,990 –> 00:09:00,790
پراکسی برای تبدیل متن به گفتار و یک
183
00:09:00,790 –> 00:09:02,769
نماینده برای حرکت y می توانید
184
00:09:02,769 –> 00:09:04,510
کلمه کلیدی پست را که قبل از حرکت تابع اضافه شده است ببینید
185
00:09:04,510 –> 00:09:06,730
– بنابراین این حرکت خطی است که
186
00:09:06,730 –> 00:09:09,399
پست هایی که فوراً به آن منتقل می شوند برمی گردند
187
00:09:09,399 –> 00:09:11,740
و به ربات اجازه می دهد TTS را اجرا کند نه
188
00:09:11,740 –> 00:09:14,470
اینکه بگوییم که چگونه کار می کند
189
00:09:14,470 –> 00:09:17,140
من کدی را که دو پراکسی باز کرده اید کپی کردم.
190
00:09:17,140 –> 00:09:20,050
در همان ربات روی دو
191
00:09:20,050 –> 00:09:22,630
ماژول مختلف حرکت را انجام دهید – با
192
00:09:22,630 –> 00:09:25,930
پست و سپس بگویید من می توانم کار کنم بیایید
193
00:09:25,930 –> 00:09:30,990
منطقه را کاوش کنیم من دوباره این کد را اجرا می کنم
194
00:09:33,230 –> 00:09:49,560
نگاه کنید بیایید اکنون منطقه را کاوش
195
00:09:49,560 –> 00:09:52,080
کنیم اگر می خواهیم منتظر باشیم تا هر دو حرکت حرکت کنند
196
00:09:52,080 –> 00:09:55,620
و بگوییم قبل از اجرا تمام شود
197
00:09:55,620 –> 00:09:57,450
چیز دیگری پس از آن ما این
198
00:09:57,450 –> 00:10:02,160
کلمه کلیدی جدید به نام انتظار را داریم که فقط یک
199
00:10:02,160 –> 00:10:04,290
آرگومان داده شده است که رشته ایجاد شده
200
00:10:04,290 –> 00:10:06,630
توسط پست است و منتظر می ماند تا این
201
00:10:06,630 –> 00:10:10,800
طرف تمام شود قبل از اینکه اکنون
202
00:10:10,800 –> 00:10:13,230
با همان کدی که در اینجا
203
00:10:13,230 –> 00:10:16,320
یک پست ذخیره شده در اینجا می بینید به حالت گرفتگی برگردد. یک حرکت روند متغیر
204
00:10:16,320 –> 00:10:19,140
و وزنی که منتظر می ماند تا این
205
00:10:19,140 –> 00:10:20,730
موضوع حرکت کند تا به پایان برسد، بیایید
206
00:10:20,730 –> 00:10:31,380
اجرا کنیم و تمام شدن آن را ببینیم، باید
207
00:10:31,380 –> 00:10:35,900
بگوییم به مقصد
208
00:10:38,470 –> 00:10:44,110
رسیده ام، عالی به مقصد رسیده ام پس
209
00:10:44,110 –> 00:10:46,690
اکنون الف داریم ابزارهایی برای انجام
210
00:10:46,690 –> 00:10:49,240
چندین عمل به طور همزمان، من
211
00:10:49,240 –> 00:10:51,670
فقط قصد دارم به سرعت چند
212
00:10:51,670 –> 00:10:52,360
مثال
213
00:10:52,360 –> 00:10:55,810
در مورد بازگرداندن داده ها از هم اکنون مرور کنم
214
00:10:55,810 –> 00:10:58,450
تا دیدی جامع از آنچه می
215
00:10:58,450 –> 00:11:01,030
توانیم با Python IDE SDK به عنوان اولین
216
00:11:01,030 –> 00:11:04,150
مثال انجام دهیم، داشته باشیم. فقط موقعیت فعلی را چاپ کنید
217
00:11:04,150 –> 00:11:08,020
، بنابراین این کد
218
00:11:08,020 –> 00:11:10,300
به وضعیت ربات خطای ماژول متصل می
219
00:11:10,300 –> 00:11:14,080
شود و از این ماژول
220
00:11:14,080 –> 00:11:16,390
نام وضعیت فعلی را می پرسد و فقط یک
221
00:11:16,390 –> 00:11:21,130
پلیکان را روی کنسول چاپ می کند، بنابراین بیایید
222
00:11:21,130 –> 00:11:24,370
فقط بپرسیم این پست اینجا چیست.
223
00:11:24,370 –> 00:11:29,110
اجرای کد به سمت راست باید در اینجا چاپ شود
224
00:11:29,110 –> 00:11:32,920
وضعیت فعلی ایستاده است. این
225
00:11:32,920 –> 00:11:34,810
اولین و بسیار ساده تمرین در
226
00:11:34,810 –> 00:11:38,830
مورد بازگرداندن اطلاعات از ربات بود.
227
00:11:38,830 –> 00:11:41,130
228
00:11:41,130 –> 00:11:43,690
229
00:11:43,690 –> 00:11:46,600
230
00:11:46,600 –> 00:11:49,900
به نام دستگاه ویدئویی که
231
00:11:49,900 –> 00:11:52,570
از دو دوربین مراقبت می کند و دوربین مورد
232
00:11:52,570 –> 00:11:56,130
نظر من را انتخاب می کند، بنابراین یکی را که در بالا قرار دارد انتخاب
233
00:11:56,130 –> 00:11:58,900
کردم، سپس از یک ماژول خواستم تا یک تصویر برای من دریافت کند
234
00:11:58,900 –> 00:12:00,670
و من فقط آن را با عملکردهایی
235
00:12:00,670 –> 00:12:04,720
که می خواهم نمایش می دهم. اینجا ارائه
236
00:12:04,720 –> 00:12:07,390
میدهید، بنابراین بیایید سریعاً به کدی برویم که در اینجا مشاهده میکنید،
237
00:12:07,390 –> 00:12:10,470
ماژولی که من به دستگاه ویدیویی متصل
238
00:12:10,470 –> 00:12:12,970
میکنم، سپس فقط باید در
239
00:12:12,970 –> 00:12:16,380
دوربینی که میخواهم مشترک شوم و
240
00:12:16,380 –> 00:12:19,900
وضوح و فضای رنگی خاص را بخواهم، سپس
241
00:12:19,900 –> 00:12:24,220
عملکرد بسیار ساده است. تصویر دروازه و
242
00:12:24,220 –> 00:12:26,680
این تابع با استفاده از OpenCV فقط
243
00:12:26,680 –> 00:12:28,240
تابع را روی
244
00:12:28,240 –> 00:12:34,180
صفحه نمایش من نشان می دهد. اجازه دهید آن را اجرا کنیم، باید یک
245
00:12:34,180 –> 00:12:39,900
پنجره بازشو با دوربین در اینجا ببینید،
246
00:12:40,220 –> 00:12:43,380
بنابراین ما تعداد بسیار کمی از خطوط کدی هستیم که
247
00:12:43,380 –> 00:12:46,889
می توانیم یک کد دریافت کنیم. تصویر دوربین
248
00:12:46,889 –> 00:12:50,009
وضعیت دلیل است، اما دقیقاً به
249
00:12:50,009 –> 00:12:52,170
همان روشی که ما میتوانیم
250
00:12:52,170 –> 00:12:55,170
از هر سنسوری از ربات اطلاعاتی را دریافت کنیم، این میتواند
251
00:12:55,170 –> 00:12:57,540
شامل فاصله اندازهگیری شده توسط
252
00:12:57,540 –> 00:13:01,199
سونارها، دمای موتورها باشد که چه
253
00:13:01,199 –> 00:13:03,990
مقدار جریان در حال حاضر در
254
00:13:03,990 –> 00:13:06,810
هر موتوری جریان دارد. شما می توانید
255
00:13:06,810 –> 00:13:09,000
مطالعات بسیار پیشرفته ای را با داده هایی که از ربات دریافت می کنید
256
00:13:09,000 –> 00:13:14,190
تقریباً در زمان واقعی انجام دهید، من
257
00:13:14,190 –> 00:13:16,500
زمان بیشتری را برای نحوه
258
00:13:16,500 –> 00:13:20,819
برنامه نویسی برنامه ها در پایتون صرف نمی کنم، شما
259
00:13:20,819 –> 00:13:23,759
در اینجا همه پایه های آنچه
260
00:13:23,759 –> 00:13:27,540
برای دسترسی به ربات یا نیاز دارید را مشاهده کرده اید. کنترل با استفاده
261
00:13:27,540 –> 00:13:32,009
از ربات با این دو روش
262
00:13:32,009 –> 00:13:33,690
دسترسی به ربات، می توانید
263
00:13:33,690 –> 00:13:37,529
هر چیزی را برنامه ریزی کنید، بنابراین اکنون بیایید روی
264
00:13:37,529 –> 00:13:41,579
ایجاد یک ماژول جدید برای ربات تمرکز کنیم،
265
00:13:41,579 –> 00:13:44,310
اولین سوال این است که چرا یک
266
00:13:44,310 –> 00:13:47,759
ماژول ایجاد می کنید که عمدتا برای افزودن
267
00:13:47,759 –> 00:13:50,399
ویژگی های جدید به کلید فعلی است. همانطور که در
268
00:13:50,399 –> 00:13:53,040
همان ابتدا گفتم، اکنون مکعب دارای
269
00:13:53,040 –> 00:13:56,490
تعداد زیادی ماژول موجود مانند تشخیص چهره است،
270
00:13:56,490 –> 00:13:59,850
اگر بخواهیم چهره ها را
271
00:13:59,850 –> 00:14:03,300
از تصویری که برف می بیند استخراج کنیم، اما اگر می خواهید
272
00:14:03,300 –> 00:14:04,620
چیز دیگری اضافه کنید که
273
00:14:04,620 –> 00:14:07,170
وجود ندارد، باید ماژول خود را ایجاد کنید.
274
00:14:07,170 –> 00:14:11,250
و این ماژول میتواند بر اساس
275
00:14:11,250 –> 00:14:13,800
ماژولهای دیگر یا مستقیماً به دوربین دسترسی پیدا
276
00:14:13,800 –> 00:14:16,050
کند و پردازش خود را انجام دهد.
277
00:14:16,050 –> 00:14:18,400
278
00:14:18,400 –> 00:14:21,339
من فکر کردم یک مثال بسیار
279
00:14:21,339 –> 00:14:24,339
ساده استفاده از تشخیص چهره و ایجاد یک
280
00:14:24,339 –> 00:14:27,310
ماژول جدید است که تمام چهرههایی که آن را دارد را ردیابی میکند.
281
00:14:27,310 –> 00:14:31,000
از آنجایی که هیچ تغییری
282
00:14:31,000 –> 00:14:33,130
انجام نشده است، به عنوان مثال، بنابراین ما حساب را نگه میداریم،
283
00:14:33,130 –> 00:14:35,740
میتوانیم آمار همه
284
00:14:35,740 –> 00:14:40,950
چهرهها را حفظ کنیم و این ماژول جدید بر اساس
285
00:14:40,950 –> 00:14:43,510
یک ماژول موجود است که تشخیص چهره است
286
00:14:43,510 –> 00:14:47,020
که تمام تصویر را انجام میدهد.
287
00:14:47,020 –> 00:14:49,540
پردازش برای ما و این ماژول
288
00:14:49,540 –> 00:14:52,810
خود مبتنی بر یک دستگاه ویدیویی برای
289
00:14:52,810 –> 00:14:56,020
دریافت تصاویر خام از دوربین است، بنابراین ما
290
00:14:56,020 –> 00:14:58,360
به سادگی سطح جدیدی را به
291
00:14:58,360 –> 00:15:00,640
زنجیره اضافه می کنیم، سطح جدیدی از اطلاعات
292
00:15:00,640 –> 00:15:04,570
موجود برای برنامه های کاربردی در حال حاضر کلیدی
293
00:15:04,570 –> 00:15:06,760
به منظور ایجاد یک ماژول ما.
294
00:15:06,760 –> 00:15:08,680
مراحل مختلفی برای دنبال کردن دارند
295
00:15:08,680 –> 00:15:10,240
البته اولین مورد نوشتن ماژول است که این
296
00:15:10,240 –> 00:15:13,740
ماژول باید کلاسی باشد که
297
00:15:13,740 –> 00:15:17,800
از ماژول al به ارث رسیده است این کلاس
298
00:15:17,800 –> 00:15:21,100
دارای عملکردهایی است و همه اینها باید
299
00:15:21,100 –> 00:15:23,200
به هیچ کلیدی تبلیغ شو