Raspberry Pi 관련 확인 사항
기본 제공되는 SD카드는 Raspberry Pi OS Bookworm, ROS2 Jazzy 그리고 STELLA 관련 패키지가 모두 설치된 이미지가 구워진 SD카드입니다.
SD카드에 IMG를 다시 설치하려면 다음 링크에서 .img 형식 이미지 파일을 다운로드하여 재설치하시면 됩니다.
제공되는 Raspberry Pi OS의 초기 비밀번호는 1 입니다.
다음 링크에서 stella_n5_bookworm_ros2.img 파일을 다운로드할 수 있습니다.
제공된 .img 파일 대신 사용자가 직접 설치하는 경우, 다음 과정을 참고하여 OS와 ROS2를 설치합니다.
Raspberry Pi OS 설치
STELLA N5의 Raspberry Pi에 Raspberry Pi OS를 설치합니다.
ROS2 한 줄 설치
다음 명령어를 사용하여 ROS2 한 줄 설치가 가능합니다.
한 줄 설치를 완료했다면, 아래의 "STELLA N5 패키지 설치"부터 진행하십시오.
한 줄 설치에 오류가 발생하면, 아래의 메뉴얼에 따라 수동으로 설치해 주십시오.
Copy wget https://raw.githubusercontent.com/ntrexlab/ROS_INSTALL_SCRIPT/main/install_ros2_jazzy_pios.sh && chmod 755 ./install_ros2_jazzy_pios.sh && bash ./install_ros2_jazzy_pios.sh
OS 최신 업데이트
Raspberry Pi OS를 설치한 후, 다음 명령어를 사용하여 최신 버전으로 업데이트합니다.
Copy sudo apt-get update && sudo apt-get upgrade -y
ROS2 설치
Raspberry Pi OS에 ROS2를 설치합니다.
Copy wget https://s3.ap-northeast-1.wasabisys.com/download-raw/dpkg/ros2-desktop/debian/bookworm/ros-jazzy-desktop-0.3.2_20240525_arm64.deb
Copy sudo chmod 644 ./ros-jazzy-desktop-0.3.2_20240525_arm64.deb
sudo apt install ./ros-jazzy-desktop-0.3.2_20240525_arm64.deb
Copy source /opt/ros/jazzy/setup.bash
source ~/jazzy_ws/install/local_setup.bash
source ~/colcon_ws/install/local_setup.bash
아래와 같은 에러 메시지가 표시될 수 있지만, 메뉴얼을 따라 진행하면 해결되는 문제이므로 무시해도 됩니다.
-bash: /home/pi/jazzy_ws/install/local_setup.bash: No such file or directory
-bash: /home/pi/colcon_ws/install/local_setup.bash: No such file or directory
STELLA N5 패키지 설치
Copy sudo apt install python3-rosinstall-generator
Copy sudo apt install -y build-essential cmake python3-argcomplete python3-rosinstall-generator python3-rosinstall python3-pip
Copy sudo pip3 install --break-system-packages colcon-common-extensions colcon-ros
Copy pip3 install empy==3.3.4
error: externally-managed-environment 에러가 발생하시는 경우,
/usr/lib/python3.11 경로에 있는 EXTERNALLY-MANAGED 파일을 삭제한 후 다시 설치하십시오.
Copy cd ~/
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense
mkdir build && cd build
cmake .. -DBUILD_EXAMPLES=true -DFORCE_LIBUVC=true -DBUILD_WITH_CUDA=false -DBUILD_PYTHON_BINDINGS=false
make -j$(nproc)
sudo make install
Copy mkdir -p ~/jazzy_ws/src
cd ~/jazzy_ws/src
git clone https://github.com/ros/joint_state_publisher.git -b ros2
git clone https://github.com/ros/filters.git -b ros2
git clone https://github.com/ros/angles.git -b ros2
git clone https://github.com/ros/diagnostics.git -b ros2-jazzy
git clone https://github.com/ros-perception/laser_filters.git -b ros2
git clone https://github.com/ros-perception/image_common.git -b jazzy
git clone https://github.com/ros-perception/image_transport_plugins.git -b jazzy
git clone https://github.com/ros-perception/vision_opencv.git -b humble
git clone https://github.com/ros-perception/perception_pcl.git -b jazzy
git clone https://github.com/ros-perception/pcl_msgs.git -b ros2
git clone -b jazzy https://gitlab.com/boldhearts/ros2_v4l2_camera.git
cd ~/jazzy_ws
colcon build
source ~/.bashrc
cv_bridge/cv_bridge.hpp를 불러오지 못하는 에러가 발생하는 경우,
해당에러가 발생한 파일에서
#include <cv_bridge/cv_bridge.hpp>를
#include "cv_bridge/cv_bridge.h" 로 변경하십시오.
Copy mkdir -p colcon_ws/src
Copy cd ~/colcon_ws/src/
git clone https://github.com/ntrexlab/STELLA_N5_ROS2.git
cd ~/colcon_ws/src/STELLA_N5_ROS2/stella_teleop_bluetooth/stella_teleop_bluetooth/
chmod +x stella_teleop_bluetooth.py
Hailo AI HAT+ 관련 라이브러리 설치
Copy sudo apt update
sudo apt full-upgrade
sudo apt-get install libgstreamer1.0-dev gir1.2-gst-plugins-base-1.0 -y
sudo apt install hailo-all -y
sudo reboot
Copy cd ~/
git clone https://github.com/hailo-ai/hailo-rpi5-examples.git
cp /home/pi/colcon_ws/src/STELLA_N5_ROS2/stella_hailo_rpi5_ros2_examples/install_ros2.sh /home/pi/hailo-rpi5-examples
cd /home/pi/hailo-rpi5-examples
chmod +x install_ros2.sh
./install_ros2.sh
Copy cd ~/colcon_ws/src/STELLA_N5_ROS2/stella_bringup
sh create_udev_rules.sh
ls -al /dev/A* /dev/R* /dev/M*
Device 목록에 RPLIDAR, RPLIDAR2, AHRS, MW, BT 항목이 생성된 것을 확인할 수 있습니다.
패키지 컴파일
다음 명령어를 사용하여 패키지를 컴파일합니다.
Copy source ~/.bashrc
cd ~/colcon_ws
colcon build --symlink-install
Raspberry Pi SD 카드 설정
Raspberry Pi에 장착된 SD카드의 모든 용량을 활용할 수 있도록 다음의 과정을 진행합니다.
Copy sudo raspi-config
-> 6 Advanced Options를 선택
-> A1 Expand Filesystem을 선택
PCIe 3.0 속도 설정
AI HAT+ 의 Hailo 칩이 최고 성능을 발휘할 수 있도록 다음 과정을 진행합니다.
Copy sudo raspi-config
-> 6 Advanced Options를 선택
-> A8 PCIe Speed을 선택
-> Yes 선택
NTP(Network Time Protocol) 서버를 이용한 시간 설정
Copy sudo ntpdate ntp.ubuntu.com
설정 파일 수정을 통한 USB 전류 제한 해제
Copy sudo nano /boot/firmware/config.txt
Copy usb_max_current_enable=1
SSH를 이용하여 원격 접속 확인
Raspberry Pi에 원격으로 접속할 수 있도록 다음 과정을 진행합니다.
Copy sudo raspi-config
-> 3 Interface Options를 선택
-> P2 SSH를 선택하여 SSH를 Enable 함