어떤 SBC를 사용하나?!

작년 프로젝트에서 Odroid C4제품을 사용했던 기억이 난다.

 

당시 navigation을 진행하면 램 부족인지 아님 어떤 이유에서 노드가 비정상적으로 종료되어서 고생을좀 했다.

 

C4는 4GB모델이었다.

 

라즈베리파이가 상대적으로 정보도 많고 안정적이라 생각하지만 재고확보와 가격측면에서 불합격이다.

 

Odroid 제품을 사용하면서 좋았던점은 한국제품이며 Forum의 답변이 매우 빠르다는 점이였다.

 

가격대비 성능 아웃풋이 좋기도한데 (그래프상 수치로) 강제종료 여러번으로 CPU가 죽어버리는 상황도 있었다.

 

무튼 가성비 킹정이다.

 

이번에는 Odroid M1 8GB 제품을 사용한다.

 

램이 무려 8GB이며 SSD도 지원을 한다. 

 

나는 eMMC를 사용했는데, Odroid에서 안정성이 좋다고 미는 상품이라 이번에 구매를 해봤다.

 

그간 SD카드를 사용하며 불편함을 느낀점은 없었지만 새로운 방식의 read/write를 경험해본다는 것으로 접근해보았다.

 

https://www.hardkernel.com/shop/odroid-m1-with-8gbyte-ram/

 

ODROID-M1 with 8GByte RAM – ODROID

ODROID-M1 with 8GByte RAM For Bank transfer TIER DISCOUNT RATE 30 ~ 59 3% 60 ~ 119 4% 120 ~ and more 5%

www.hardkernel.com

https://www.hardkernel.com/shop/32gb-emmc-module-m1-linux/

 

32GB eMMC Module M1 Linux – ODROID

32GB eMMC Module M1 Linux For Bank transfer Tier Discount rate 5 ~ 9 3% 10 ~ 19 6% 20 ~ 49 10% 50 ~ and more 14%

www.hardkernel.com

이미지 다운로드

이미지는 아무 이미지나 다운받으면 안된다. 

 

어디에서든 마찬가지겠지만 공식적으로 권장하는 방법을 따라하는게 좋다.

 

특히 Odroid는 꼭! 지원되는 이미지를 사용해야 부팅이 된다.

 

아래 사이트에서 본인의 보드에 맞는 트리를 타고가며 이미지를 다운받는다.

 

파일 확장자가 .zx인데 ZIP7을 받아 연결프로그램으로 지정해주고 압축을 해제해준다. 꼭!

 

https://wiki.odroid.com/odroid-m1/os_images/ubuntu/ubuntu

 

odroid-m1:os_images:ubuntu:ubuntu [ODROID Wiki]

 

wiki.odroid.com

이미지 굽기

이미지를 구워주는 툴은 다양한 종류가 있다.

 

BalenaEtcher를 권장하므로 해당 프로그램을 다운받는다.

 

https://www.balena.io/etcher

 

balenaEtcher - Flash OS images to SD cards & USB drives

A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.

www.balena.io

 

굽는건 쉬우므로 스킵

ROS2설치

Odroid를 처음 부팅하면 이것저것 잔 오류가 많이 났던것 같다.

 

특히 이건 매번 나오는 에러인데 could not get lock /var/lib/dpkg/lock 이건 Google에 많은 분들이 잘 정리해 두셨다.

 

*** eMMC를 받으면 OS이미지가 미리 설치되어있다.

*** 하지만 그 이미지를 이용하여 무언가 설치하려 한다면 sudo apt-get update에서 해결되지않는 오류가 날 수 있다.

*** 따라서 eMMC를 수령하고 OS이미지를 위 사이트에서 최신버전으로 재설치 하는것을 적극 권장한다.

 

ROS2는 1장에서 설명한대로 Galactic distro를 사용할 예정이다.

 

간혹가다 공식 홈페이지의 Install을 따라해도 오류가 난다는 분이 계신다.

 

보통은 중간에 코드를 전체 복사붙여넣기 하다가 입력되지 않은 코드로인한 문제일 가능성이 높다.

 

따라서 에러가 발생한다면 처음부터 차근차근 시도해보는것을 추천한다.

 

ROS2 설치 페이지는 아래 있다.

 

손 댈 필요없이 간단히 설치되는 Debian으로 설치한다.

 

https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html

 

Ubuntu (Debian) — ROS 2 Documentation: Galactic documentation

Debian packages for ROS 2 Galactic Geochelone are currently available for Ubuntu Focal. The target platforms are defined in REP 2000 Make sure you have a locale which supports UTF-8. If you are in a minimal environment (such as a docker container), the loc

docs.ros.org

git 설치

Cli환경에서 git을 사용하여 레포지토리를 관리할 예정이므로 git을 다운로드한다.

 

sudo apt install git

이후 GitHub에 접속해서 내 레포지토리를 git clone을 한다.

 

여기서 잠깐, 비공개 레포지토리라 매번 로그인하고 비밀번호 입력하는게 귀찮기 때문에 SSH를 이용한 방식으로 git clone을 했다.

 

SSH를 이용하여 Git clone하는 방법은 감사하게도 다른분이  Google에 매우 쉽게 정리해두셨다.

 

이렇게 되면 Git 세팅도 끝난다.

 

Ubuntu에서 Git desktop이 지원되지 않는게 너무 슬프다.

 

SSH 연결

SBC보드는 Master PC와 동일 네트워크상에서 무선 연결이 되어야 한다.

 

따라서 SBC와 Master PC간의 SSH통신을 잡아준다.

 

두 기기가 같은 무선네트워크에 잡혔다면 Master PC의 주소창에서 192.168.0.1 로 접속하여 로그인한다.

 

네트워크 섹션에서 기기마다 할당된 네트워크 IP를 확인한 후 Master PC의 CMD(윈도우)혹은 Terminal(우분투)에서 접속을 해본다.

 

ssh odroid@192.168.0.x

보통은 ssh는 기본으로 다 깔려있으니 만약 되지 않는다면 ssh가 활성화되어있는지 체크해볼수도 있다.

 

이렇게 하면 왠만한 초기세팅은 끝나게 된다.