시도1. 라즈비안 설치된 라즈베리파이4에 ROS kinetic 설치 시도
일단 시간이 없으므로,
이 링크 참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rmlee&logNo=221460156608
중간에
이 부분에서, 아래와 에러메시지가 발생할 것임.
gpg: keyserver receive failed: No name
이때
이 링크를 참고 : https://stackoverflow.com/questions/66217436/gpg-keyserver-receive-failed-no-name
즉, 여기서
이 명령어 대신, 다음과 같은 명령어를 실행한다.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
그러면, 제대로 동작할 것이다.
이 이후에는 아래 ROSberryPi ROS kinetic 공식 메뉴얼을 계속 이어서 진행하면 된다.
(참고 링크 : http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi )
그렇게 메뉴얼을 따라 하다가, 아래 명령어를 실행하면,
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic
아래와 같은 에러가 발생했다.
CMake Error at cmake/empy.cmake:30 (message):
Unable to find either executable 'empy' or Python module
'em'... try installing the package 'python-empy'
이후로, 에러를 못고치다가, 라즈비안을 다시 설치했다...
시도2. 라즈비안 설치된 라즈베리파이4에 ROS melodic 설치 시도
라즈비안을 재설치한 이후에, kinetic 으로 설치가 안되는 줄 알고, melodic 으로 설치하기로 마음먹었다. (사실 결과는 별 차이 없었다.)
그래서 이번에는 아래 ROSberryPi ROS melodic 공식 메뉴얼을 보고 따라했다.
(참고 링크 : http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi )
또 다시, 중간에
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
이 명령어를 치면, 아래와 같은 에러가 떳다.
gpg: keyserver receive failed: No name
그래서 이번에는
이 링크를 참고해서 : https://stackoverflow.com/questions/66217436/gpg-keyserver-receive-failed-no-name
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
이 명령어 대신, 다음과 같은 명령어를 실행했다.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $key
그래서 해결되었다...
그렇게 메뉴얼을 따라 하다가, 이번에도 아래 명령어를 실행하면,
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic
아래와 같은 똑같은 에러가 발생했다.
CMake Error at cmake/empy.cmake:30 (message):
Unable to find either executable 'empy' or Python module
'em'... try installing the package 'python-empy'
이번에는 python-empy 패키지를 설치하기 위해서, 아래와 같은 명령어를 쳤다.
(이 방법은 이 링크를 참고했다. : https://answers.ros.org/question/353111/following-installation-instructions-catkin_make-generates-a-cmake-error/ )
sudo apt install python-empy
다행히 해결됐다...
그리고나서, 다시 아래 ROSberryPi ROS melodic 공식 메뉴얼을 보고 따라했다.
(참고 링크 : http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi )
바로 위 링크에서 아래 명령어 부분부터 따라하면 된다.
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic
4.1 Updating the Workspace
부분은 생략하고,
4.2 Adding Released Packages
부분부터 이어서 진행했다.
결국,,, 라즈비안을 설치한 라즈베리파이에서는 catkin 빌드가 되지 않는다.(즉, catkin_make를 할수 없다. 자꾸 fatal error 가 발생하지만, 해결을 할 수 없었다 ㅠ)
-----------------------------------------------------------------------------------------------------
여기 아래부터 시작하세요! 위는 전부 실패했습니다.
-----------------------------------------------------------------------------------------------------
시도3. ubuntu20.04 설치된 라즈베리파이4에 ROS noetic 설치 시도
(기억을 되살려서 적은것임. 확실하지 않음. 아직 검증안된 방법임. -> 기말고사 끝나고, 다시 포맷하고 다시 설치해보면서 검증해보자.)
1. ubuntu20.04 설치
이미지 파일 다운로드 -
이미지 파일은 구글에 ubuntu old-release라고 검색해서 찾아보면, 옛날 버전의 이미지 파일들도 다운로드 할 수 있는 링크(http://old-releases.ubuntu.com/releases/)가 있다. 근데, 옛날 버전의 이미지 파일들이 제대로 작동하는지 검증이 안 될 수도 있어서, 나는 공식 홈페이지(https://ubuntu.com/download/raspberry-pi)에서 최근 버전인 ubuntu20.04의 이미지 파일을 다운받았다.
그런데, 공식 홈페이지(https://ubuntu.com/download/raspberry-pi)에 가면, 이 버전은 매년, 바뀔 것이다. 내가 지금 메뉴얼을 작성해놔도, 이 메뉴얼은 ubuntu20.04 설치를 위한 것 밖에 되지 못할 수 있다. 몇년 뒤에는 또 다시 새로운 버전으로 설치를 해야할 것이다.
아무튼 그래서 중요한 것은 몇년 뒤에도 공식 홈페이지(https://ubuntu.com/download/raspberry-pi)에 가면, 크게 두가지 방식의 이미지 파일이 있을 것이다. 하나는 "Ubuntu Desktop" 일 것이고, 나머지 하나는 "Ubuntu Server"일 것이다. 참고로, "Ubuntu Core" 도 있을 것인데, 이것은 지금 잘 모르겠다. 추측컨데, Ubuntu Desktop 이 가장 많은 응용프로그램들과 함께 ubuntu 를 설치해주는 이미지 파일인 것 같고, Ubuntu Server 는 Ubuntu Desktop보다는 적은 응용프로그램들과 함께 ubuntu를 설치해주는 이미지 파일인 것 같고, 그 때문에, Ubuntu Server 는 GUI(Graphic User Interface) 가 없다. 그리고 추측컨데, Ubuntu Core 는 정말 OS의 필수적인 프로그램들만 설치해주는 이미지 파일인 것 같다.
아무튼 그래서 나는 공식 홈페이지(https://ubuntu.com/download/raspberry-pi)에 가보니,
위와 같이 여러가지 선택지들이 있었는데, 나는 ubuntu 21.04 는 장기간 지원을 해주지 않는 버전이므로, 장기간 지원해주는 버전인 20.04 LTS 로 설치를 하고 싶었다. 그래서, 20.04 버전의 Ubuntu Desktop 이미지파일이 있었으면, GUI도 포함되어 있어서, 더 좋았겠지만, 어쩔수 없이, 20.04 버전의 Ubuntu Server 이미지파일을 다운로드 받았다. 그래서 GUI가 없는데, 어떡하냐? 라고 묻는다면, 그건 걱정할 필요 없다. 나중에 Ubuntu Server 로 설치한 후, GUI는 ubuntu 터미널에서 GUI를 설치해주면 된다. 그 자세한 방법은 뒤에 설명할 것이다. 참고로, 나는 라즈베리파이4 의 스펙을 충분히 활용하고 싶어서, Ubuntu Server 20.04 중에서도 "Download 64-bit"를 클릭해서 64bit 의 이미지파일을 다운로드했다.
sd카드를 리더기에 꼽고, 노트북에 usb로 꼽고, 이미지 파일 굽기 -
(관련 참고 영상 : https://www.youtube.com/watch?v=zasvSKaobVI )
이미지 파일 굽는 방법은 여러가지지만, 나는 공식 라즈베리파이 사이트(https://www.raspberrypi.com/software/)에서 제공하는, Raspberry Pi Imager 를 이용하여, 이미지파일을 구웠다.
구운 sd카드를 리더기에서 뽑고나서 라즈베리파이에 꼽고, 라즈베리파이에 전원 공급 -
(관련 참고 영상 : https://www.youtube.com/watch?v=zasvSKaobVI )
이때, 라즈베리파이에 wifi 를 바로 연결하려 하지말고, 인터넷 유선랜 케이블을 연결해준다. 유선랜을 연결했다면, 별도로 네트워크 관련되어서 위 관련 참고 영상에 나온 것처럼 네트워크 관련해서 별도의 코드작업을 해줄 필요 없다. 인터넷 유선랜 케이블을 연결하는 또 다른 이유가 있다. 그 이유는, 초기에는 ubuntu 관련 핵심적인 패키지들이 설치되는데, 이때 무선랜(wifi)으로 연결을 해놓으면, 네트워크가 불안정할때 이 패키지들이 제대로 설치가 안 될 수 있기 때문이다.
Ubuntu Server 에 Desktop GUI 설치 -
(참고 링크 : https://snowdeer.github.io/linux/2017/08/04/install-gui-desktop-on-ubuntu/ 여기서 "설치 명령어" 부분만 참고하세요. 나머진 필요없다.)
sudo apt-get update
sudo apt-get upgrade
apt-get install ubuntu-desktop
2. ROS noetic 설치
(참고 링크 : https://varhowto.com/install-ros-noetic-ubuntu-20-04/ -> 이 블로그 글을 보고 따라했다. http://wiki.ros.org/noetic/Installation/Ubuntu -> 이 공식 문서도 위 블로그 글과 동일한 것 같다. 공식 문서로 해도, 설치가 잘 되는지 직접 테스크 해보진 않았다. )
중간에 선택지가 있는데,
sudo apt install ros-noetic-desktop-full
sudo apt install ros-noetic-desktop
sudo apt install ros-noetic-ros-base
위 세가지 중에 하나를 선택해서, 명령어를 실행시켜야 하는데, 이 중에 나는
sudo apt install ros-noetic-desktop-full
를 실행했다.
그 뒤로 또 다시, 참고 링크 사이트의 지시를 따라서 했다.
'기술' 카테고리의 다른 글
라즈베리파이로 VR장갑 만들기 (0) | 2021.12.22 |
---|---|
ssh 접속 방법 (0) | 2021.12.11 |
라즈베리파이4에 라즈비안 설치방법 (0) | 2021.12.09 |
nano 에디터 단축키 (0) | 2021.12.09 |
[부품 구입 사이트] (0) | 2021.11.28 |