У овом водичу објашњавамо како да користите ArduSimple РТК пријемници за добијање прецизних података о позиционирању у РОС. Водићемо вас кроз кораке за интеграцију ArduSimple РТК пријемник у ваш РОС пројекат, омогућавајући вам да искористите снагу тачних ГПС података.
Без обзира да ли сте ентузијаста роботике, истраживач или програмер, овај водич ће вам пружити кораке за приступ подацима о позиционирању у вашим РОС апликацијама.
Ако сте нови у РОС-у, припремили смо кратак tупутство за почетак рада са РОС-ом да сазнате више о кључним терминима РОС-а, коју платформу и развојно окружење је боље изабрати итд.
Потребан хардвер:
- simpleRTK2B серијски пријемник (у овом туторијалу користимо simpleRTK2B Budget)
- РТК Мултибанд антена (у овом туторијалу користимо u-blox ГНСС Вишепојасна антена АНН-МБ-00 (ИП67))
- УСБ кабл компатибилан са УСБ портом вашег пријемника за повезивање са рачунаром или уграђеном платформом
- Рачунар или уграђена платформа са приступом интернету (у овом водичу користимо рачунар)
Потребан софтвер:
- Убунту 18 или 20 (у овом водичу користимо убунту КСНУМКС) изворно инсталиран на рачунару
- РОС (користимо РОС Ноетиц).
- Можете пратити ове туторијале да бисте инсталирали РОС:
- користите РОС Мелодиц за Убунту 18 (проверите водич за инсталацију за РОС Мелодиц)
- користите РОС Ноетиц за Убунту 20 (проверите водич за инсталацију за РОС Ноетиц)
Како се користи ArduSimple РТК пријемници и добијају ГПС податке у РОС-у?
Прво, повежите и конфигуришите РТК пријемник у Убунту-у.
- Прикључите РТК антена на ваше пријемник. Место антена на локацији са добрим погледом на небо, или близу прозора за тестирање функционалности.
- Повежите свој пријемник на рачунар преко УСБ порта означеног са „POWER+GPS".
- Ваш пријемник би требало да буде аутоматски конфигурисан. Да бисте то потврдили, отворите терминал и откуцајте команду:
ls /dev/tty*
- Видећете “/дев/ттиАЦМ0” је креиран аутоматски.
- Да бисте верификовали стрим са вашег РТК пријемник, користите команду:
sudo cat /dev/ttyACM0
- ГПС улазни ток приказује слично као у наставку:
- Press Цтрл + Ц да бисте отказали гледање стрима.
- Да би се спречило РТК пријемник од почетка у другом “ттиАЦМ*” сваки пут када се покрене, креирајте удев правило (динамичку везу) које креира унос са одређеним именом додавањем следеће датотеке пре повезивања РТК пријемник.
sudo nano /etc/udev/rules.d/50-ardusimple.rules
- Унесите следећи текст у правило:
KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
- Press Цтрл + В да изађете из датотеке и притисните Y да сачувате модификовани бафер.
- Сада кад год ан РТК пријемник је повезан, биће доступан са “/дев/тти_Ardusimple" линк. Да бисте то проверили, искључите везу РТК пријемник (искључите напајање и поново напајање) и унесите команде:
sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
- Сад то можете да видите “тти_ArduSimple" направљено је.
- Да бисте користили програм У-центер у Убунту-у, инсталирајте Вине. То је колекција Линук библиотека које омогућавају многим Виндовс апликацијама да раде на Линук дистрибуцијама (између осталих на Убунту).
То не чини софтвер У-центер потпуно компатибилним, али се може користити у случају да желите да проверите статус или конфигурацију свог РТК пријемник.
Да бисте инсталирали Вине (инсталација може трајати 2-3 минута), користите наредбу:
sudo apt install wine64 //if Ubuntu is installed natively
sudo apt install wine32 //if you run Ubuntu on a virtual machine
- Када се Вине инсталира, могуће је инсталирати У-Центер у Убунту, као да је Виндовс. Отворите Фирефок веб претраживач и преузмите програм У-Центер са званичне веб странице: https://www.u-blox.com/en/product/u-center.
- Једном u-center је преузет, идите у фасциклу за преузимање и распакујте датотеку u-center на радној површини.
- Да бисте започели инсталацију u-center софтвер, откуцајте команду:
cd ~/Desktop/
wine ./u-center_v22.07.exe
- Инсталирати u-center као да сте у Виндовс-у пратећи кораке инсталације.
- Да бисте креирали ЦОМКСНУМКС лука, отворена терминал и унесите следећу команду да бисте направили везу до РТК пријемник у фасцикли “~/.вине/досдевице”.
ln -sf /dev/tty_Ardusimple ~/.wine/dosdevices/com1
- близу u-center ако сте га отворили. Отвори u-center.
- Повежите се са својим РТК пријемник in u-center притиском Цтрл + КСНУМКС .
- Видећете зелено светло у левом углу и податке са вашег РТК пријемника сличне доле.
Друго, покрените РТК Рецеивер у РОС-у.
- Направите фасциклу са радним просторима. Ако га немате, можете га направити помоћу команди:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
- Преузмите и инсталирајте РОС пакете унутар срц-а. У овом водичу ћемо преузети пакете са https://github.com/KumarRobotics/ublox који ће објавити информације о РОС-у. Ово ради са овом верзијом 1.1.4. Можете користити најновија издања, али неке кораке ће можда морати да измените. Унесите команде:
cd ~/catkin_ws/src
git clone https://github.com/KumarRobotics/ublox
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src -r -y
- Видећете на терминалу:
#Сви потребни росдепс су успешно инсталирани
- Саставите програм да бисте могли да га извршите.
catkin_make
source ~/catkin_ws/devel/setup.bash
- Када се изврши сетуп.басх, бирамо радни простор за рад и ажурирамо доступне програме у РОС-у.
- Да бисте имали контролу над порукама у којима се објављују ArduSimple можете да измените иамл (конфигурациони фајл) који ће чвор користити за извршавање комуникације са рос.
Овај чвор има неколико пробних конфигурационих датотека, можете изменити вредности ове тако што ћете модификовати датотеке које се налазе у следећем директоријуму:
cd ~/catkin_ws/src/ublox/ublox_gps/config
- Пошто u-blox модел унутра Ardusimple је зед_f9p, мењамо датотеку са истим именом. Да отворимо уређивач, можемо користити следећу команду:
nano zed_f9p.yaml
Промените адресу уређаја у “/дев/тти_Ardusimple" како би се осигурало да увек иде на РТК пријемник:
device: /dev/tty_Ardusimple
frame_id: gps
uart1:
baudrate: 9600 //Change the baudrate value to the value set in U-Center.
config_on_startup: false
близу u-center јер РОС и u-center не трчите заједно.
- Да бисте извршили РОС чвор, користите покретач који се налази у следећој фасцикли:
cd ~/catkin_ws/src/ublox/ublox_gps/launch
- Да бисте проверили да ли је на листи, откуцајте команду:
ls
- РОС датотеке за покретање поједноставити процес покретања више чворова и конфигурисања њихових параметара. Датотека за покретање је КСМЛ датотека која описује чворове који ће се извршити, њихове параметре и везе између њих. Коришћењем датотека за покретање, можете покренути више чворова са једном командом, што олакшава управљање сложеним роботским системима. Ове датотеке имају екстензију „.лаунцх“, постоје и друге датотеке које су конфигурационе датотеке које имају екстензију „.иамл“.
Да бисте покренули датотеку:
roslaunch
- Датотека која ће покренути наш програм се зове “ублок_девице.лаунцх”.
Ова датотека се може мењати по потреби.
Да бисте покренули програм, користите следећу команду:
roslaunch ublox_gps ublox_device.launch param_file_name:=zed_f9p
- Отворите нови терминал и унесите команду:
source ~/catkin_ws/devel/setup.bash
- РОС чворови када трчање имају јединствена имена. Да бисте видели листу имена РОС чворова, користите команду у терминалу:
rosnode list
- Да бисте добили информације о РОС чворовима, на пример на које теме су претплаћени или објављени, можете користити следећу команду:
rosnode info
На пример, да бисте добили информације о „инфо /ублок”, користите команду:
rosnode info /ublox
- Да бисте приказали листу активних РОС Топицс који су тренутно доступни и који се објављују или су претплаћени на ваш РОС систем, користите команду.
rostopic list
Излаз листе тема РОС обично приказује називе тема заједно са њиховим типовима порука. Ова команда је корисна за проверу доступних тема и верификацију да ли се жељене теме објављују или на које сте претплаћени у вашем РОС окружењу.
- Да бисте видели информације о томе ко поставља и ко се претплатио на ову поруку, откуцајте поруку, користите команду у формату:
rostopic info
- На пример, да бисте добили информације о врсти поруке, издавачима и претплатницима на тему “/росоут”, извршите команду:
rostopic info /rosout
- Да бисте добили информације о врсти поруке, издавачима и претплатницима на тему /ублок/фик, еизвршите команду:
rostopic info /ublox/fix
- Да бисте видели информације које се објављују, користите команду у формату:
rostopic echo
Да бисмо тестирали да ли ради, можемо се претплатити на различите теме које чвор креира.
Најважније су „/гпс/поправи“ (подаци су у ВГС64) и “/дијагностика” (даје нам информације о ГПС статусу). Остали подаци се могу објавити према конфигурацији која је подешена из РТК пријемник.
На пример, да посматрате и надгледате податке о ГПС поправци који се објављују “/ублок/фик” Тема (су подаци у ВГС64), као што су географска ширина, дужина, надморска висина и друге релевантне информације, користите следећу команду да видите податке:
rostopic echo /ublox/fix
Да престанете да гледате тему, притисните Цтрл + Ц.
- Да бисте видели податке који се објављују на “/дијагностика” која даје информације о ГПС статусу као што је тачност међу осталима, користите команду:
rostopic echo /diagnostics
Да бисте прекинули преглед података, притисните Цтрл + Ц.
- Ако желите да снимите информације објављене о теми у датотеку, користите команду:
- да снимите податке о ГПС фиксирању који се објављују “/ублок/фик” Тема, као што су географска ширина, дужина, надморска висина између осталог:
rostopic echo /ublox/fix > gps_fix_data.txt
- за снимање података о ГПС статусу “/дијагностика”:
rostopic echo /diagnostics > gps_diagnostics.txt
Ове команде креирају датотеке гпс_фик_дата.ткт гпс_диагностицс.ткт, где ће тема бити сачувана. Да бисте прекинули снимање, притисните Цтрл + Ц.
- Да бисте видели информације забележене у датотекама, извршите:
nano gps_fix_data.txt
nano gps_diagnostics.txt
- РОС поруке су структуре података које се користе за комуникацију између РОС чворова. Они дефинишу информације које се размењују о некој теми. Поруке се дефинишу коришћењем формата датотеке .мсг.
Да бисте видели листу типова РОС порука, користите команду:
rosmsg list
Да видите структуру поруке, користите команду у формату:
rosmsg show
- На примјер, “сенсор_мсгс/НавСатФик” је тип поруке у РОС-у који се користи за представљање ГПС (Глобал Поситионинг Систем) фиксних података као што су географска ширина, дужина, надморска висина и други параметри који се односе на ГПС позицију.
Да бисте видели структуру „сензор_мсгс/НавСатФик” поруку, користите команду:
rosmsg show sensor_msgs/NavSatFix
- Да видите листу активних РОС Сервицес који пружају начин да чворови шаљу захтеве и примају одговоре, користите команду:
rosservice list
- Да бисте позвали услугу, користите команду у формату:
rosservice call
Ова услуга ће одговорити резултатом.
На пример, да бисте добили тренутну конфигурацију логера за u-blox Чвор, који може бити од помоћи у сврхе отклањања грешака и надгледања, користите наредбу:
rosservice info /ublox/get_loggers
Ако желите да урадите овај водич, имамо све производе на лагеру и спремни за испоруку:
- simpleRTK2B серијски пријемник (у овом туторијалу користимо simpleRTK2B Budget)
- РТК Мултибанд антена (у овом туторијалу користимо u-blox GNSS Multiband antenna ANN-MB-00 (IP67))
- УСБ кабл
