Raspberry Pi에 Ubuntu 설치 및 ROS 환경 설정
요구환경
- 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