R1mini 라즈베리파이4 설치과정 정리

R1mini 에 라즈베리파이4를 설치하는 과정을 정리중입니다.

다음 링크에 정리된 과정을 따라 진행하였습니다.

설치 이미지는 다음 링크에서 다운로드합니다. https://github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/releases/download/v28/ubuntu-18.04.4-preinstalled-desktop-arm64+raspi4.img.xz

etcher 같은 프로그램으로 sdcard에 설치 이미지를 굽습니다.

설치 후 로그인하기 위해 다음을 입력합니다.
id: ubuntu
pw: ubuntu
그리고나서 패스워드를 변경합니다.

부팅한 다음 apt를 업데이트/업그레이드 진행합니다.

위 방법은 ROS설치과정에서 오류가 발생하여 다시 정리합니다.

rpi-imager 프로그램을 실행하여 raspbian buster를 sdcard에 굽습니다.

Screenshot from 2022-02-09 11-32-41

나머지 과정은 위 링크에 있는 과정과 동일하나 assimp 를 재설치하는 과정은 건너뛰어도 됩니다.

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

key를 등록

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

빌드를 위한 패키지를 설치

sudo apt-get update
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

rosdep을 init 하고 update

sudo rosdep init
rosdep update

ROS를 빌드하기 위한 작업공간을 만들어줌

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

Desktop 설치를 진행

$ rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
$ wstool init -j8 src melodic-desktop-wet.rosinstall

Assimp 오류 해결 부분은 건너뜀 (현재는 해결된거 같음)
추가 설치

sudo apt-get install libogre-1.9-dev

나머지 의존성 문제 해결

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

설치 진행

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

ROS를 bashrc 에 등록

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

roscore를 실행해봅니다.

ydlidar x4 구동 문제

catkin_ws를 만들고 https://github.com/YDLIDAR/ydlidar_ros 패키지를 다운로드 한 다음
catkin_make로 설치를 진행합니다.

ydlidar x4에 있는 2개의 micro-usb 포트를 라즈베리파이에 연결한 후
roslaunch 명령으로 라이다를 구동하면 아래 동영상처럼 모터가 움찍 하다가 멈춥니다.

아무래도 전압이 부족한듯 하여 스코프로 확인해봅니다.

역시 실행되자마자 전압이 0까지 떨어지는군요.
140ms 이후에 회복하는것을 확인할 수 있었습니다.

5v 전원을 외부에서 끌어다 쓰는경우에는 정상적으로 동작합니다.

혹시 이와 비슷한 문제를 겪었거나 해결하신분이 있으시면 답글 주시면 감사하겠습니다.
일단 동작은 되니까 배포를 해보겠습니다.