Original Title: Lidar Based Intelligent Obstacle Avoidance System for Autonomous Ground Vehicles
Source: doi.org/10.35940/ijrte.F8029.038620
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ប្រព័ន្ធជៀសវាងឧបសគ្គឆ្លាតវៃដោយផ្អែកលើ Lidar សម្រាប់យានយន្តលើគោកស្វ័យប្រវត្តិ

ចំណងជើងដើម៖ Lidar Based Intelligent Obstacle Avoidance System for Autonomous Ground Vehicles

អ្នកនិពន្ធ៖ P. Shunmuga Perumal (Vellore Institute of Technology), M. Sujasree (Vellore Institute of Technology), K. Siddhardha (IIT Madras), K. Gokul (Samsung Research and Development Institute)

ឆ្នាំបោះពុម្ព៖ 2020, International Journal of Recent Technology and Engineering (IJRTE)

វិស័យសិក្សា៖ Robotics & Autonomous Systems

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ យានយន្តលើគោកស្វ័យប្រវត្តិ (AGV) ជួបប្រទះបញ្ហាប្រឈមក្នុងការរកឃើញ និងជៀសវាងឧបសគ្គដោយពឹងផ្អែកតែលើកាមេរ៉ា (Computer Vision) ដែលមានប្រសិទ្ធភាពទាបនៅពេលយប់ ឬមានអ័ព្ទ ខណៈប្រព័ន្ធវាយតម្លៃគន្លង 2D បែបបុរាណមានភាពយឺតយ៉ាវសម្រាប់បរិបទពេលវេលាជាក់ស្តែង (Real-time)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះស្នើឡើងនូវប្រព័ន្ធកូនកាត់ (Hybrid Vision) ដែលប្រើប្រាស់សេនស័រ Lidar ភ្ជាប់ជាមួយនឹងបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិត (Feed-forward Neural Network) ដើម្បីធ្វើសេចក្តីសម្រេចចិត្តក្នុងការបញ្ជាយានយន្ត។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Proposed ODA (Lidar + Feed-Forward Neural Network)
ប្រព័ន្ធរកឃើញនិងជៀសវាងឧបសគ្គ (ODA) ផ្អែកលើ Lidar និង Neural Network
មានល្បឿនលឿនក្នុងការធ្វើសេចក្តីសម្រេចចិត្ត និងអាចទស្សន៍ទាយទីតាំងឧបសគ្គមិនប្រក្រតីបានមុន (Proactive) ដោយជៀសវាងការប៉ះទង្គិចតាំងពីក្នុងតំបន់ R3។ ទាមទារទិន្នន័យហ្វឹកហាត់ចំនួនច្រើន (រហូតដល់ ២០០,០០០ គូទិន្នន័យ) និងទាមទារកុំព្យូទ័រដែលមានសមត្ថភាពគណនាដូចជា Raspberry Pi 3 ជាដើម។ ចំណាយពេលគណនាតិចជាងឆ្ងាយបើធៀបនឹងវិធីសាស្ត្របុរាណ និងអាចបញ្ជារថយន្តឱ្យបត់ចេញពីឧបសគ្គបានលឿននិងមានសុវត្ថិភាពខ្ពស់។
Classical 2D Collision Cone (2DCC) Approach
វិធីសាស្ត្រគណិតវិទ្យា 2D Collision Cone បែបបុរាណ
មិនត្រូវការការហ្វឹកហាត់ម៉ូដែល (No training required) និងអាចដំណើរការបានដោយពឹងផ្អែកលើរូបមន្តគណិតវិទ្យាសុទ្ធសាធ។ ដំណើរការយឺតយ៉ាវសម្រាប់ស្ថានភាពជាក់ស្តែង (Real-time) និងមិនអើពើនឹងការគម្រាមកំហែងរហូតទាល់តែរថយន្តចូលដល់តំបន់គ្រោះថ្នាក់ (R1)។ ប្រើប្រាស់ពេលវេលាគណនាយូរ និងមានហានិភ័យខ្ពស់នៃការប៉ះទង្គិចនៅពេលប្រឈមមុខនឹងឧបសគ្គដែលមានរូបរាងមិនប្រក្រតី។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះបានបញ្ជាក់យ៉ាងច្បាស់អំពីឧបករណ៍ Hardware ទំហំទិន្នន័យ និង Software ដែលត្រូវការសម្រាប់ការសាងសង់ប្រព័ន្ធពិតប្រាកដ។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅក្នុងបរិស្ថានសាកល្បងជុំវិញវិទ្យាស្ថានបច្ចេកវិទ្យា Vellore នៃប្រទេសឥណ្ឌា ដោយប្រើប្រាស់ទិន្នន័យដែលបានបង្កើតឡើង និងការសាកល្បងជាមួយរថយន្តយន្តខ្នាតតូច។ ដោយសារបរិស្ថានផ្លូវថ្នល់នៅកម្ពុជាមានភាពស្មុគស្មាញ និងមានចរាចរណ៍ចម្រុះច្រើន ម៉ូដែលនេះចាំបាច់ត្រូវតែប្រមូលទិន្នន័យហ្វឹកហាត់បន្ថែមពីបរិបទផ្លូវថ្នល់ជាក់ស្តែងនៅកម្ពុជា ទើបអាចធានាបាននូវសុវត្ថិភាពនិងភាពត្រឹមត្រូវខ្ពស់។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ទោះបីជាមិនទាន់អាចប្រើលើផ្លូវសាធារណៈបានភ្លាមៗក្តី បច្ចេកវិទ្យានេះមានសក្តានុពលខ្ពស់ក្នុងការយកមកអនុវត្តនៅកម្ពុជា ពិសេសក្នុងវិស័យឧស្សាហកម្ម និងកសិកម្មដែលមានបរិវេណគ្រប់គ្រងបាន។

ជារួម ការចាប់ផ្តើមសាកល្បងប្រព័ន្ធ Lidar-based AGV ក្នុងខ្នាតតូចសម្រាប់បរិស្ថានដែលមានការគ្រប់គ្រង (Controlled environments) គឺជាជំហានចាប់ផ្តើមដ៏មានប្រសិទ្ធភាពសម្រាប់កម្ពុជាក្នុងការឈានចូលបដិវត្តន៍ឧស្សាហកម្ម ៤.០។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. ជំហានទី ១៖ សិក្សាមូលដ្ឋានគ្រឹះផ្នែក Hardware និង Sensors: និស្សិតគួរចាប់ផ្តើមរៀនពីការតភ្ជាប់និងប្រើប្រាស់កុំព្យូទ័រខ្នាតតូច Arduino Mega 2560 និង Raspberry Pi ជាមួយសេនស័រ LiDAR (ឧទាហរណ៍ Lidar Lite V3 ឬ RPLiDAR A1) ដើម្បីប្រមូលទិន្នន័យវាស់ចម្ងាយ និងមុំ (Distance-Angle data) របស់វត្ថុ។
  2. ជំហានទី ២៖ សិក្សាពីការរៀបចំទិន្នន័យ និងចំណុចទិដ្ឋភាព (FOV Mapping): អភិវឌ្ឍកូដដោយប្រើប្រាស់ Python ដើម្បីទទួលយកទិន្នន័យពី Lidar ហើយបំប្លែងវាទៅជាការវាយតម្លៃតំបន់គ្រោះថ្នាក់ ដោយបែងចែកជា ៣ ចំណែក (Straight FOV, Left FOV, Right FOV) ដូចដែលបានរៀបរាប់ក្នុងឯកសារស្រាវជ្រាវ។
  3. ជំហានទី ៣៖ អភិវឌ្ឍនិងហ្វឹកហាត់ម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI Training): ប្រើប្រាស់ Framework ដូចជា TensorFlowPyTorch ដើម្បីសាងសង់ម៉ូដែល Feed-Forward Neural Network (មាន 242 inputs, 80 hidden nodes, និង 4 outputs)។ បន្ទាប់មក ធ្វើការហ្វឹកហាត់ម៉ូដែលនេះជាមួយទិន្នន័យចម្ងាយ/មុំ ដែលប្រមូលបានដើម្បីកំណត់សកម្មភាពទៅមុខ ឈប់ ឆ្វេង ឬស្តាំ។
  4. ជំហានទី ៤៖ ការធ្វើសមាហរណកម្មប្រព័ន្ធយានយន្ត (System Integration): តភ្ជាប់កូដបញ្ញាសិប្បនិម្មិតដែលដំណើរការលើ Raspberry Pi ទៅកាន់ Arduino តាមរយៈ Serial Communication (ឬ Interrupts)។ Arduino នឹងទទួលពាក្យបញ្ជាដើម្បីគ្រប់គ្រងម៉ូទ័រ (DC Motors) របស់រថយន្ត ផ្អែកលើការសម្រេចចិត្តរបស់ AI ក្នុងពេលវេលាជាក់ស្តែង (Real-time)។
  5. ជំហានទី ៥៖ ការសាកល្បងនិងការកែលម្អក្នុងបរិស្ថានជាក់ស្តែង: បង្កើតទីលានសាកល្បងខ្នាតតូចដែលមានឧបសគ្គរាងផ្សេងៗគ្នា (ទាំងរាងជ្រុង និងរាងមិនប្រក្រតី) ដើម្បីវាស់ស្ទង់ពេលវេលាប្រតិកម្ម (Response time) របស់យានយន្ត និងប្រមូលទិន្នន័យថ្មីៗមកកែសម្រួលទម្ងន់ (Weights/Biases) របស់ម៉ូដែលឡើងវិញឱ្យកាន់តែមានភាពសុក្រឹត។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Autonomous Ground Vehicles (AGVs) យានយន្តដែលអាចធ្វើដំណើរនៅលើដីដោយស្វ័យប្រវត្តិ ដោយមិនត្រូវការអ្នកបើកបរ (មនុស្ស) តាមរយៈការប្រើប្រាស់សេនស័រ និងប្រព័ន្ធបញ្ញាសិប្បនិម្មិតដើម្បីទទួលស្គាល់បរិស្ថានជុំវិញ និងធ្វើការសម្រេចចិត្ត។ ដូចជារថយន្តក្មេងលេងដែលអាចមើលផ្លូវ ដឹងពីឧបសគ្គ និងបើកបរវាងគេចដោយខ្លួនឯង ដោយមិនបុកជញ្ជាំង។
Lidar Sensor ឧបករណ៍សេនស័រដែលបាញ់ពន្លឺឡាស៊ែរទៅកាន់វត្ថុណាមួយ រួចវាស់រង្វាស់ពេលវេលាដែលពន្លឺនោះចំណាយពេលត្រលប់មកវិញ ដើម្បីគណនាចម្ងាយ និងបង្កើតជារូបរាងវត្ថុក្នុងលំហ។ ដូចជាសត្វប្រចៀវដែលបញ្ចេញសំឡេងដើម្បីស្វែងរកចំណីនៅពេលយប់ តែ Lidar ប្រើប្រាស់ពន្លឺឡាស៊ែរជំនួសវិញដើម្បីវាស់ចម្ងាយ។
Field of View (FOV) មុំ ឬវិសាលភាពនៃទិដ្ឋភាពដែលសេនស័រ (ដូចជាកាមេរ៉ា ឬ Lidar) អាចមើលឃើញនៅពេលកំណត់ណាមួយ។ នៅក្នុងការសិក្សានេះ គេបែងចែកវាជា ៣ ផ្នែកគឺ ផ្នែកឆ្វេង ផ្នែកស្តាំ និងផ្នែកត្រង់ទៅមុខ។ ដូចជាគែមនៃគំហើញភ្នែករបស់យើងនៅពេលយើងសម្លឹងទៅមុខត្រង់ ពោលគឺទំហំទិដ្ឋភាពដែលយើងអាចមើលឃើញដោយមិនបង្វិលក្បាល។
Feed Forward Neural Network ប្រព័ន្ធសរសៃប្រសាទសិប្បនិម្មិតដែលបញ្ជូនទិន្នន័យទៅមុខជានិច្ច ពីស្រទាប់បញ្ចូល (Input) ឆ្លងកាត់ស្រទាប់លាក់ (Hidden) ទៅកាន់ស្រទាប់លទ្ធផល (Output) ដោយមិនមានការវិលត្រឡប់ថយក្រោយនៃទិន្នន័យក្នុងពេលធ្វើការសម្រេចចិត្តឡើយ។ ដូចជាខ្សែសង្វាក់ផលិតកម្មនៅក្នុងរោងចក្រ ដែលវត្ថុធាតុដើមត្រូវបញ្ជូនទៅមុខជារហូតពីដំណាក់កាលមួយទៅដំណាក់កាលមួយទៀតរហូតដល់ចេញជាផលិតផលសម្រេច។
2D Collision Cone វិធីសាស្ត្រគណិតវិទ្យាបែបបុរាណដែលបង្កើតតំបន់រាងកោណ (Cone) ផ្នែកខាងមុខរថយន្ត ដើម្បីទស្សន៍ទាយថាតើការធ្វើដំណើរក្នុងល្បឿន និងទិសដៅបច្ចុប្បន្ន នឹងអាចបណ្តាលឱ្យបុកឧបសគ្គឬទេ ប្រសិនបើមានវត្ថុចូលក្នុងតំបន់កោណនេះ។ ដូចជាការបញ្ចាំងភ្លើងពិលទៅមុខរថយន្តនៅពេលយប់ ប្រសិនបើមានសត្វឆ្លងកាត់ពន្លឺពិលនោះ រថយន្តនឹងដឹងថាអាចនឹងមានការប៉ះទង្គិច។
Point Cloud បណ្តុំនៃចំណុចទិន្នន័យរាប់ពាន់ ឬលានចំណុចនៅក្នុងលំហ 3D ឬ 2D ដែលទទួលបានពីការស្កេនរបស់សេនស័រ Lidar ដើម្បីតំណាងឱ្យរូបរាងខាងក្រៅនៃវត្ថុ ឬបរិស្ថានជុំវិញ។ ដូចជាការយកគ្រាប់ខ្សាច់តូចៗរាប់លានគ្រាប់មកផ្គុំគ្នា ដើម្បីតម្រៀបចេញជារូបរាងសិប្បនិម្មិតនៃវត្ថុណាមួយ។
Stochastic Gradient Descent ក្បួនអាល់កូរីតដែលប្រើសម្រាប់ការបណ្តុះបណ្តាល Machine Learning ដើម្បីស្វែងរកកំហុស (Error) ទាបបំផុត ដោយធ្វើការកែសម្រួលទម្ងន់ (Weights) ជាបន្តបន្ទាប់ដោយប្រើទិន្នន័យគំរូតូចៗដោយចៃដន្យ។ ដូចជាមនុស្សបិទភ្នែកដែលកំពុងព្យាយាមដើរចុះពីកំពូលភ្នំមកក្រោម ដោយស្ទាបស្វែងរកផ្លូវចុះជម្រាលបន្តិចម្តងៗរហូតដល់ចំណុចទាបបំផុត។
Backpropagation algorithm ដំណើរការគណនាកំហុសពីស្រទាប់លទ្ធផល (Output) ថយក្រោយមកស្រទាប់បញ្ចូល (Input) នៅក្នុង Neural Network ដើម្បីកែតម្រូវទម្ងន់ទិន្នន័យ (Weights) ធ្វើឱ្យម៉ូដែលរៀនសូត្រពីកំហុស និងទស្សន៍ទាយលើកក្រោយកាន់តែសុក្រឹត។ ដូចជាសិស្សដែលធ្វើលំហាត់ខុស ហើយគ្រូប្រាប់ពីកំហុសនោះ រួចសិស្សគិតត្រលប់ថយក្រោយវិញដើម្បីរកមើលថាតើខ្លួនខុសនៅត្រង់ជំហានណា ដើម្បីកុំឱ្យខុសលើកក្រោយទៀត។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖