ಪ್ರೊಹೋಸ್ಟರ್ > Блог > ಆಡಳಿತ > ಸಿಂಗಲ್-ಬೋರ್ಡ್ಗಾಗಿ ಉಬುಂಟು 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 ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ಉಬುಂಟು ಅನ್ನು ಹೊಂದಿರುತ್ತೀರಿ!
ಉಲ್ಲೇಖಗಳು:
ಲಿನಕ್ಸ್ನಲ್ಲಿ ಮೋಸ ಮಾಡುವುದು ಹೇಗೆ ಮತ್ತು ನಿಮಗೆ ಅದು ಏಕೆ ಬೇಕು ಎಂಬುದಕ್ಕೆ ಈ ವೀಡಿಯೊ ಬಹಳಷ್ಟು ಸಹಾಯ ಮಾಡಿದೆ: