[긴급] 라즈베리파이 os와 ROS2 압축폴더 문제 > STELLA_N2_Forum

본문 바로가기
사이트 내 전체검색

STELLA_N2_Forum

[긴급] 라즈베리파이 os와 ROS2 압축폴더 문제

페이지 정보

profile_image
작성자 김김김
댓글 6건 조회 127회 작성일 25-07-22 01:04

본문

STELLA N2 SBC 버전: STELLA N2

REMOTE PC 버전: Ubuntu 20.04

ROS 버전: ROS2 foxy


MYBOX에서 제공하는 STELLA_N2_PI_X4PRO_ROS2_v2.0.img 를 sd카드에 굽고
https://idearobot.gitbook.io/stella-n2-raspberry-pi-4/stella-n2-2/raspberry-pi-single-board-computer/untitled
위 블로그에서 명시하는 명령어를 수행했습니다.

sudo apt-get update && sudo apt-get upgrade
하는 과정에서 ros2 저장소의 GPG 키가 만료되었거나 변경되었다는 오류가 떴고, 새로운 ROS2 저장소의 GPG 키를 추가해줬습니다.
이때 ROS2 저장소에서 제공하는 python3-colcon-notification 패키지가 라즈베리파이 os (Buster) 가 구버전이라 기본 dpkg 도구가 처리할 수 없는 최신 압축 방식을 지원하여 호환성 문제로 ros2 패키지를 업데이트/업그레이드를 시킬 수 없었고,

이로 인한 오류로
wget https://raw.githubusercontent.com/ntrexlab/ROS_INSTALL_SCRIPT/main/install_ros2_foxy_rp4.sh && chmod 755 ./install_ros2_foxy_rp4.sh && bash ./install_ros2_foxy_rp4.sh
명령어 실행에서도 오류가 떴습니다.
stella_ahrs, stella_md, ydlidar_ros2_driver 이 세가지 패키지에서 zst 압축 문제로 설치되지 않는 에러가 발생합니다.

ls -la /dev/ 로 연결된 디바이스를 확인해도
 YDLIDAR, MW, BT 항목은 있으나 AHRS는 확인되지 않습니다. 윈도우에서 UI로 AHRS가 잘 인식되는 것은 확인했고
https://blog.naver.com/idea_robot/223205922143
위 블로그에서 통신 설정도 마쳤습니다.

어떻게 해결해야 할지 알려주시면 감사하겠습니다.

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요.

아이디어 로봇입니다.

STELLA_N2_PI_X4PRO_ROS2_v2.0.img 파일을 사용하셨다면 해당 라즈베리파이에는 이미 ROS2가 설치되어 있고 STELLA 패키지도 빌드가 되어있습니다.
wget 명령어는 ros 설치 명령어이기 때문에 실행하시게 되면 오히려 충돌이 발생할 수 있습니다.

GPG키 만료의 경우 ros2 foxy에 대한 공식 지원이 종료되었기 때문에 발생하는 것으로 예상됩니다.
이에 가장 권장되는 해결 방안은 지원이 종료되지 않은 ros2 Humble 버전을 사용하시는 것입니다.

AHRS의 경우 ls -la /dev/ 를 확인하였을 때 ttyUSBn이 0~2까지 있는지 추가 확인 부탁 드리며,
USB 케이블의 문제일 수도 있기 때문에 윈도우에 연결하셨을 때와 로봇에 장착하셨을 때 같은 케이블을 사용하셨는지도 알려주시면
문제 원인을 파악하여 해결 방법을 안내 드리겠습니다.

profile_image

김김김님의 댓글

김김김 작성일

/opt 디렉터리 안에 ros 디렉토리가 없는데 정상인가요?
ls -la /dev/ 를 확인하였을 때 ttyUSBn이 0~2 까지 있는 것은 확인 했습니다만, 다른 모듈들과는 다르게 AHRS->ttyUSB0 는 확인할 수 없었습니다. 윈도우에 연결했을 때와 로봇에 장착했 때 같은 케이블을 사용했습니다. 혹시 stella n2 pi x4pro ros2 humble 버전은 이미지가 없나요?

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

저희가 제작한 라즈베리파이 이미지는 ROS를 wget 명령어를 사용하여 설치하였습니다.
이 경우 opt 디렉터리가 아닌 다른 경로에 설치가 되며 ROS 실행에는 문제가 없음을 확인하고 이미지를 생성하였습니다.
이미지를 구운 뒤 바로 ros2 launch stella_bringup robot.launch.py 명령어를 사용하여 보시면 ROS가 작동하는 것을 확인하실 수 있습니다.
라즈베리파이OS는 ROS의 공식 지원 OS가 아니기 때문에 이러한 문제가 일부 발생합니다.

ttyUSBn이 0~2 까지 있는 것이 확인 되었다면 AHRS는 정상 연결이 되어 있지만,
일부 설정 값이 다르게 적용되어 rules에서 AHRS를 감지하지 못하고 있는 상태인 것으로 예상됩니다.
YDLIDAR와 MD로 연결되지 않은 ttyUSB를 기준으로
udevadm info -a /dev/ttyUSBn | grep idVendor
udevadm info -a /dev/ttyUSBn | grep idProduct
udevadm info -a /dev/ttyUSBn | grep serial
명령어를 사용하시어 각 값을 확인하시고
STELLA 패키지 내부의 stella_bringup/stella.rules 파일을 nano혹은 vi와 같은 수정 툴으로 AHRS 부분에 값을 확인하신 값으로 수정하여 주신 다음
cd 명령어로 stella_bringup 디렉터리로 이동하시고
sh delete_udev_rules.sh 와 sh create_udev_rules.sh 를 한 번 씩 실행하여 주시면 AHRS의 rules가 적용될 것 입니다.

stella n2 pi x4pro ros2 humble 버전은 저희가 다른 개발 일정으로 인해 이미지를 만들지 못하여서 x4 버전 이미지로 설치하신 후
https://github.com/ntrexlab/STELLA_N1_PI_X4_PRO_ROS2_v2.0/tree/Humble/stella/ydlidar_ros 해당 라이다 패키지로 라이다 패키지만 교체하시어
빌드 후 사용하시면 문제 없이 사용하실 수 있으실 것입니다.

profile_image

김김김님의 댓글

김김김 작성일

그리고 라즈베리파이에 관련 패키지들이 이미 빌드되어 있다면, ros나 스텔라 라이브러리를 설치하지 않고 바로 ros를 활성화 시키고 launch.py를 실행시켜도 되는 것인지 궁금합니다.

profile_image

최고관리자님의 댓글의 댓글

최고관리자 작성일

네 이미지 파일을 공유하는 가장 큰 이유가 복잡하고 시간이 많이 소요되는 ROS 설치 과정을 생략하여 바로 ros를 사용하실 수 있게 하기 위한 것이기 때문에 바로 실행 시키실 수 있습니다.

다만 현재 상태에서는 X4-PRO와 AHRS rules의 설정은 필요하실 것 같습니다.

profile_image

김김김님의 댓글의 댓글

김김김 작성일

해결했습니다. 감사합니다!

회원로그인

회원가입