카테고리 없음

2. 라즈베리파이(raspberry pi4) Ubuntu 18.04 설치 및 ros melodic 설치

흑요석s 2023. 3. 24. 16:52

 

refus(usb 굽는 프로그램)

 

 github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/releases  다운

(공식홈페이지에는 없음.)

 

<시스템 업데이트>
sudo apt-get upgrade

<ssh 설치>
sudo apt-get install openssh-server

<계정설정>
sudo adduser 임시유저                   //유저가 새로 생성된다.
sudo adduser 임시유저 sudo          // sudo 권한

Setup ROS w/ Raspberry pi 4

INDEX

  1. Requirement
  2. OS setting
  3. ROS Install
  4. ISSUES

Requirement

  • Raspberry pi 4 8GB model (over 4GB RAM recommanded)
  • 16GB 이상 micro SD card
  • Raspberry Pi 와 연결 가능한 display (7-inch raspberry pi display 사용)
  • USB keyboard & mouse
  • WIFI 환경
  • Raspberry Pi Imager (balenaEtcher 로 대체 가능)
  • Ubuntu 18.04.xx LTS
  • ROS Melodic

OS setting

ROS melodic의 사용을 위해 ubuntu 18.04 버전을 설치한다.
raspberry pi에 적합한 ubuntu 이미지에 desktop 버전이 없기 때문에 server 버전을 설치하고 이후 GUI를 설치하는 방향으로 진행하였다.

1. OS 부팅 이미지 생성

  1. Ubuntu 이미지 다운로드 진행 (Requirement 내 Ubuntu 링크 참조)
  2. Pi Imager 혹은 balenaEtcher 로 SD카드에 부팅 이미지 굽기
  3. SD카드 삽입 후 raspi. 에 전원 인가2. 초기 계정 설정초기 ID : ubuntu
    초기 password : ubuntu2-2. 새 비밀번호로 변경
  4. 2-1. 초기 계정 로그인
  • 최초 계정 로그인시 비밀번호 변경 실행2-3. 루트 계정 활성화
  1. 루트 계정 비밀번호 생성
    $ sudo passwd root
    [sudo] password for rex:
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
  2. 루트 계정 활성화 확인
    ubuntu@ubuntu:~$ su - root
    Password:
    root@ubuntu:~#
    3. WIFI setupethernet 연결 가능할 경우 건너뛰어도 무방함
    nano 외의 편집기 사용해도 무관
    $ sudo nano /etc/netplan/50-cloud-init.yaml  
    편집기 실행 뒤 아래 내용 추가한 후 저장
    "큰따옴표"는 지우지말고 내부에 내용만 변경할 것.
    Tab 키 적용 안되니 띄어쓰기로 입력할 것.
    들여쓰기 수준은 wifis와 ethernet이 동일한 수준으로 맞추면 된다.
    wifis:
     wlan0:
         dhcp4: true
         optional: true
         access-points:
             "WIFI_NAME":
                 password: "PASSWORD"  
    저장한 후 재부팅 진행
    $ sudo reboot
    재부팅 후 ifconfig로 wifi 연결 확인
    $ ifconfig
    (optional)연결이 wlan0 이 아닐 경우도 있는 듯하다.
    ifconfig 명령어로 비활성화된 인터페이스의 이름을 확인할 수 있다.
    $ sudo ifconfig -a

4. 패키지 업데이트

이후 진행될 과정을 위해 미리 설치된 패키지의 업데이트를 진행

$ sudo apt-get update
$ sudo apt-get upgrade -y

시간이 많이 소요될 수 있음. coffee time!

5. 기타 패키지 다운로드

  1. 필수 패키지 설치
    $ sudo apt-get install build-essential git
  2. ssh 설치 및 설정
    $ sudo apt-get install ssh
    $ sudo systemctl enable ssh
    $ sudo systemctl start ssh
    $ sudo systemctl status ssh
  3. lrzsz 설치
    $ sudo apt-get install lrzsz
  4. Network Manager 설치
    $ sudo apt-get install network-manager
  5. ubuntu GUI 설치
    $ sudo apt-get install ubuntu-desktop
    시간이 많이 소요될 수 있음.
    완료 후 재시작
    $ sudo reboot

ROS Install

  1. 사전 설정

source.list 설정. package.ros.org에서 소프트웨어를 받아올 수 있도록 주소 설정

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

아래 명령어 입력했을 때 화살표 내용 나오면 성공

$ cat '/etc/apt/sources.list.d/ros-latest.list'
-> deb http://packages.ros.org/ros/ubuntu bionic main

접근 키 설정. gpg 메시지 processed 와 imiported 나올 시 성공.

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654​
  1. ROS Melodic 설치

설치 진행 전 패키지 업데이트 진행

$ sudo apt update
$ sudo apt upgrade -y (~package can be upgrade 가 나오면 진행)

기본 버전과 Gazebo와 Rviz 등이 추가된 풀 버전이 있음. 취사 선택하여 진행

# 기본 버전
$ sudo apt install ros-melodic-desktop
# 풀 버전
$ sudo apt install ros-melodic-desktop-full

시간이 많이 소요될 수 있음.
설치 완료 후 아래 진행

$ sudo apt-get install python-pip
$ sudo pip install -U rosdep
$ sudo rosdep init

rosdep init은 권한 문제로 sudo를 사용하지 않아야될 수 있다함. 일단 sudo로 진행함.

$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  1. 의존성 패키지 설치

ROS Melodic 설치를 완료하면 진행

# 기본 버전
$ sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev python-rosinstall build-essential git python-rosinstall-generator python-wstool
# 풀 버전
# sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool

설치 완료하면 workspace 생성 진행.

$ mkdir -p ~/WORKSPACE_NAME/src
$ cd ~/WORKSPACE_NAME/src
$ catkin_init_workspace
$ cd ..
$ catkin_make

catkin_make가 완료되면 배치파일에 해당 디렉토리 추가

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  1. ROS 환경 설정

배치파일에 소스 등록 외에도 명령어와 네트워크 설정을 추가

$ sudo nano ~/.bashrc

아래에 해당 내용추가. source 명령줄은 주석만 달고 그대로 사용.

# SET ROS Melodic
source /opt/ros/melodic/setup.bash
source ~/WORKSPACE_NAME/devel/setup.bash

# SET ROS NETWORK
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311

# SET ROS alias command
alias cw='cd ~/WORKSPACE_NAME'
alias cs='cd ~/WORKSPACE_NAME/src'
alias cm='cd ~/WORKSPACE_NAME && catkin_make'

변경한 설정 추가

$ source ~/.bashrc
  1. 설치 확인

설치가 정상적으로 완료되었는지 확인

$ printenv | grep ROS

기본 turtlesim 테스트.
명령줄은 각각의 터미널 창에서 입력.

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key

 

 

출처 : https://lopeace.tistory.com/10