오픈 하드웨어/라즈베리파이

Raspberry Pi에 Ubuntu 설치 및 ROS 환경 설정

hujoo 2023. 7. 12. 11:27

요구환경

  • Raspberry pi 4 8GB model (over 4GB RAM recommanded)
  • 16GB 이상 micro SD card
  • Raspberry Pi 와 연결 가능한 display
  • USB keyboard & mouse
  • WIFI 환경
  • Raspberry Pi imager
  • Ubuntu 18.04.xx LTS 이상
  • ROS Melodic

Ubuntu 설치

Raspberry Pi imager에서 

Other general-purpose Os 선택 -> ubuntu -> Ubuntu Server 23.04(64-BIT)

저장장치 선택

이미지 쓰지 전에 설정 버튼 클릭해서 환경 설정

SSH 사용 체크, 사용자이름 및 비밀번호 설정, 무선 LAN 설정

 

이미지쓰기 완료 후 sd카드를 raspberry pi에 삽입후 전원 인가

 

 

 

패키지 업데이트

$sudo apt-get update

$sudo apt-get upgrade -y

 

필수 패키지 설치

$sudo apt-get install build-essential git

 

ssh 설치 및 성정

$sudo apt-get install ssh

$sudo systemctl enable ssh

$sudo systemctl start ssh

$sudo systemctl status ssh

 

Irzsz설치

$sudo apt-get install lrzsz

 

Network Manager 설치

$sudo apt-get install network-manager

 

ubuntu GUI 설치

$sudo apt-get install ubuntu-desktop

 

완료후

$sudo reboot

 

 

ROS 설치

 

<사전 설정>

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

 

<ROS Melodic 설치>

$sudo apt update

$sudo apt upgrade -y

 

기본 버전과 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 rosdep init$rosdep update$echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc$source ~/.bashrc

 

의존성 패키지 설치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

$srource ~/.bashrc

 

<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

 

<설치 확인>

설치가 정상적인지 확인

$printenv | grep ROS

 

기본 turtlesim 테스트

명령줄은 각각의 터미널 창에서 입력

 

$roscore

$rosrun turtlesim turtlesim_node

$rosrun turtlesim turtle_teleop_key