ROBOWORKS-LOGO

ROBOWORKS Robofleet ក្បួនដោះស្រាយភ្នាក់ងារចម្រុះ

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

លក្ខណៈបច្ចេកទេស

  • ឈ្មោះផលិតផល៖ ROBOWORKS
  • កំណែ៖ 20240501
  • រៀបចំដោយ៖ Wayne Liu & Janette Lin
  • កាលបរិច្ឆេទ៖ ថ្ងៃទី ២៩ ខែ ឧសភា ឆ្នាំ ២០២០

ព័ត៌មានអំពីផលិតផល

ROBOWORKS គឺជាប្រព័ន្ធពហុភ្នាក់ងារដែលអនុញ្ញាតឱ្យអនុវត្តក្បួនដោះស្រាយផ្សេងៗសម្រាប់ការសម្របសម្រួល និងការទំនាក់ទំនងរបស់មនុស្សយន្ត។

សំណួរគេសួរញឹកញាប់

សំណួរ៖ តើខ្ញុំគួរធ្វើដូចម្តេចប្រសិនបើមនុស្សយន្តមិនអាចភ្ជាប់ប្រព័ន្ធ Wifi ដោយស្វ័យប្រវត្តិ?

ចម្លើយ៖ ប្រសិនបើមនុស្សយន្តបរាជ័យក្នុងការតភ្ជាប់ដោយស្វ័យប្រវត្តិ សូមសាកល្បងដកដោត និងបញ្ចូលកាតបណ្តាញឡើងវិញ ហើយព្យាយាមភ្ជាប់ម្តងទៀត។

សង្ខេប

ឯកសារនេះពន្យល់ជាចម្បងអំពីការប្រើប្រាស់កញ្ចប់មុខងារបង្កើតមនុស្សយន្តច្រើននាក់ដែលមានឈ្មោះថា wheeltec_multi។

ឯកសារនេះចែកចេញជាបួនផ្នែក៖

  • ផ្នែកទីមួយគឺសំខាន់អំពីការណែនាំនៃវិធីសាស្ត្របង្កើតមនុស្សយន្តច្រើនប្រភេទ។
  • ផ្នែកទីពីរពិពណ៌នាជាចម្បងអំពីការកំណត់ទំនាក់ទំនងពហុម៉ាស៊ីនរបស់ ROS រួមទាំងការទំនាក់ទំនងពហុម៉ាស៊ីនរបស់ ROS និងបញ្ហាដែលអាចជួបប្រទះនៅក្នុងដំណើរការនៃការទំនាក់ទំនង ROS ។
  • ផ្នែកទីបីពិពណ៌នាជាចម្បងនូវជំហានប្រតិបត្តិការនៃការធ្វើសមកាលកម្មពេលវេលាច្រើនម៉ាស៊ីន។
  • ផ្នែកទី 4 ពន្យល់ពីការប្រើប្រាស់ជាក់លាក់នៃកញ្ចប់មុខងារបង្កើតម៉ាស៊ីនច្រើន។

គោលបំណងនៃឯកសារនេះគឺការណែនាំអំពីប្រព័ន្ធមនុស្សយន្តពហុភ្នាក់ងារ និងអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់ចាប់ផ្តើមគម្រោងបង្កើតមនុស្សយន្តច្រើនមុខយ៉ាងឆាប់រហ័ស។

ការណែនាំអំពី ALGORITHMS ភ្នាក់ងារចម្រុះ

ក្បួនដោះស្រាយការបង្កើតភ្នាក់ងារចម្រុះ

កញ្ចប់ ROS នេះបង្ហាញពីបញ្ហាធម្មតានៃភ្នាក់ងារពហុមុខងារក្នុងការគ្រប់គ្រងរួមគ្នាកំឡុងពេលបង្កើតដ្រាយ។ ការបង្រៀននេះដាក់មូលដ្ឋានគ្រឹះសម្រាប់ការអភិវឌ្ឍន៍នាពេលអនាគតលើប្រធានបទនេះ។ ក្បួនដោះស្រាយការបង្កើត សំដៅលើក្បួនដោះស្រាយដែលគ្រប់គ្រងភ្នាក់ងារជាច្រើនដើម្បីបង្កើតទម្រង់ជាក់លាក់មួយ ដើម្បីអនុវត្តកិច្ចការមួយ។ កិច្ចសហប្រតិបត្តិការសំដៅលើកិច្ចសហប្រតិបត្តិការរវាងភ្នាក់ងារជាច្រើនដោយប្រើទំនាក់ទំនងកម្រិតជាក់លាក់មួយដើម្បីបំពេញកិច្ចការមួយ។ យកដ្រាយបង្កើតមនុស្សយន្តច្រើនជាអតីតample, ការសហការមានន័យថាមនុស្សយន្តជាច្រើនបង្កើតបានជាទម្រង់ដែលចង់បានរួមគ្នា។ ខ្លឹមសាររបស់វាគឺទំនាក់ទំនងគណិតវិទ្យាជាក់លាក់ដែលពេញចិត្តរវាងមុខតំណែងរបស់មនុស្សយន្តនីមួយៗ។ វិធីសាស្រ្តនៃការបង្កើតត្រូវបានបែងចែកជាចម្បងទៅជាការគ្រប់គ្រងការបង្កើតកណ្តាល និងការគ្រប់គ្រងការបង្កើតចែកចាយ។ វិធីសាស្ត្រត្រួតពិនិត្យការបង្កើតមជ្ឈិម រួមមានវិធីសាស្ត្ររចនាសម្ព័ន្ធនិម្មិត វិធីសាស្ត្រទ្រឹស្តីក្រាហ្វិក និងវិធីសាស្ត្រព្យាករណ៍គំរូ។ វិធីសាស្រ្តត្រួតពិនិត្យការបង្កើតដែលបានចែកចាយភាគច្រើនរួមមានវិធីសាស្ត្រអ្នកដឹកនាំ-អ្នកតាម វិធីសាស្ត្រផ្អែកលើអាកប្បកិរិយា និងវិធីសាស្ត្ររចនាសម្ព័ន្ធនិម្មិត។
កញ្ចប់ ROS នេះអនុវត្តវិធីសាស្ត្រអ្នកដឹកនាំ-អ្នកដើរតាមក្នុងវិធីសាស្ត្រត្រួតពិនិត្យការបង្កើតដែលបានចែកចាយ ដើម្បីប្រតិបត្តិដ្រាយបង្កើតពហុមនុស្សយន្ត។ មនុស្សយន្តមួយនៅក្នុងការបង្កើតត្រូវបានចាត់តាំងជាអ្នកដឹកនាំ ហើយមនុស្សយន្តផ្សេងទៀតត្រូវបានគេកំណត់ថាជាទាសករដើម្បីដើរតាមអ្នកដឹកនាំ។ ក្បួនដោះស្រាយប្រើគន្លងចលនារបស់មនុស្សយន្តនាំមុខគេដើម្បីកំណត់កូអរដោនេដែលត្រូវតាមដានដោយមនុស្សយន្តខាងក្រោមជាមួយនឹងទិសដៅ និងល្បឿនជាក់លាក់។ តាមរយៈការកែតម្រូវគម្លាតទីតាំងពីកូអរដោនេតាមដាន អ្នកដើរតាមនៅទីបំផុតនឹងកាត់បន្ថយគម្លាតរវាងអ្នកតាមដាន និងកូអរដោនេនៃការតាមដានដែលរំពឹងទុកមកត្រឹមសូន្យ ដើម្បីសម្រេចបាននូវគោលបំណងនៃការបង្កើតដ្រាយ។ តាមវិធីនេះ ក្បួនដោះស្រាយគឺមិនសូវស្មុគស្មាញទេ។

ក្បួនដោះស្រាយការជៀសវាងឧបសគ្គ

ក្បួនដោះស្រាយការជៀសវាងឧបសគ្គទូទៅគឺវិធីសាស្ត្រវាលសក្តានុពលសិប្បនិម្មិត។ ចលនារបស់មនុស្សយន្តនៅក្នុងបរិយាកាសរូបវន្តត្រូវបានចាត់ទុកថាជាចលនានៅក្នុងវាលកម្លាំងសិប្បនិម្មិតនិម្មិត។ ឧបសគ្គដែលនៅជិតបំផុតត្រូវបានកំណត់អត្តសញ្ញាណដោយ LiDAR ។ ឧបសគ្គផ្ដល់នូវកម្លាំងទំនាញ ដើម្បីបង្កើតការច្រានចោលទៅកាន់មនុស្សយន្ត ហើយចំណុចគោលដៅផ្តល់នូវវាលទំនាញដើម្បីបង្កើតកម្លាំងទំនាញដល់មនុស្សយន្ត។ នៅក្នុងវិធីនេះ វាគ្រប់គ្រងចលនារបស់មនុស្សយន្ត ក្រោមសកម្មភាពរួមនៃការច្រានចោល និងការទាក់ទាញ។
កញ្ចប់ ROS នេះគឺជាការកែលម្អដោយផ្អែកលើវិធីសាស្ត្រវាលសក្តានុពលសិប្បនិម្មិត។ ទីមួយ ក្បួនដោះស្រាយការបង្កើតគណនាល្បឿនលីនេអ៊ែរ និងមុំនៃអ្នកដើរតាម Slave ។ បន្ទាប់មកវាបង្កើន ឬបន្ថយល្បឿនលីនេអ៊ែរ និងមុំ ស្របតាមតម្រូវការបញ្ចៀសឧបសគ្គ។ នៅពេលដែលចម្ងាយរវាងអ្នកដើរតាម Slave និងឧបសគ្គគឺកាន់តែខិតជិត កម្លាំងរុញច្រាននៃឧបសគ្គចំពោះអ្នកដើរតាម Slave គឺធំជាង។ ទន្ទឹមនឹងនេះ ការប្រែប្រួលនៃល្បឿនលីនេអ៊ែរ និងការប្រែប្រួលល្បឿនមុំគឺធំជាង។ នៅពេលដែលឧបសគ្គកាន់តែខិតទៅជិតផ្នែកខាងមុខនៃអ្នកដើរតាម Slave ការច្រានចោលឧបសគ្គចំពោះអ្នកដើរតាម Slave កាន់តែធំ (ការច្រានចោលផ្នែកខាងមុខគឺធំជាងគេ ហើយការច្រានចោលចំហៀងគឺតូចបំផុត) ។ ជាលទ្ធផល ការប្រែប្រួលនៃល្បឿនលីនេអ៊ែរ និងល្បឿនមុំគឺធំជាង។ តាមរយៈវិធីសាស្រ្តវាលសក្តានុពលសិប្បនិម្មិត វាធ្វើអោយប្រសើរឡើងនូវដំណោះស្រាយនៅពេលដែលមនុស្សយន្តអាចបញ្ឈប់ការឆ្លើយតបនៅចំពោះមុខឧបសគ្គមួយ។ នេះបម្រើគោលបំណងនៃការជៀសវាងឧបសគ្គកាន់តែប្រសើរ។

ការរៀបចំទំនាក់ទំនងពហុភ្នាក់ងារ

ការប្រាស្រ័យទាក់ទងគ្នាច្រើនភ្នាក់ងារ គឺជាជំហានសំខាន់មួយដើម្បីបញ្ចប់ការបង្កើតមនុស្សយន្តច្រើន។ នៅពេលដែលទីតាំងដែលទាក់ទងគ្នានៃមនុស្សយន្តច្រើនមិនស្គាល់ មនុស្សយន្តត្រូវការចែករំលែកព័ត៌មានគ្នាទៅវិញទៅមកតាមរយៈការទំនាក់ទំនងដើម្បីជួយសម្រួលដល់ការបង្កើតការតភ្ជាប់។ ស្ថាបត្យកម្មដែលបានចែកចាយ ROS និងទំនាក់ទំនងបណ្តាញមានថាមពលខ្លាំង។ វាមិនត្រឹមតែងាយស្រួលសម្រាប់ការទំនាក់ទំនងអន្តរដំណើរការប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងសម្រាប់ការទំនាក់ទំនងរវាងឧបករណ៍ផ្សេងៗផងដែរ។ តាមរយៈទំនាក់ទំនងបណ្តាញ ថ្នាំងទាំងអស់អាចដំណើរការលើកុំព្យូទ័រណាមួយ។ ភារកិច្ចចម្បងដូចជាដំណើរការទិន្នន័យត្រូវបានបញ្ចប់នៅផ្នែកខាងម៉ាស៊ីន។ ម៉ាស៊ីនទាសករទទួលខុសត្រូវចំពោះការទទួលទិន្នន័យបរិស្ថានដែលប្រមូលបានដោយឧបករណ៍ចាប់សញ្ញាផ្សេងៗ។ ម៉ាស៊ីននៅទីនេះគឺជាអ្នកគ្រប់គ្រងដែលដំណើរការថ្នាំង Master នៅក្នុង ROS ។ ក្របខ័ណ្ឌទំនាក់ទំនងពហុភ្នាក់ងារបច្ចុប្បន្នគឺតាមរយៈអ្នកគ្រប់គ្រងថ្នាំង និងអ្នកគ្រប់គ្រងប៉ារ៉ាម៉ែត្រដើម្បីគ្រប់គ្រងទំនាក់ទំនងក្នុងចំណោមមនុស្សយន្តជាច្រើន។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

ជំហានដើម្បីរៀបចំទំនាក់ទំនងពហុភ្នាក់ងារ

  • ដំឡើងការគ្រប់គ្រង ROS នៅក្នុងបណ្តាញតែមួយ
    • មាន 2 វិធីនៃការដំឡើង Master/Slave ROS Controls នៅក្រោមបណ្តាញតែមួយ។

ជម្រើសទី 1៖

Master Host បង្កើត wifi ក្នុងស្រុកដោយដំណើរការ Master node manager។ ជាទូទៅ មនុស្សយន្តមួយក្នុងចំណោមមនុស្សយន្តដែលត្រូវបានកំណត់ថាជាមេបង្កើតបណ្តាញ wifi នេះ។ មនុស្សយន្ត ឬម៉ាស៊ីននិម្មិតផ្សេងទៀតចូលរួមបណ្តាញ wifi នេះក្នុងនាមជាទាសករ។

ជម្រើសទី ១៖

បណ្តាញ wifi ក្នុងស្រុកត្រូវបានផ្តល់ដោយរ៉ោតទ័រភាគីទីបីជាមជ្ឈមណ្ឌលបញ្ជូនព័ត៌មាន។ មនុស្សយន្តទាំងអស់ត្រូវបានភ្ជាប់ទៅរ៉ោតទ័រដូចគ្នា។ រ៉ោតទ័រក៏អាចប្រើបានដោយមិនចាំបាច់ភ្ជាប់អ៊ីនធឺណិត។ ជ្រើសរើសមនុស្សយន្តមួយក្នុងចំណោមមនុស្សយន្តជាមេ ហើយដំណើរការកម្មវិធីគ្រប់គ្រងថ្នាំងមេ។ មនុស្សយន្តផ្សេងទៀតត្រូវបានកំណត់ថាជាទាសករ និងដំណើរការអ្នកគ្រប់គ្រងថ្នាំងមេពីមេ។
ការសម្រេចចិត្តលើជម្រើសមួយណាដែលត្រូវជ្រើសរើសអាស្រ័យលើតម្រូវការគម្រោងរបស់អ្នក។ ប្រសិនបើចំនួនមនុស្សយន្តដែលត្រូវការទំនាក់ទំនងមិនមានច្រើនទេ ជម្រើសទី 1 ត្រូវបានណែនាំ ព្រោះវាសន្សំសំចៃថ្លៃដើម និងងាយស្រួលរៀបចំ។ នៅពេលដែលចំនួនមនុស្សយន្តមានបរិមាណច្រើន ជម្រើសទី 2 ត្រូវបានណែនាំ។ ឧបសគ្គលើថាមពលកុំព្យូទ័រនៃការគ្រប់គ្រងមេ ROS និងកម្រិតបញ្ជូន wifi នៅលើយន្តហោះដែលមានកម្រិតអាចបណ្តាលឱ្យមានការពន្យារពេល និងការរំខានបណ្តាញយ៉ាងងាយស្រួល។ រ៉ោតទ័រអាចដោះស្រាយបញ្ហាទាំងនេះបានយ៉ាងងាយស្រួល។ សូមចំណាំថា នៅពេលដំណើរការទំនាក់ទំនងពហុភ្នាក់ងារ ប្រសិនបើម៉ាស៊ីននិម្មិតត្រូវបានប្រើជា ROS slave នោះ របៀបបណ្តាញរបស់វាត្រូវកំណត់ទៅជារបៀបស្ពាន។

កំណត់អថេរបរិស្ថាន Master/Slave

បន្ទាប់ពី ROS masters ទាំងអស់ស្ថិតនៅក្នុងបណ្តាញតែមួយ អថេរបរិស្ថានសម្រាប់ការទំនាក់ទំនងពហុភ្នាក់ងារចាំបាច់ត្រូវកំណត់។ អថេរ​បរិស្ថាន​នេះ​ត្រូវ​បាន​កំណត់​ក្នុង​ឯកសារ .bashrc ក្នុង​ថត​មេ។ ដំណើរការពាក្យបញ្ជា gedit ~/.bashrc ដើម្បីបើកដំណើរការវា។ សូមចំណាំថា ទាំងឯកសារ .bashrc របស់មេ និង slave ក្នុងការទំនាក់ទំនងពហុភ្នាក់ងារ ចាំបាច់ត្រូវកំណត់រចនាសម្ព័ន្ធ។ អ្វីដែលត្រូវផ្លាស់ប្តូរគឺអាសយដ្ឋាន IP នៅចុងបញ្ចប់នៃឯកសារ។ បន្ទាត់ពីរគឺ ROS_MASTER_URI និង ROS_HOSTNAME ដូចបង្ហាញក្នុងរូបភាព 2-1-4។ ROS_MASTER_URI និង ROS_HOSTNAME នៃម៉ាស៊ីន ROS គឺជា IP មូលដ្ឋានទាំងពីរ។ ROS_MASTER_URI នៅក្នុងឯកសារ ROS slave .bashrc ចាំបាច់ត្រូវប្តូរទៅអាសយដ្ឋាន IP របស់ម៉ាស៊ីន ខណៈ ROS_HOSTNAME នៅតែជាអាសយដ្ឋាន IP មូលដ្ឋាន។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

ការទំនាក់ទំនងពហុម៉ាស៊ីនរបស់ ROS មិនត្រូវបានរារាំងដោយកំណែចេញផ្សាយរបស់ ROS ទេ។ នៅក្នុងដំណើរការនៃការទំនាក់ទំនងពហុម៉ាស៊ីន មនុស្សម្នាក់គួរតែដឹងដូចខាងក្រោម:

  1. ប្រតិបត្តិការរបស់កម្មវិធី ROS slave អាស្រ័យលើកម្មវិធីមេ ROS របស់ឧបករណ៍មេ ROS ។ កម្មវិធីមេ ROS ត្រូវតែបើកដំណើរការដំបូងនៅលើឧបករណ៍មេ មុនពេលដំណើរការកម្មវិធី slave នៅលើឧបករណ៍ slave ។
  2. អាសយដ្ឋាន IP របស់ម៉ាស៊ីនមេ និងម៉ាស៊ីនបម្រើក្នុងការទំនាក់ទំនងពហុម៉ាស៊ីនត្រូវតែស្ថិតនៅក្នុងបណ្តាញតែមួយ។ នេះមានន័យថាអាសយដ្ឋាន IP និងរបាំងបណ្តាញរងស្ថិតនៅក្រោមបណ្តាញតែមួយ។
  3. ROS_HOSTNAME នៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធបរិស្ថាន .bashrc មិនត្រូវបានណែនាំអោយប្រើ localhost ទេ។ វាត្រូវបានណែនាំឱ្យប្រើអាសយដ្ឋាន IP ជាក់លាក់។
  4. ក្នុងករណីដែលអាសយដ្ឋាន IP របស់ទាសករមិនត្រូវបានកំណត់ត្រឹមត្រូវ ឧបករណ៍ slave នៅតែអាចចូលប្រើមេ ROS ប៉ុន្តែមិនអាចបញ្ចូលព័ត៌មានគ្រប់គ្រងបានទេ។
  5. ប្រសិនបើម៉ាស៊ីននិម្មិតចូលរួមក្នុងទំនាក់ទំនងពហុភ្នាក់ងារ របៀបបណ្តាញរបស់វាត្រូវកំណត់ទៅជារបៀបស្ពាន។ IP ឋិតិវន្តមិនអាចត្រូវបានជ្រើសរើសសម្រាប់ការភ្ជាប់បណ្តាញ។
  6. ការទំនាក់ទំនងច្រើនម៉ាស៊ីនមិនអាចទេ។ view ឬជាវប្រធានបទនៃប្រភេទទិន្នន័យសារដែលមិនមាននៅក្នុងមូលដ្ឋាន។
  7. អ្នកអាចប្រើការបង្ហាញសាកល្បង Little Turtle ដើម្បីផ្ទៀងផ្ទាត់ថាតើការប្រាស្រ័យទាក់ទងរវាងមនុស្សយន្តជោគជ័យឬអត់៖
    • a. រត់ចេញពីមេ
      • កំណត់ឡើងវិញ # បើកដំណើរការសេវាកម្ម ROS
      • អណ្តើក rostrum turtlesim_node #launch turtles interface
    • b. រត់ចេញពីទាសករ
      • ដំណើរការអណ្តើកឡើងវិញ turtle_teleop_key #បើកដំណើរការថ្នាំងគ្រប់គ្រងក្តារចុចសម្រាប់អណ្តើក

ប្រសិនបើអ្នកអាចរៀបចំចលនាអណ្តើកចេញពីក្តារចុចនៅលើ slave វាមានន័យថាទំនាក់ទំនងមេ/ទាសករត្រូវបានបង្កើតឡើងដោយជោគជ័យ។

ការតភ្ជាប់វ៉ាយហ្វាយដោយស្វ័យប្រវត្តិនៅក្នុង ROS

នីតិវិធីខាងក្រោមពន្យល់ពីរបៀបកំណត់មនុស្សយន្តដើម្បីភ្ជាប់ដោយស្វ័យប្រវត្តិទៅបណ្តាញម៉ាស៊ីន ឬបណ្តាញរ៉ោតទ័រ។

ការដំឡើងការតភ្ជាប់វ៉ាយហ្វាយដោយស្វ័យប្រវត្តិសម្រាប់ Jetson Nano

  1. ភ្ជាប់ Jetson Nano តាមរយៈឧបករណ៍ពីចម្ងាយ VNC ឬដោយផ្ទាល់ទៅអេក្រង់កុំព្យូទ័រ។ ចុចលើរូបតំណាង wifi នៅជ្រុងខាងស្តាំខាងលើ បន្ទាប់មកចុច “Edit Connections..”ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. ចុចប៊ូតុង + ក្នុងការតភ្ជាប់បណ្តាញ៖ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. នៅក្រោមបង្អួច "ជ្រើសរើសប្រភេទការតភ្ជាប់" ចុចលើម៉ឺនុយទម្លាក់ចុះហើយចុចប៊ូតុង "បង្កើត ... ":ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. នៅក្នុងផ្ទាំងបញ្ជា ចុចជម្រើស វ៉ាយហ្វាយ។ បញ្ចូលឈ្មោះវ៉ាយហ្វាយដើម្បីភ្ជាប់ក្នុង "ឈ្មោះការតភ្ជាប់" និងវាល SSID ។ ជ្រើសរើស "អតិថិជន" នៅក្នុងម៉ឺនុយទម្លាក់ចុះ "របៀប" ហើយជ្រើសរើស "wlan0" នៅក្នុងម៉ឺនុយទម្លាក់ចុះ "ឧបករណ៍" ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. នៅក្នុងផ្ទាំងបញ្ជាចុចជម្រើស "ទូទៅ" ហើយពិនិត្យមើល "ភ្ជាប់ដោយស្វ័យប្រវត្តិទៅបណ្តាញនេះ ... "។ កំណត់អាទិភាពការតភ្ជាប់ទៅ 1 នៅក្នុងជម្រើស "អាទិភាពការតភ្ជាប់សម្រាប់ការធ្វើឱ្យសកម្មដោយស្វ័យប្រវត្តិ" ។ ពិនិត្យមើលជម្រើស "អ្នកប្រើប្រាស់ទាំងអស់អាចភ្ជាប់ទៅបណ្តាញនេះ"។ នៅពេលជម្រើសត្រូវបានកំណត់ទៅ 0 នៅក្នុង "អាទិភាពការតភ្ជាប់សម្រាប់ការធ្វើឱ្យសកម្មដោយស្វ័យប្រវត្តិ" សម្រាប់ wifi ផ្សេងទៀត នេះមានន័យថានេះគឺជាបណ្តាញ wifi ដែលពេញចិត្តកាលពីអតីតកាល។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. ចុចលើជម្រើស "Wi-Fi Security" នៅក្នុងផ្ទាំងបញ្ជា។ ជ្រើសរើស "WPA & WPA2 ផ្ទាល់ខ្លួន" នៅក្នុងវាល "សុវត្ថិភាព" ។ បន្ទាប់មកបញ្ចូលពាក្យសម្ងាត់វ៉ាយហ្វាយនៅក្នុងវាល "ពាក្យសម្ងាត់" ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

ចំណាំ៖ ប្រសិនបើមនុស្សយន្តមិនអាចភ្ជាប់ដោយស្វ័យប្រវត្តិទៅបណ្តាញ wifi បន្ទាប់ពីចាប់ផ្តើមនៅពេលដែលការកំណត់អាទិភាព wifi ដល់ 0 វាអាចបណ្តាលមកពីបញ្ហានៃសញ្ញា wifi ខ្សោយ។ ដើម្បីជៀសវាងបញ្ហានេះ អ្នកអាចជ្រើសរើសលុបជម្រើស wifi ទាំងអស់ដែលបានភ្ជាប់ពីមុន។ រក្សាទុកតែបណ្តាញ wifi ដែលបង្កើតឡើងដោយម៉ាស៊ីន ឬរ៉ោតទ័រប៉ុណ្ណោះ។ ចុចលើជម្រើស "ការកំណត់ IPv4" នៅក្នុងផ្ទាំងបញ្ជាការកំណត់បណ្តាញ។ ជ្រើសរើសជម្រើស "សៀវភៅដៃ" នៅក្នុងវាល "វិធីសាស្រ្ត" ។ បន្ទាប់មកចុច "បន្ថែម" បំពេញអាសយដ្ឋាន IP របស់ម៉ាស៊ីនបម្រើក្នុងវាល "អាសយដ្ឋាន" ។ បំពេញ "24" នៅក្នុងវាល "Netmask" ។ បំពេញផ្នែកបណ្តាញ IP នៅក្នុង "ច្រកផ្លូវ" ។ ផ្លាស់ប្តូរលេខបីខ្ទង់ចុងក្រោយនៃផ្នែកបណ្តាញ IP ទៅជា "1" ។ គោលបំណងសំខាន់នៃជំហាននេះគឺដើម្បីជួសជុលអាសយដ្ឋាន IP ។ បន្ទាប់ពីនេះត្រូវបានបញ្ចប់ជាលើកដំបូង អាសយដ្ឋាន IP នឹងនៅតែមិនផ្លាស់ប្តូរនៅពេលភ្ជាប់ទៅ WIFI ដូចគ្នាជាបន្តបន្ទាប់។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

បន្ទាប់ពីការកំណត់ទាំងអស់ត្រូវបានតំឡើងសូមចុច "រក្សាទុក" ដើម្បីរក្សាទុកការកំណត់។ បន្ទាប់ពីការសន្សំបានជោគជ័យ មនុស្សយន្តនឹងភ្ជាប់ដោយស្វ័យប្រវត្តិទៅបណ្តាញរបស់ម៉ាស៊ីន ឬរ៉ោតទ័រ នៅពេលដែលវាត្រូវបានបើក។

ចំណាំ៖

  1. អាសយដ្ឋាន IP ដែលកំណត់នៅទីនេះត្រូវតែដូចគ្នាទៅនឹងអាសយដ្ឋាន IP ដែលបានកំណត់នៅក្នុងឯកសារ .bashrc នៅក្នុងផ្នែក 2.1 ។
  2. អាសយដ្ឋាន IP របស់មេ និង slave នីមួយៗត្រូវតែមានតែមួយ។
  3. អាសយដ្ឋាន IP មេ និង slave ត្រូវតែស្ថិតនៅក្នុងផ្នែកបណ្តាញដូចគ្នា។
  4. អ្នកត្រូវតែរង់ចាំឱ្យម៉ាស៊ីន ឬរ៉ោតទ័របញ្ជូនសញ្ញាវ៉ាយហ្វាយចេញ មុនពេលដែលមនុស្សយន្តទាសករអាចត្រូវបានបើក និងភ្ជាប់ដោយស្វ័យប្រវត្តិទៅបណ្តាញវ៉ាយហ្វាយ។
  5. បន្ទាប់​ពី​ការ​កំណត់​ត្រូវ​បាន​កំណត់​ប្រសិន​បើ​មនុស្ស​យន្ត​មិន​អាច​ភ្ជាប់​ដោយ​ស្វ័យ​ប្រវត្តិ​ទៅ​នឹង WiFi នៅ​ពេល​ដែល​វា​ត្រូវ​បាន​បើក សូម​ដោត និង​ដក​កាត​បណ្ដាញ​ចេញ ហើយ​ព្យាយាម​ភ្ជាប់​ម្ដង​ទៀត។

ការដំឡើងការតភ្ជាប់វ៉ាយហ្វាយដោយស្វ័យប្រវត្តិសម្រាប់ Raspberry Pi

នីតិវិធីសម្រាប់ Raspberry Pi គឺដូចគ្នានឹង Jetson Nano ដែរ។

ការដំឡើងការតភ្ជាប់វ៉ាយហ្វាយដោយស្វ័យប្រវត្តិសម្រាប់ Jetson TX1

ការដំឡើងនៅក្នុង Jetson TX1 គឺស្ទើរតែដូចគ្នាទៅនឹង Jetson Nano ជាមួយនឹងករណីលើកលែងមួយ Jetson TX1 គួរជ្រើសរើសឧបករណ៍ "wlan1" នៅក្នុង "Device" នៅក្នុងផ្ទាំងបញ្ជាការកំណត់បណ្តាញ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

ការរៀបចំការធ្វើសមកាលកម្មភ្នាក់ងារច្រើន

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

ការតភ្ជាប់បណ្តាញមេ / ទាសករជោគជ័យ

បន្ទាប់ពីទំនាក់ទំនងពហុភ្នាក់ងារត្រូវបានកំណត់ ប្រសិនបើម៉ាស៊ីនមេ និងម៉ាស៊ីនអាចភ្ជាប់បណ្តាញដោយជោគជ័យ ពួកគេនឹងធ្វើសមកាលកម្មពេលវេលាបណ្តាញដោយស្វ័យប្រវត្តិ។ ក្នុងករណីនេះ មិនតម្រូវឱ្យមានសកម្មភាពបន្ថែមទៀតដើម្បីសម្រេចបានសមកាលកម្មពេលវេលាទេ។

ការដោះស្រាយបញ្ហាការផ្តាច់បណ្តាញ

បន្ទាប់ពីទំនាក់ទំនងពហុភ្នាក់ងារត្រូវបានកំណត់ ប្រសិនបើឧបករណ៍មេ និង slave មិនអាចភ្ជាប់ទៅបណ្តាញដោយជោគជ័យទេ វាចាំបាច់ក្នុងការធ្វើសមកាលកម្មពេលវេលាដោយដៃ។ យើងនឹងប្រើពាក្យបញ្ជាកាលបរិច្ឆេទដើម្បីបញ្ចប់ការកំណត់ពេលវេលា។

ដំបូងដំឡើងឧបករណ៍បញ្ចប់។ ពីឧបករណ៍ terminator ប្រើឧបករណ៍បំបែកបង្អួច ដើម្បីដាក់ស្ថានីយបញ្ជារបស់មេ និង slave ទៅក្នុងបង្អួចស្ថានីយដូចគ្នា (ចុចកណ្ដុរខាងស្ដាំដើម្បីកំណត់បង្អួចបំបែកមួយ ហើយចូលទៅម៉ាស៊ីនមេ និងទាសករដោយ ssh នៅក្នុងបង្អួចផ្សេងគ្នា) .

  • sudo apt-get install terminator # ទាញយក terminator ដើម្បីបំបែកបង្អួចស្ថានីយ

ចុចប៊ូតុងនៅខាងឆ្វេងផ្នែកខាងលើ ជ្រើសរើសជម្រើស [ផ្សាយទៅទាំងអស់]/[ផ្សាយទាំងអស់] ហើយបញ្ចូលពាក្យបញ្ជាខាងក្រោម។ បន្ទាប់មកប្រើឧបករណ៍បញ្ចប់ដើម្បីកំណត់ពេលវេលាដូចគ្នាសម្រាប់មេ និងទាសករ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • sudo date -s “2022-01-30 15:15:00” # ការកំណត់ពេលវេលាដោយដៃ

កញ្ចប់ ROS ភ្នាក់ងារច្រើនប្រភេទ

ការណែនាំអំពីកញ្ចប់ ROS

កំណត់ឈ្មោះទាសករ

នៅក្នុងកញ្ចប់មុខងារ wheeltec_multi ចាំបាច់ត្រូវកំណត់ឈ្មោះតែមួយគត់សម្រាប់ slave robot នីមួយៗ ដើម្បីជៀសវាងកំហុស។ សម្រាប់អតីតample, លេខ 1 សម្រាប់ slave1 និង លេខ 2 សម្រាប់ slave2។ សម្រាប់អតីតample ប្រធានបទរ៉ាដារបស់ slave 1 គឺ/slave1/scan ហើយថ្នាំង LiDAR នៃ slave 1 គឺ/slave1/laser។

រៀបចំ​កូអរដោនេ​ទាសករ

កញ្ចប់ wheeltec_multi អាចអនុវត្តទម្រង់ផ្ទាល់ខ្លួន។ នៅពេលដែលទម្រង់ផ្សេងៗគ្នាត្រូវបានទាមទារ គ្រាន់តែកែប្រែកូអរដោនេដែលចង់បានរបស់ slave robots ។ Slave_x និង slave_y គឺជាកូអរដោនេ x និង y របស់ slave ដែលមានមេជាចំណុចយោងដើម។ ផ្នែកខាងមុខនៃមេគឺជាទិសដៅវិជ្ជមាននៃកូអរដោនេ x ហើយផ្នែកខាងឆ្វេងគឺជាទិសដៅវិជ្ជមាននៃកូអរដោនេ y ។ បន្ទាប់ពីការកំណត់ត្រូវបានបញ្ចប់ TF coordinate slave1 នឹងត្រូវបានចេញជាកូអរដោនេដែលរំពឹងទុករបស់ slave ។ ប្រសិនបើមានចៅហ្វាយម្នាក់ និងទាសករពីរនាក់ ការបង្កើតដូចខាងក្រោមអាចត្រូវបានកំណត់:

  1. ការបង្កើតផ្តេក៖ អ្នកអាចកំណត់កូអរដោនេនៃ slave នៅខាងឆ្វេងទៅជា slave_x:0, slave_y: 0.8 និងកូអរដោនេនៃ slave នៅខាងស្តាំទៅ slave_x:0, slave_y:-0.8 ។
  2. ការបង្កើតជួរឈរ៖ កូអរដោនេនៃ slave មួយអាចត្រូវបានកំណត់ទៅ: slave_x:-0.8, slave_y:0 ​​ហើយកូអរដោនេនៃ slave ផ្សេងទៀតអាចត្រូវបានកំណត់ទៅ: slave_x:-1.8, slave_y:0 ​​។
  3. ការបង្កើតត្រីកោណ៖ កូអរដោនេនៃ slave មួយអាចត្រូវបានកំណត់ទៅ: slave_x:-0.8, slave_y: 0.8 ហើយកូអរដោនេនៃ slave ផ្សេងទៀតអាចត្រូវបានកំណត់ទៅ: slave_x:-0.8, slave_y:-0.8 ។

ទម្រង់ផ្សេងទៀតអាចត្រូវបានប្ដូរតាមបំណងតាមតម្រូវការ។

ចំណាំ:

  • ចម្ងាយដែលបានណែនាំរវាងមនុស្សយន្តទាំងពីរត្រូវបានកំណត់ទៅ 0.8 ហើយវាត្រូវបានណែនាំមិនឱ្យទាបជាង 0.6។ ចម្ងាយរវាងទាសករ និងមេត្រូវបានណែនាំអោយកំណត់នៅក្រោម 2.0។ កាន់តែឆ្ងាយវាពីមេ ល្បឿនលីនេអ៊ែររបស់ទាសករកាន់តែធំនៅពេលមេកំពុងងាក។ ដោយសារតែដែនកំណត់នៃល្បឿនអតិបរមា ល្បឿនរបស់ទាសករនឹងប្រែប្រួលប្រសិនបើវាមិនបំពេញតាមតម្រូវការ។ ការបង្កើតមនុស្សយន្តនឹងក្លាយទៅជាភាពវឹកវរ។

ការចាប់ផ្តើមនៃតំណែងទាសករ

  1. ទីតាំងដំបូងនៃ slave គឺនៅកូអរដោនេដែលរំពឹងទុកតាមលំនាំដើម។ មុនពេលដំណើរការកម្មវិធី គ្រាន់តែដាក់ slave robot នៅជិតកូអរដោនេដែលរំពឹងទុករបស់វា ដើម្បីបញ្ចប់ការចាប់ផ្តើម។ មុខងារនេះត្រូវបានអនុវត្តដោយថ្នាំង pose_setter នៅក្នុងឯកសារដែលមានឈ្មោះថា turn_on_wheeltec_robot.launch នៅក្នុងកញ្ចប់ wheeltec_multi ដូចបង្ហាញក្នុងរូបភាព 4-1-3 ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

ប្រសិនបើអ្នកប្រើចង់ប្ដូរទីតាំងដំបូងរបស់ slave តាមបំណង គាត់គ្រាន់តែត្រូវកំណត់តម្លៃ slave_x និង slave_y ដូចបង្ហាញក្នុងរូបភាព 4-1-4 ក្នុង wheeltec_slave.launch ។ តម្លៃ slave_x និង slave_y នឹងត្រូវបានបញ្ជូនទៅកាន់ turn_on_wheeltec_robot.launch ហើយបានកំណត់ទៅថ្នាំង pose_setter ។ គ្រាន់តែដាក់មនុស្សយន្តនៅក្នុងទីតាំងផ្ទាល់ខ្លួន មុនពេលដំណើរការកម្មវិធី។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

ការកំណត់ទីតាំង

នៅក្នុងការបង្កើតភ្នាក់ងារចម្រុះ បញ្ហាដំបូងដែលត្រូវដោះស្រាយគឺ ការកំណត់ទីតាំងរបស់មេ និងទាសករ។ មេនឹងសាងសង់ផែនទី 2D ជាមុនសិន។ បន្ទាប់ពីបង្កើត និងរក្សាទុកផែនទី សូមដំណើរការកញ្ចប់រុករក 2D ហើយប្រើក្បួនដោះស្រាយការកំណត់ទីតាំងរបស់ Monte Carlo ដែលប្រែប្រួល (ការកំណត់ទីតាំង amcl) នៅក្នុងកញ្ចប់រុករក 2D ដើម្បីកំណត់ទីតាំងរបស់មេ។ ដោយសារមេ និងទាសករស្ថិតនៅក្នុងបណ្តាញតែមួយ ហើយចែករំលែកអ្នកគ្រប់គ្រងថ្នាំងដូចគ្នា មេបានបើកដំណើរការផែនទីពីកញ្ចប់រុករក 2D អ្នកបម្រើទាំងអស់អាចប្រើផែនទីដូចគ្នាក្រោមអ្នកគ្រប់គ្រងថ្នាំងដូចគ្នា។ ដូច្នេះទាសករមិនចាំបាច់បង្កើតផែនទីទេ។ នៅក្នុង wheeltec_slave.launch ដំណើរការ Monte Carlo positioning (amcl positioning) ពួកទាសករអាចកំណត់ទីតាំងរបស់ពួកគេដោយប្រើផែនទីដែលបង្កើតដោយមេ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

របៀបបង្កើតការបង្កើត និងថែរក្សាការបង្កើត

នៅក្នុងដំណើរការនៃការបង្កើតចលនា ចលនាមេអាចត្រូវបានគ្រប់គ្រងដោយ Rviz ក្តារចុច ការបញ្ជាពីចម្ងាយ និងវិធីសាស្រ្តផ្សេងទៀត។ ទាសករគណនាល្បឿនរបស់វាតាមរយៈថ្នាំង slave_tf_listener ដើម្បីគ្រប់គ្រងចលនារបស់វា និងសម្រេចបាននូវគោលដៅនៃការបង្កើត។ ថ្នាំង slave_tf_listener កំណត់ល្បឿន slave ដើម្បីជៀសវាងល្បឿនលើសកំណត់ដោយការគណនាថ្នាំង ដែលនឹងបង្កឱ្យមានផលប៉ះពាល់ជាបន្តបន្ទាប់។ តម្លៃជាក់លាក់អាចត្រូវបានកែប្រែនៅក្នុង wheeltec_slave.launch ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

ប៉ារ៉ាម៉ែត្រពាក់ព័ន្ធនៃក្បួនដោះស្រាយការបង្កើតមានដូចខាងក្រោម៖ ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

ព័ត៌មានអំពីការជៀសវាងឧបសគ្គ

នៅក្នុងការបង្កើតភ្នាក់ងារច្រើន មេអាចប្រើថ្នាំង move_base ដើម្បីបញ្ចប់ការជៀសវាងឧបសគ្គ។ ទោះយ៉ាងណាក៏ដោយ ការចាប់ផ្តើមនៃ slave មិនប្រើថ្នាំង move_base ទេ។ នៅចំណុចនេះ ថ្នាំង multi_avoidance ត្រូវការហៅនៅក្នុងកម្មវិធី slave ។ ថ្នាំងជៀសវាងឧបសគ្គត្រូវបានបើកតាមលំនាំដើមនៅក្នុងកញ្ចប់។ ប្រសិនបើចាំបាច់ ការជៀសវាងអាចត្រូវបានកំណត់ទៅជា "មិនពិត" ដើម្បីបិទថ្នាំងជៀសវាងឧបសគ្គ។ ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

ប៉ារ៉ាម៉ែត្រពាក់ព័ន្ធមួយចំនួននៃថ្នាំងជៀសវាងឧបសគ្គត្រូវបានបង្ហាញក្នុងរូបភាពខាងក្រោម ដែលសុវត្ថិភាព_ចម្ងាយគឺជាដែនកំណត់ចម្ងាយសុវត្ថិភាពឧបសគ្គ ហើយចម្ងាយគ្រោះថ្នាក់គឺជាដែនកំណត់ចម្ងាយគ្រោះថ្នាក់។ នៅពេលដែលឧបសគ្គស្ថិតនៅក្នុងចម្ងាយសុវត្ថិភាព និងចម្ងាយគ្រោះថ្នាក់ បាវធ្វើការកែតម្រូវទីតាំងរបស់ខ្លួនដើម្បីជៀសវាងឧបសគ្គ។ ពេល​ដែល​ឧបសគ្គ​ស្ថិត​ក្នុង​គ្រោះថ្នាក់ អ្នកបម្រើ​នឹង​បើក​ចេញ​ពី​ឧបសគ្គ។ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

នីតិវិធីប្រតិបត្តិការ

បញ្ចូលពាក្យបញ្ជាប្រតិបត្តិ

ការរៀបចំមុនពេលចាប់ផ្តើមបង្កើតភ្នាក់ងារចម្រុះ៖

  • មេ និងទាសករភ្ជាប់ទៅបណ្តាញតែមួយ ហើយរៀបចំទំនាក់ទំនងពហុភ្នាក់ងារឱ្យបានត្រឹមត្រូវ
  • មេបង្កើតផែនទី 2D ជាមុន ហើយរក្សាទុកវា។
  • មេត្រូវបានដាក់នៅចំណុចចាប់ផ្តើមនៃផែនទី ហើយទាសករត្រូវបានដាក់នៅជិតទីតាំងចាប់ផ្តើម (ទីតាំងបង្កើតទាសករលំនាំដើម)
  • បន្ទាប់ពីចូល Jetson Nano/Raspberry Pi ពីចម្ងាយ ធ្វើសមកាលកម្មពេលវេលា។

sudo date -s “2022-04-01 15:15:00”

  • ជំហានទី 1៖ បើកផែនទី 2D ពីមេ។

roslaunch turn_on_wheeltec_robot navigation.launch

  • ជំហានទី 2៖ ដំណើរការកម្មវិធីបង្កើតពីទាសករទាំងអស់។

roslaunch wheeltec_multi wheeltec_slave.launch

  • ជំហានទី 3៖ បើកថ្នាំងបញ្ជាក្តារចុចពីមេ ឬប្រើយ៉យស្ទីក ដើម្បីបញ្ជាពីចម្ងាយចលនាមេ។

ចាប់ផ្ដើម wheeltec_robot_rc keyboard_teleop.launch

  • ជំហានទី 4៖ (ជាជម្រើស) សង្កេតមើលចលនារបស់មនុស្សយន្តពី Rviz ។

rviz

ចំណាំ៖ 

  1. ត្រូវប្រាកដថាបញ្ចប់ប្រតិបត្តិការធ្វើសមកាលកម្មពេលវេលាមុនពេលដំណើរការកម្មវិធី។
  2. នៅពេលគ្រប់គ្រងមេនៃការបង្កើតពហុភ្នាក់ងារ ល្បឿនមុំមិនគួរលឿនពេកទេ។ ល្បឿនលីនេអ៊ែរដែលបានណែនាំគឺ 0.2m/s ដឺក្រេល្បឿនមុំខាងក្រោម 0.3rad/s។ នៅពេលដែលមេកំពុងបត់ បាវមកពីម្ចាស់កាន់តែឆ្ងាយ នោះល្បឿនលីនេអ៊ែរកាន់តែធំត្រូវបានទាមទារ។ ដោយសារតែដែនកំណត់លើល្បឿនលីនេអ៊ែរ និងល្បឿនមុំនៅក្នុងកញ្ចប់ នៅពេលដែលរថយន្តទាសករមិនអាចឈានដល់ល្បឿនដែលត្រូវការ នោះការបង្កើតនឹងមានភាពវឹកវរ។ សរុបមក ល្បឿនលីនេអ៊ែរលើសអាចបំផ្លាញមនុស្សយន្តបានយ៉ាងងាយ។
  3. នៅពេលដែលចំនួនទាសករមានច្រើនជាងមួយ ដោយសារតែកម្រិតបញ្ជូន wifi នៅលើយន្តហោះមានកម្រិតនៃម៉ាស៊ីន ROS វាងាយស្រួលក្នុងការបង្កការពន្យារពេលដ៏សំខាន់ និងការផ្តាច់ទំនាក់ទំនងពហុភ្នាក់ងារ។ ការប្រើរ៉ោតទ័រអាចដោះស្រាយបញ្ហានេះបានយ៉ាងល្អ។
  4. ដើមឈើ TF នៃការបង្កើតពហុមនុស្សយន្ត (ទាសករ 2 នាក់) គឺ៖ rqt_tf_tree
  5. ដ្យាក្រាមទំនាក់ទំនងថ្នាំងនៃការបង្កើតពហុមនុស្សយន្ត (2 ទាសករ) គឺ៖ rqt_graph

ឯកសារ/ធនធាន

ROBOWORKS Robofleet ក្បួនដោះស្រាយភ្នាក់ងារចម្រុះ [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់
Robofleet Multi Agent Algorithms, Robofleet, Multi Agent Algorithms, Agent Algorithms, Algorithms

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *