올해부터 KASA(한국자동차안전학회)에서 주관하는 '국제 대학생 창작자동차 경진대회'에 참여하게 되어서 ERP42플렛폼을 이용한 자율주행 자동차를 제작해야 한다.
해당 플렛폼은 ROS(Robot Operating System)라는 프레임워크를 사용하게 되는데 이는 리눅스환경에서 돌아가기 때문에 우분투를 사용해야 한다.
ROS를 설치하는 과정에서 상당히 많은 에러가 발생했으며 이를 대응하는 국내 자료가 많지 않아서 기록해 보도록 하자.
에러1. 우분투와 ROS버전 확인
우분투 버전에 따라서 설치가 가능한 ROS버전도 달라진다.
필자의 경우 기존에 우분투가 설치되어 있어서 아무 생각없이 ROS를 설치하려고 했지만 설치가 되지 않으며 알수없는 오류가 뜨게 되었다.
정리하면 다음과 같다.
우분투 18.04버전을 사용한다면 ROS Melodic 설치
우분투 20.04버전을 사용한다면 ROS Noetic을 설치해야 한다.
그러나 현재 나와있는 자료 및 안정성을 고려한다면 우분투 18.04 버전을 추천한다고 한다.
이미 20.04를 설치한 나도 다시 초기화해야하는.......
에러2. (bash:xxxx:No such file or directory) 오류 해결법
만일 에러1을 고려하지 않고 진행했을 때 다음과 같은 오류가 나오게 된다.
bash: /opt/ros/melodic/setup.bash: No such file or directory
이 에러가 나오는 이유는 우리가 bash창에서 명령어를 입력하면 bashrc에 포함되어 있는 내용을 전부 스캔한 다음에 해당하는 명령어가 있으면 실행하는 구조이지만 무슨 이유에서인지(아마도 버전문제..)해당 명령어를 사용할 수 없기 때문에 에러가 나오게 된다.
따라서 이를 해결하기 위해서는 다음과 같다.
1. home 디렉토리(내 파일) 확인
2. ctrl + h 를 눌러서 숨겨진 항목까지 확인하기
3. .bashrc 파일 들어간 후 맨 밑으로 내리기.
4. 오류에 해당하는 줄 지운 다음 저장하기.
에러3. (N: Ignoring file xxxx as it has an invalid filename extension )오류 해결법
위의 두 과정을 무시한채 진행한다면 다음과같은 에러가 뜨면서 더 골치아파진 상황이 오게 된다.
N: Ignoring file 'ros-latest.list' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
위 에러는 sudo apt update를 통해 패키지를 업데이트 할 때 해당 디렉토리에 맞는 패키지가 없을때 적용되는 에러이다.
사실 변건 아니고 해당 경로에 가서 ros로 시작하는 파일을 전부 삭제하면 된다.
~ cd /etc/apt/sources.list.d/
~ sudo rm ros-latest.list
오늘의 결론
작업을 할때 무작정 시작하지 말고 해당 작업을 하기 위해 어떤 자원이 필요한지,
어느버전과 호환이 되는지 잘 알아보고 진행하자.
'리눅스 > ROS' 카테고리의 다른 글
[ROS] 로봇팔 시뮬레이션 제어 및 통신 (2) | 2023.03.18 |
---|---|
[ROS] 기본 용어 및 컨셉 (0) | 2022.02.25 |