چگونه در ده دقیقه، یک فراجستجوگر بسازیم؟

چندین روز پیش، شخصی در لینکدین خبری از ساخته شدن یک فراجستجوگر داده بود که به شخصه برای من موضوع جالبی بوده همیشه. منتها طبق عادات مالوف هموطنانمون، بزرگ حرف زدن و زیادی مبالغه‌کردن هم می‌شد در اون حرف‌ها دید. چیزی که ساخته شده بود اینطور توضیح داده شده بود که:

فراجستجوگر ساخته شده توسط تیمی از بهترین متخصصان که در یک دانشگاه خاص درس خواندند (که خب همین جملات، بدون توجه به اسم دانشگاه و موسسه و … معمولا پرچم قرمزی در بحث تولیدات ملی و بومیه) به این شکل کار می‌کنه که نتایج جستجو رو از وبسایت‌های معروف به موتور جست و جو مانند گوگل، داک‌داک‌گو، بینگ و … برمی‌گردونه و رد پای شما رو از جست و جو حذف می‌کنه.

وقتی این رو خوندم، فهمیدم که با یک فراجستجوگر یا metasearch engine روبرو هستیم و خب گفتم بد نیست که با هم یکی بسازیم. قبل از هرچیزی، اگر نمی‌دونید فراجستجوگر چیه، می‌تونید به اینجا مراجعه کنید و تعریفش رو بخونید. برای ادامه دادن به مطالعه این مطلب هم لازمه که کمی لینوکس و مدیریت سیستم بلد باشید.

آشنایی با searx

خب searx یک نرم‌افزار آزاده که هدفش، بهبود تجربه جست و جوی افراد در اینترنته. این نرم‌افزار، به دو صورت قابل دسترسیه. اول این که تعدادی نمونه عمومی داره (لینک نمونه‌های عمومی در اینجا قرار گرفته) و هم به صورت «خودمیزبان» یا همون self-hosted. متد خودمیزبان یعنی شما به عنوان کاربر، می‌تونید به صورت رایگان یا با پرداخت پول (بسته به مدل کسب و کار و توسعه اون پروژه خاص)، اون نرم‌افزار رو روی هاست یا سرور مورد نظر خودتون نصب کنید.

در این آموزش، قراره با کمک یک سرور لینوکسی، یک زیردامنه، یک کارساز وب و داکر؛ یک فراجستجوگر ساده رو به کمک هم بیاریم بالا. به این شکل می‌تونیم هم یک نمونه عمومی عرضه کنیم، هم این که دیتای کمتری در اختیار شرکت‌هایی مثل گوگل یا مایکروسافت بذاریم.

ساخت فراجستجوگر

برای ساخت فراجستجوگر خودمون، نیاز به موارد زیر داریم:

  • سرور لینوکسی. من شخصا از اوبونتو ۱۸.۰۴ استفاده کردم. برای پردازش بهتر نتایج و نخوردن به مشکل تحریم و …؛ بهتره که سرور داخل ایران هم نباشه. به همین خاطر، من از سرور هلند استفاده کردم (کشور محل قرارگیری سرور، کاملا به خودتون بستگی داره).
  • یک دامنه یا زیردامنه. برای این پروژه من از searx[dot]haghiri75[dot]com استفاده کردم.
  • کمی آشنایی به کارهای سروری. اگر آشنایی خاصی ندارید هم مهم نیست! در حد لزوم در این مطلب یاد می‌گیرید 😁

آماده‌سازی سرور

وقتی سرور رو از ارائه‌دهنده سرور تحویل گرفتیم (با فرض اوبونتو/دبیان بودنش) نیازه تا اول لیست بسته‌های اون رو کمی به روز کنیم:

sudo apt update

و اگر لازم شد، کل سیستم‌عامل هم یک بار به‌روز می‌کنیم:

sudo apt full-upgrade

بعد از این که این اتفاقات رخ داد، یک دور سرور رو ریبوت می‌کنیم و پس از بوت شدن مجدد و اتصال به سرور، چند بسته نصب می‌کنیم:

sudo apt install nginx python3-certbot-nginx docker.io

خب ببینیم این بسته‌ها برای چین؟

  • nginx: این بسته، وب‌سرور یا همون کارساز وب ماست. چیزی که باعث میشه ما بتونیم بدون مشکل، یک وبسایت یا نرم‌افزار تحت وب رو استفاده کنیم.
  • python3-certbot-nginx: از این بسته استفاده خواهیم کرد تا یک گواهی SSL برای وبسایت خودمون بگیریم.
  • docker.io: داکر یک سیستم کانتینرییزشنه. در واقع نرم‌افزارها رو داخل بسته‌های کوچولو قرار می‌ده و همه ملزوماتشون اونجاست. فقط تنها موردی که داره، اینه که از هسته سیستم عامل استفاده می‌کنه برای مدیریت فرایندها (در واقع تفاوتش با ماشین مجازی همینه).

حالا ما سرور رو آماده کردیم. گام بعدی چیه؟

آماده‌سازی دامنه

برای آماده‌سازی دامنه، کافیه که یک رکورد A با IP سرور مورد نظر ایجاد کنید. البته در بعضی موارد از CNAME هم میشه استفاده کرد اما اینجا چون سرور از وبسایت جدا بود، یک A تعریف شد. بعد از این که رکورد رو تعریف کردیم، باید ۵ تا ۱۰ دقیقه صبر کنیم تا عموم DNS Server های اینترنت، بشناسنمون. بعدش می‌تونیم به کارمون ادامه بدیم.

حالا ۱۰ دقیقه گذشت و یک قهوه هم خوردیم و آماده‌ایم که مرحله بعدی رو انجام بدیم.

دریافت گواهی SSL

خب دریافت گواهی SSL هم بسیار ساده‌ست. کافیه این دستور رو در سرور اجرا کنید (و دامنه من رو با دامنه خودتون عوض کنید):

sudo certbot -d searx.haghiri75.com --nginx

در این مرحله شما باید آدرس ایمیلتون رو وارد کنید و به چند سوال هم پاسخ بدید. در کل همه‌چیز با یک wizard اتفاق میفته و نیازی نیست که زحمت زیادی بکشید. فقط یک نکته مهم رو اینجا باید بهش دقت کنیم. اون نکته اینه که certbot اینجا خودش nginx رو استارت می‌زنه. در مرحله بعدی، نیاز داریم که به این مهم توجه کنیم.

راه‌اندازی داکر و نصب فراجستجوگر

خب اول از همه کاربر خودمون (که در اینجا فرض می‌گیریم نام کاربریش هم Ubuntu ئه) رو به گروه داکر اضافه می‌کنیم:

sudo usermod -aG docker ubuntu

بعدش کافیه یک بار از نشست SSH خارج شیم و دوباره به سرور SSH بزنیم. دقت داشته باشید که این بخش الزامی نیست؛ ولی اگر شما این کار رو نکنید بعدا در استفاده از داکر، نیازمند دسترسی ریشه خواهید بود. نگران دسترسی ریشه هم نباشید چون با sudo قابل حله.

بعد از این مورد، ایمیج searx رو از رجیستری داکر دریافت می‌کنیم:

docker pull searx/searx

خب در حال حاضر، اتفاق خاصی می‌افته؟ خیر. فقط تصویری که searx روی اون نصب شده، روی سرور ما دانلود شده.

بعد از اون، نیازداریم که یک کانتینر براش بسازیم. برای این، مراحل زیر رو طی می‌کنیم:

mkdir searx
cd searx
docker run --rm -d -v ${PWD}/searx:/etc/searx -p 8080:8080 -e BASE_URL=http://localhost:8080/ searx/searx

خب تبریک به شما، الان شما یک فراجستجوگر دارید.

اما صبر کنید! هنوز نمی‌تونیم بهش دسترسی پیدا کنیم. پس چه کنیم؟

پراکسی معکوس برای دسترسی به محتوا

خب اینجا نیاز داریم که از پراکسی معکوس استفاده کنیم. انجینکس علاوه بر این که وب‌سروره، پراکسی معکوس هم هست و خیلی از ما عمدتا از قابلیت پراکسی معکوسش برای اجرای نرم‌افزارهای تحت وبمون استفاده می‌کنیم. مثل همین آموزش دپلوی کردن یک پروژه ریلز نوشته بودم (لینک). دونستن این که پراکسی معکوس چیه و چی کار می‌کنه، از ملزومات پایه‌ای مدیریت سیستم و همچنین دواپس و CI/CD محسوب میشه (جهت اطلاعات بیشتر این پست رو بخونید).

پس اگر می‌خواهید در آینده مهندس DevOps بشید، شاید بتونید این مطلب رو فرصتی برای تمرین یکی از مواردش قرار بدید. فکر کنم زیاد صحبت کردیم. بریم سر اصل مطلب. برای این که بتونیم از پراکسی معکوس استفاده کنیم، کافیه که اول با ادیتور دلخواهمون، فایل پیکربندی رو باز کنیم:

sudo nano /etc/nginx/sites-enabled/default

و سپس دنبال دامینمون بگردیم (در نانو با ctrl + W میشه). بعد از این که دامینمون رو پیدا کردیم کافیه بخش location / رو پیدا کنیم (معمولا دو سه خط پایین‌تر از دامین و تنظیماتشه) و سپس به این شکل درش بیاریم:

location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                proxy_pass http://localhost:8080;
        }

و بعدش هم کافیه که دستور زیر رو اجرا کنیم تا انجینکس ریستارت بشه:

sudo systemctl restart nginx

استفاده از فراجستجوگر شخصی

سخن آخر

نرم‌افزار searx مثل هر نرم‌افزار متن‌باز و آزاد دیگری، قابلیت شخصی‌سازی داره و همین موضوع که با زبان پایتون نوشته شده هم نشون میده که شخصی‌سازیش احتمالا از چیزی که فکر می‌کنیم، ساده‌تره. به همین خاطر می‌تونیم به سادگی این نرم‌افزار رو تغییر بدیم که مطابق میل خودمون کار کنه و طبیعتا آموزشش هم در اینترنت وجود داره.

موضوع بعدی اینه که فراجستجوگرها، علاوه بر این که می‌تونن در حفظ حریم شخصی و … موثر باشند، می‌تونن کاملا بیزنسی هم کار کنند. مثلا هرکلید واژه‌ای که سرچ کنید رو صرفا در موضوع خاصی دنبالش بگردند. مثلا شما اگر سرچ کنید «سیب‌زمینی» فقط در وبسایت‌هایی که وبینار میزبانی می‌کنند دنبالش بگرده. وقتی سرچ می‌کنید «قشم» فقط در وبسایت‌های گردشگری دنبالش بگرده و الی آخر.

در این مطلب قصد داشتم این موضوع رو نشونتون بدم که داشتن یک موتور جست و جوی امن، اونقدرا که فکر می‌کنید سخت نیست و با کمک نرم‌افزارهای آزاد، به سادگی می‌تونید یکی رو خودتون بسازید. در پایان مطلب، جا داره از شما بابت خوندن این مطلب تشکر کنم. همچنین، ممنون میشم مطالب و خط‌خطی‌های من رو در ویرگول هم بخونید و نظر بدید 🙂



Share

هرآنچه باید در مورد خودروهای خودران بدانید!

مدتی پیش بود که خبری شنیدم مبنی بر عرضه یک مینی‌تراک خودران از طرف کمپانی سوئدی ولوو (لینک) و به قدری برام جذاب بود که خواستم بسیار بیشتر از گذشته، در مورد مفهوم «خودروی خودران» تحقیق و تفحص کنم و حتی ازشون بنویسم. نتیجه شد که الان در حال نوشتن این مطلب هستم.

ابتدا که بحث خودروهای خودران خیلی مطرح شد، سال ۲۰۱۴ بود و تسلا قابلیت «خلبان خودکار» (یا البته بهتره در این مورد خاص، بگیم راننده خودکار) رو برای خودروهاش معرفی کرد. اگر می‌خواهید در مورد اتوپایلت تسلا بیشتر بدونید هم می‌تونید این لینک رو مطالعه کنید. ابتدا خیلی برام سوال بود که چطور میشه یک وسیله نقلیه مثل یک خودرو، کامیون و …؛ خودران باشه و نیازی به هیچ اپراتوری نداشته باشه. مثلا یکی از چیزایی که به ذهن من (و احتمالا خیلی‌های دیگه) می‌رسه، بینایی ماشین باشه. این درسته اما همه‌ش نیست.

خلاصه من دست به کی‌برد شدم تا در مورد خودروهای خودران و چیزهایی که ازشون فهمیدم به تفصیل بنویسم و تجربه و دانشم رو منتقل کنم.

هوش مصنوعی چطور یاد می‌گیره رانندگی کنه؟

خب برای این که این سوال رو پاسخ بدیم، اول لازمه که به یک سوال خیلی خیلی مهم‌تر پاسخ بدیم. ما انسان‌ها چطور یاد می‌گیریم رانندگی کنیم؟ اگر در این پاسخ از پروسه آموزش و آزمون آیین‌نامه راهنمایی و رانندگی صرف نظر بشه، ما پشت یک خودرو می‌نشینیم که یک دست کلاچ ترمز اضافه داره، روی اون تابلو و نشان مخصوصی نصب شده که به باقی راننده‌ها اطلاع میده که این ماشین مخصوص آموزشه و در نهایت، مربی ما به ما میگه که چطور ماشین رو راه بندازیم، کجا دنده عوض کنیم و کجا راهنما بزنیم و این‌ها.

بعد از این که مراحل آموزش و آزمون شهری تمام شه و ما موفق به اخذ گواهینامه رانندگی بشیم، تازه وارد فضای «واقعی» می‌شیم. البته در فضاهای واقعی اوضاع کمی تفاوت داره و تا حد زیادی اتفاقا بی‌ریخته. می‌پرسید چرا؟ چون که دیگه خودروی ما هیچ نشانی نداره که به بقیه بگه ما تازه‌کاریم و مربی هم کنار دستمون نیست (از حوصله این بحث خارجه اما یادم میاد چندسال پیش قرار بود برچسب «راننده تازه‌کار» به مدت سه‌ماه روی خودروی نوراننده‌ها چسبانده بشه) و احتمال زیاد اشتباهات کوچک ما حین رانندگی باعث بشن که مضطرب‌تر بشیم و اشتباهات بزرگی مرتکب شیم.

حالا از این بگذریم، کم کم یک موضوع مهم رو یاد می‌گیریم. موضوع چیه؟ این که «تابلوها، علائم، فرمان پلیس و … همه مهم هستند و باید بهشون توجه کرد و احترام گذاشت. اما مهم‌تر از آن‌ها، دیدن رانندگی باقی راننده‌هاست». اینجا اهمیت این موضوع کم کم روشن میشه که بفهمیم همه ما، قرار نیست عین هم رانندگی کنیم. خیلی‌ها هستند که برای هضم دل‌تنگی‌هاشون تخت‌گاز میرن. خیلی‌ها هستند که در لاین سرعت با سرعت ۴۰ تا میرن. خیلی‌ها هم درست رانندگی می‌کنن ولی راهنما نمیزنن و … . در واقع ما با تجربه می‌فهمیم که رفتار راننده‌ها چطوره و این رفتار رو آنالیز می‌کنیم و به نتایجی می‌رسیم که باعث میشن ما راننده بهتری بشیم.

حالا که در مورد رانندگی انسان اطلاعات داریم، ببینیم هوش مصنوعی چطور یاد می‌گیره؟ خیلی ساده‌ست. هوش مصنوعی هم ابتدا یک مربی نیاز داره. این مربی کیه؟ این مربی انسانه. یک نفر می‌نشینه پشت فرمان، یک دور مثلا مسیری رو طی می‌کنه و بعد از اون، هوش مصنوعی بر اساس اون دیتایی که دریافت کرده، شروع می‌کنه به آموزش دادن مدل خودش. سپس، این مدل مورد آزمون و خطا قرار می‌گیره تا به کیفیت لازم و راضی‌کننده برسه. بعد از اونه که این مدل، روی خودرو، مینی‌کامیون و … سوار میشه و یک سری آزمایش جدی‌تر روش صورت می‌گیره و در نهایت به محصول نهایی تبدیل میشه.

خودروهای خودران چه داده‌ای نیاز دارند؟

طبیعتا هرجا بحثی از هوش مصنوعی در میان باشه، نیازمند داده هستیم. گاهی این داده‌ها رو نیازه که خودمان پیدا و درست کنیم، گاهی هم باید این داده‌ها رو از جاهای مختلفی جمع‌آوری کنیم (برای این که با موضوع جمع‌آوری داده آشنا بشید هم می‌تونید این پست رو بخونید) و خب در مورد خودروهای خودران، ما نیاز داریم که داده اولیه و خام رو لااقل خودمون تهیه کنیم. باقی داده چی؟ می‌تونیم اون رو از طریق کسانی که خودروهای ما رو می‌خرند جمع‌آوری کنیم و مدل‌های خودمون رو بهبود بدیم.

حالا سوال پیش میاد که ما دقیقا چه داده‌ای نیاز داریم که به خودروی خودران بفهمونیم که باید خودران باشه؟ در این بخش از پست، سعی کردم تا حد امکان ساده‌ش کنم و توضیحش بدم. البته در نظر داشته باشید که این بخش ممکنه ناقص باشه و در آینده، کم کم می‌تونه بهبود پیدا کنه.

داده‌های علائم راهنمایی و رانندگی

خب هوش مصنوعی هم عین خودمون نیازمند اینه که آیین‌نامه رو بلد باشه. در واقع باید بتونه علائم رو تشخیص بده. البته مهم اینجا اینه که این علائم چی هستند، و بعد با باقی داده‌ای که دریافت می‌کنه بتونه در مورد نحوه رانندگی تصمیم‌گیری کنه. پس ابتدا لازمه که هزاران عکس مختلف از علائم رانندگی داشته باشیم و یک مدل خاص (معمولا از نوع Object Detection که خب می‌تونیم از مدل‌هایی مثل YOLO براش استفاده کنیم) براش آموزش بدیم. البته موضوعاتی مثل رنگ‌بندی علائم در کشورهای مختلف هم می‌تونه مساله‌ساز باشه که خب بعدتر می‌تونیم روی اون تصمیم بگیریم. مثلا یکی از این مسائل، «آبی» بودن چراغ سبز در کشور آلمانه. شما چه راه‌حلی براش دارید؟

تصویر مسیر

طبیعتا نیاز داریم که تصویری از مسیری که طی کردیم داشته باشیم. چرا؟ چون این تصویر هم به ما از موانع احتمالی، تابلوها، چراغ قرمز و … اطلاعات خوبی میده. این اطلاعات، با اطلاعاتی که از مدل قبلی کسب می‌کنیم می‌تونه به ما کمک کنه که در مسیری خاص، بهتر رانندگی کنیم. البته این هم باید در نظر بگیریم همین که در مسیری هستیم احتمال این که خودروهای دیگری هم حضور داشته باشند هست. این احتمال رو باید در نظر گرفت و طبیعتا تصویر مسیر می‌تونه از وضعیت ترافیک یک مسیر خاص هم به ما اطلاعات بده. همچنین از نوع خودروهای حاضر در مسیر، و از همه مهم‌تر، نحوه رانندگی سایرین در اون مسیر.

زاویه فرمان، میزان فشار روی پدال گاز و دفعات و شدت فشرده شدن ترمز

این هم مورد مهمیه. در واقع ما وقتی با خودرویی رانندگی می‌کنیم روی چند چیز همیشه کنترل داریم. در کیسی که ما راننده یک خودروی دستی هستیم، علاوه بر فرمان و گاز و ترمز، روی کلاچ و دنده هم کنترل داریم. اما از اونجا که خودروهای خودران عموما برقی هستند، جای «دنده عوض کردن» با Speed Control عوض شده (البته این به معنای نداشتن گیربکس یا دیفرانسیل نیست، فقط انتقال قدرت شکل دیگری به خودش گرفته) و به همین خاطر کلاچ و دنده دیگه حضور خاصی در این پروسه ندارند.

اما هنوز برای ما مهمه که چطور باید فرمان رو بچرخونیم، چطور گاز بدیم و چطور ترمز بگیریم. همه این موارد، موقع جمع‌آوری دیتا، جمع میشه. حالا موضوع اینه که این‌ها چه اهمیتی برای ما دارند؟ یکی از موارد مهم اینجا اینه که مدل ما می‌تونه بفهمه وقتی در یک فاصله خوبی ازش ماشینی قرار نگرفته، می‌تونه گاز بده. ولی وقتی ماشین مثلا در فاصله ده‌متریش قرار داره، باید کمتر گاز بده. وقتی ماشین در فاصله پنج‌متریشه، باید یواش یواش ترمز بگیره تا هم با اون ماشین برخورد نکنه و هم به ماشین‌های پشتی اطلاع بده که جلو راه بسته‌س و از این دست چیزها.

فاصله

خودروهای خودران، علاوه بر تعداد زیادی دوربین، تعداد خوبی سنسور هم برای تشخیص فواصل دارند. این سنسورها یا از نوع LiDAR (یا Light detection and ranging) یا فراصوت (Ultrasonic) یا حتی RADAR (که مخفف Radio detection and ranging است) یا ترکیبی از این موارد هستند. با استفاده از این سنسورها، فاصله از موانع، عابرین پیاده، خودروهای دیگر و … ثبت و ضبط میشه و بعدا به مدل هوش‌مصنوعی ما می‌تونه کمک بده که اینجا چه خبر بوده و در موقعیت مشابه، چه تصمیماتی باید اتخاذ کنه.

موارد دیگر

بسته به شرایطی که قراره خودروی خودران ما درش کار کنه، ما ممکنه نیاز به داده‌های دیگری داشته باشیم. به همین دلیل، از اسم بردن تک تک موارد اجتناب کرده و اگر نیاز شد بعدتر در مطلبی جداگانه در موردش خواهم نوشت.

قوانین استفاده از خودروهای خودران

در ایران هنوز بحثی از حضور خودروهای خودران مطرح نشده (و احتمالا از اونجایی که عمده این خودروها در حال حاضر ساخت امریکا هستند و هنوز حرفی از نمونه‌های ژاپنی، کره‌ای، چینی، آلمانی و … به میان نیست حالا حالاها هم مطرح نشه) و صرفا یک خبر از مخالفت پلیس راهور (لینک) با این موضوع به دست من رسیده ولی در باقی کشورها، بخصوص امریکا؛ به شدت روی قوانینی که مربوط به وسایل نقلیه خودران باشه کار میشه.

در حال حاضر، هیچ کشوری «خودروی ۱۰۰٪ بدون راننده» رو نمی‌پذیره و حتی خودروهایی که «بدون حضور راننده» به حرکت درمیان، نیازمند این هستند که توسط اپراتور کنترل بشن. این مورد، برای اینه که خودروها بدون هیچ راننده و کنترلی ممکنه موجب تصادف و آسیب به سایر خودروها، ساختمان‌ها و افراد بشن.

در مورد Auto Pilot هم که معمولا با حضور راننده‌ست، حتی قانون اینه که خودروها باید مطمئن بشن که راننده از اتوپایلت برای خوابیدن، بازی کردن با گوشی و … استفاده نمی‌کنه. مثلا در ویدئویی که در مورد تسلای مدل ۳ ساخته شده (لینک) نشون داده میشه که خودرو خودش ازتون میخواد که هر یک دقیقه یک بار، فرمان رو تکون بدید تا بفهمه که بیدارید یا حواستون پرت نشده. در ویدئوی دیگر هم نشون داده شد که اگر شما به هشدارهای ماشین توجه نکنید، ماشین خاموش میشه و حتی نمی‌ذاره چندین ساعت از اتوپایلت استفاده کنید (لینک) و تمامی این موارد، تابع قوانینیه که برای این خودروها چیده شدند.

در حال حاضر شاید قوانین شفافی برای خودران‌ها نداشته باشیم، اما قطعا چندین سال دیگر این مورد بهبود پیدا می‌کنه و قوانین جهان‌شمولی براشون تدوین خواهد شد. چرا که خودران‌ها قراره آینده صنعت حمل و نقل باشند.

جمع‌بندی و سخن آخر

تقریبا از وقتی تسلا انقدر انقلابی عمل کرد اخبارش رو دنبال می‌کردم. اما چیزی که هیچوقت در عمق و بطنش فرو نرفته بودم، تکنولوژی‌هایی بود که در محصولاتش استفاده می‌کرد. به همین خاطر، پیش نیامده بود که در مورد خودروهای خودران چیزی بنویسم (با این که سال‌ها پیش در حال کار روی پروژه خودروی دست‌ساز بودم و این پیگیری می‌تونست بهم در ساخت پروژه خودم هم کمک کنه). خلاصه پس از مدت‌ها این رو نوشتم و وقتشه یک جمع‌بندی ریزی داشته باشیم.

همونطوری که فهمیدیم، خودروهای خودران ترکیبی از چند علم و چند صنعت هستند. شاید تلالو مهندسی مکانیک، مهندسی برق و مهندسی کامپیوتر و همکاریشون با یکدیگر در همین حوزه خلاصه شده باشه. ایده خودرویی که نیاز به راننده نداشته باشه البته ایده جدیدی نیست و تقریبا از دهه ۷۰ میلادی، این ایده وجود داشته. موضوع مهم اجرا و پیاده‌سازی بوده که خب در سال‌های اخیر شاهدش بودیم. در ادامه فهمیدیم که خودروهای خودران نیازمند داده‌های زیادی هستند و از قضا این داده‌ها رو نمیشه به سادگی از اینترنت دانلود کرد و به خورد یک مدل داد و نیاز داریم که مدل رو با داده‌های به‌روز و به‌هنگام؛ آموزش بدیم.

بحث قانون هم در این میان به پیش کشیده شد و خب این موضوع، حداقل جایی که تاثیر مستقیم روی زندگی انسان مشهوده، بحث بسیار مهمیه و من شخصا امیدوارم شاهد نگارش قانون‌های درست و حسابی برای این موضوع باشیم.

سخن آخر هم این که مثل همیشه ممنونم از این که وقت گذاشتید و این مطلب رو خوندید و امیدوارم که این مطلب، مفید فایده واقع شده باشه 🙂

Share