ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > సింగిల్-బోర్డ్ కోసం ఉబుంటు IMG ఇమేజ్లో ROSను ఇన్స్టాల్ చేస్తోంది
సింగిల్-బోర్డ్ కోసం ఉబుంటు IMG ఇమేజ్లో ROSను ఇన్స్టాల్ చేస్తోంది
పరిచయం
మరొక రోజు, నా థీసిస్పై పని చేస్తున్నప్పుడు, ROS ఇప్పటికే ఇన్స్టాల్ చేయబడిన సింగిల్-బోర్డ్ ప్లాట్ఫారమ్ కోసం ఉబుంటు ఇమేజ్ని సృష్టించాల్సిన అవసరాన్ని నేను ఎదుర్కొన్నాను (రోబోట్ ఆపరేటింగ్ సిస్టమ్ - రోబోట్ ఆపరేటింగ్ సిస్టమ్) సంక్షిప్తంగా, డిప్లొమా రోబోట్ల సమూహాన్ని నిర్వహించడానికి అంకితం చేయబడింది. రోబోలు రెండు చక్రాలు మరియు మూడు రేంజ్ ఫైండర్లతో అమర్చబడి ఉంటాయి. మొత్తం విషయం ROS నుండి నియంత్రించబడుతుంది, ఇది ODROID-C2 బోర్డ్లో నడుస్తుంది.
రోబోట్ లేడీబగ్. ఫోటో నాణ్యత తక్కువగా ఉన్నందుకు క్షమించండి
ప్రతి రోబోట్లో వ్యక్తిగతంగా ROSని ఇన్స్టాల్ చేయడానికి సమయం లేదా కోరిక లేదు, అందువల్ల ROS ఇప్పటికే ఇన్స్టాల్ చేయబడిన సిస్టమ్ ఇమేజ్ అవసరం. ఇంటర్నెట్ను బ్రౌజ్ చేసిన తర్వాత, దీన్ని ఎలా చేయవచ్చో నేను అనేక విధానాలను కనుగొన్నాను.
సాధారణంగా, కనుగొనబడిన అన్ని పరిష్కారాలను క్రింది సమూహాలుగా విభజించవచ్చు.
మొదటి సమూహం నుండి పరిష్కారాలను ఉపయోగించడం అనేది సరళమైన మరియు అత్యంత ఆకర్షణీయమైన ఎంపికగా అనిపించింది, కానీ నేను ODROID కోసం లైవ్ సిస్టమ్ ఇమేజ్ని సృష్టించలేకపోయాను. చాలా ఎక్కువ ఎంట్రీ థ్రెషోల్డ్ కారణంగా రెండవ సమూహం యొక్క పరిష్కారాలు కూడా నాకు సరిపోలేదు. అందుబాటులో ఉన్న ట్యుటోరియల్స్ ప్రకారం మాన్యువల్ అసెంబ్లీ కూడా తగినది కాదు, ఎందుకంటే... నా ఇమేజ్కి కంప్రెస్డ్ ఫైల్ సిస్టమ్ లేదు.
ఫలితంగా, నేను chroot గురించి ఒక వీడియోను చూశాను (chroot - రూట్ మార్చు, పోస్ట్ చివరిలో వీడియోకి లింక్) మరియు దాని సామర్థ్యాలు, దానిని ఉపయోగించాలని నిర్ణయించారు. తర్వాత, రోబోటిక్స్ డెవలపర్ల కోసం ఉబుంటును అనుకూలీకరించడానికి నా ప్రత్యేక సందర్భాన్ని వివరిస్తాను.
ప్రారంభ డేటా:
మొత్తం ఇమేజ్ సవరణ ప్రక్రియ (balenaEtcherని ఉపయోగించి SD కార్డ్కి వ్రాయడం మినహా) ఉబుంటు 18.04 ఆపరేటింగ్ సిస్టమ్లో నిర్వహించబడింది.
నేను అసెంబ్లీని సవరించిన ఆపరేటింగ్ సిస్టమ్ ఉబుంటు 18.04.3 మేట్ డెస్క్టాప్ వెర్షన్.
అసెంబుల్డ్ సిస్టమ్ పని చేసే యంత్రం ODROID-C2.
చిత్రాన్ని సిద్ధం చేస్తోంది
ODROID కోసం ఉబుంటు చిత్రాన్ని డౌన్లోడ్ చేయండి అధికారిక సైట్
ఆర్కైవ్ను అన్ప్యాక్ చేస్తోంది
unxz –kv <файл архива с образом>
మేము చిత్రాన్ని మౌంట్ చేసే డైరెక్టరీని సృష్టించండి
mkdir mnt
ఫైల్ సిస్టమ్ ఉన్న విభజనను నిర్ణయించండి
file <файл образа>
మేము ext2, ext3 లేదా ext4 ఫార్మాట్లో ఫైల్ సిస్టమ్తో విభజన కోసం చూస్తున్నాము. మాకు విభాగం ప్రారంభ చిరునామా అవసరం (స్క్రీన్పై ఎరుపు రంగులో హైలైట్ చేయబడింది):
గమనించండి. ఫైల్ సిస్టమ్ యొక్క స్థానాన్ని కూడా యుటిలిటీని ఉపయోగించి చూడవచ్చు parted.
చిత్రాన్ని మౌంట్ చేస్తోంది
sudo mount -o loop,offset=$((264192*512)) <файл с образом> mnt/
మనకు అవసరమైన విభాగం బ్లాక్ 264192తో ప్రారంభమవుతుంది (మీ సంఖ్యలు మారవచ్చు), ఒక బ్లాక్ పరిమాణం 512 బైట్లు, బైట్లలో ఇండెంటేషన్ పొందడానికి వాటిని గుణించండి.
మౌంటెడ్ సిస్టమ్తో ఫోల్డర్కి వెళ్లి దానిలో హ్యాంగ్ అవుట్ చేయండి
cd mnt/
sudo chroot ~/livecd/mnt/ bin/sh
~/livecd/mnt — మౌంటెడ్ సిస్టమ్తో డైరెక్టరీకి పూర్తి మార్గం బిన్/ష - షెల్ (దీనితో కూడా భర్తీ చేయవచ్చు బిన్/బాష్)
ఇప్పుడు మీరు అవసరమైన ప్యాకేజీలు మరియు అప్లికేషన్లను ఇన్స్టాల్ చేయడం ప్రారంభించవచ్చు.
ROSని ఇన్స్టాల్ చేస్తోంది
నేను దాని ప్రకారం ROS (ROS మెలోడిక్) యొక్క తాజా వెర్షన్ను ఇన్స్టాల్ చేసాను అధికారిక ట్యుటోరియల్.
ప్యాకేజీల జాబితాను నవీకరిస్తోంది
sudo apt-get update
ఇక్కడే నాకు లోపం వచ్చింది:
Err:6 http://deb.odroid.in/c2 bionic InRelease
The following signatures were invalid: EXPKEYSIG 5360FB9DAB19BAC9 Mauro Ribeiro (mdrjr) <[email protected]>
ప్యాకేజీ సంతకం కీ గడువు ముగియడమే దీనికి కారణం. కీలను అప్డేట్ చేయడానికి, టైప్ చేయండి:
ROSని ఇన్స్టాల్ చేస్తోంది
దురదృష్టవశాత్తూ, నేను ROS డెస్క్టాప్ వెర్షన్ను ఇన్స్టాల్ చేయలేకపోయాను, కాబట్టి నేను ప్రాథమిక ప్యాకేజీలను మాత్రమే ఇన్స్టాల్ చేసాను:
యాక్సెస్ హక్కులను సెటప్ చేస్తోంది
మేము లాగిన్ అయ్యాము మరియు వాస్తవానికి, అసెంబుల్ చేయబడిన సిస్టమ్ యొక్క రూట్ తరపున అన్ని చర్యలను నిర్వహిస్తాము కాబట్టి, ROS సూపర్యూజర్ హక్కులతో మాత్రమే ప్రారంభించబడుతుంది.
సుడో లేకుండా రోస్కోర్ని అమలు చేయడానికి ప్రయత్నిస్తున్నప్పుడు, లోపం ఏర్పడుతుంది:
Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 230, in main write_pid_file(options.pid_fn, options.core, options.port) File "/opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 106, in write_pid_file with open(pid_fn, "w") as f: IOError: [Errno 13] Permission denied: '/home/user/.ros/roscore-11311.pid'
లోపం సంభవించకుండా నిరోధించడానికి, ROS వినియోగదారు హోమ్ డైరెక్టరీకి యాక్సెస్ హక్కులను పునరావృతంగా మారుద్దాం. దీన్ని చేయడానికి మేము టైప్ చేస్తాము:
అన్నీ! ఇప్పుడు సహాయంతో బాలెనా ఎచ్చర్ మీరు సిస్టమ్ ఇమేజ్ను SD కార్డ్కి బర్న్ చేయవచ్చు, దానిని ODROID-C2లో చొప్పించవచ్చు మరియు మీరు ROSతో ఉబుంటును ఇన్స్టాల్ చేయవచ్చు!
సూచనలు:
Linuxలో ఎలా మోసం చేయాలి మరియు మీకు ఇది ఎందుకు అవసరం అనే విషయంలో ఈ వీడియో చాలా సహాయపడింది: