STELLA_N2_pi_CAM 통신 오류 및 라즈베리파이 보드 내 talker/listener 동작 오류
페이지 정보
본문
사용한 이미지: raspberry_ros2_x4_v2.img
REMOTE PC 버전: Ubuntu 20.04,
ROS 버전: Ros2 foxy
---------------------------------------------------------------
<확인 사항>
1. 원격 pc와 라즈베리파이는 같은 wifi를 사용하고 있으며, ping을 통해 정상적인 통신이 되고있음을 확인함.
2. 원격 pc 내에서 talker, listener을 발행할 경우, 정상으로 작동함.
3. 라즈베리 파이 내에서 talker, listener가 작동하지 않아 multicast send/receive를 테스트해 본 결과, multicast는 동작함.
---------------------------------------------------------------
<문제점>
1. 원격pc와 보드를 셋팅한 이후, 로봇을 구동하고자 SSH 접속 터미널에서 robot.launch.py 파일을 실행하고, 원격 PC 터미널에서 teleop_keyboard 명령어를 입력하였지만 원격 PC 터미널에서 velocity가 증가하는 등 반응을 보이는 반면 실제 로봇은 동작하지 않음.
2. 배선 오류, 전원 인가, 통신 오류 등 예상되는 다양한 문제점 중 통신 오류임을 확인하고, 이에 원격 PC와 보드에 같은 도베인을 설정하였음에도 여전히 두 디바이스 간 통신이 되지 않음을 확인함.
3. 두 디바이스간 통신 뿐만 아니라, 라즈베리파이 내에서 talker/listener가 작동하지 않음을 확인하고 mlticasting 설정, ufw로 firewall 설정 등을 확인하였지만 여전히 작동하지 않음.
----------------------------------------------------------------
<질문>
1. 라즈베리파이 내에서 talker/listener가 작동하지 않는다는 것은 ROS 설치가 제대로 되지 않았다는 것이 의심되는데, ros2 topic list 등 여타 명령어가 동작함에도 ROS2 설치가 제대로 되지 않았다는 것을 확인하고 해결할 방법이 있을까요?
2. Stella N2 pi CAM 버전을 사용하는데, 라즈베리파이에 STELLA_N2_CAM_PI_X4_ROS2_v2.0.img 이미지가 아닌 raspberry_ros2_x4_v2.img를 사용한 것이 문제가 되나요? 또한, 두 이미지의 차이는 무엇인가요?
3. 라즈베리파이에서 talker/listener가 작동되지 않을 때 해결 방법을 알고계신다면 답변 부탁드립니다. 만약 뚜렷한 해결방안이 없다면, 원격pc 셋팅보단 라즈베리파이 셋팅을 먼저 의심해야하는 것이 맞을까요?
----------------------------------------------------------------
감사합니다.
- 이전글기기사이 통신오류 24.02.01
- 다음글Ros2 통신 불가능 24.01.30
댓글목록
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
아이디어 로봇입니다.
1. ros2 doctor 명령어를 사용하시어 ros2가 잘 설치 되어 있는지 확인 하실 수 있습니다.
2. STELLA_N2_CAM_PI_X4_ROS2_v2.0.img 이미지가 현 시점의 최신 이미지 입니다.
3. talker/listener 패키지를 다시 설치해보는 방법이 있을 것 같습니다. 해당 상황에서는 라즈베리파이를 우선으로 의심하는 것이 맞는 것 같습니다.
ghan300님의 댓글의 댓글
ghan300 작성일
안녕하세요, 답변 감사합니다.
추가적인 질문사항이 생겨 다시 여쭤보고싶습니다.
1. raspberry_ros2_x4_v2.img를 사용할 때 robot.launch.py를 실행시키면 ''Stella N1 Robot Setting OK''라는 문구가 뜹니다. N2 이미지를 다운받았는데, N1 이 셋팅되었다는건 단순 오타일까요?
2. ros2 doctor 명령어 실행 결과 다음과 같은 메시지가 출력되었습니다. 혹시 짐작가시는 해결방안이 있나 여쭤보고싶습니다.
pi@raspberrypi:~ $ ros2 doctor
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/__init__.py: 95: UserWarning: Check entry point PackageCheck fails to load.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/platform.py: 83: UserWarning: Distribution foxy is no longer supported or deprecated. To get the latest features, download the new versions at https://index.ros.org/doc/ros2/Installation/
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 56: UserWarning: Subscriber without publisher detected on /cmd_vel.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /imu/data.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /imu/data_raw.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /imu/mag.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /odom.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /robot_description.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /scan.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /tf.
/home/pi/ros_colcon_ws/build/ros2doctor/ros2doctor/api/topic.py: 53: UserWarning: Publisher without subscriber detected on /tf_static.
All 4 checks passed
최고관리자님의 댓글의 댓글
최고관리자 작성일
raspberry_ros2_x4_v2.img는 STELLA N2 발매 전 구버전의 STELLA N1 이미지입니다.
ros2 doctor 두번째 메시지 Distribution foxy is no longer supported or deprecated. To get the latest features, download the new versions at https://index.ros.org/doc/ros2/Installation/ 은 ros2가 불안정한 경우 나타나는 메시지 입니다.
우선 STELLA N2 CAM의 최신 이미지로 다시 설치하여 주시고 위의 메시지가 나타난다면 ros2 foxy를 재설치하는 과정이 필요할 것으로 보입니다.
ghan300님의 댓글의 댓글
ghan300 작성일
현재 STELLA N2 CAM의 최신 이미지로 다시 설치해서 진행해본 바, 라즈베리파이 내에서는 talker와 listener가 정상적으로 작동하는 것이 확인되었습니다.
다만, 여전히 원격PC와 라즈베리 파이는 통신이 되지 않는 것을 보입니다.
ping을 통해 서로 통신이 되는 것은 알 수 있지만, teleop_keyboard 명령에 대해 topic은 발행되나 실제 로봇은 움직이지 않습니다.
모터 배선 또한 의심하였지만, 라이다에 대해서도 두 디바이스 간 토픽을 주고받지 못하는 것으로 보아 네트워크 문제인 것 같은데, 해결방안이 있을까요..?
ghan300님의 댓글의 댓글
ghan300 작성일
추가적으로, 라즈베리 파이 내에서 talker, listener가 정상적으로 작동하기에 기존 remote PC에서 다운받는 라이브러리를 라즈베리 파이에 설정한 결과, 로봇이 움직이는 것을 확인하였습니다.
조립, 배선의 문제가 없는 것으로 판단하여 결국 원격 PC와 로봇의 통신이 안된다는 것을 알게 되었는데, 같은 wifi를 사용하고, ping으로 정상적인 소통이 되고있는 점을 볼 수 있으며, 각 디바이스에 ros가 정상적으로 설치되었는데도 통신에 문제가 생긴 점은 어떻게 해결할 수 있을까요..?
감사합니다.
최고관리자님의 댓글의 댓글
최고관리자 작성일
ros 기기 사이 통신이 안되는 현상이 발생하고 있는 것으로 보입니다.
이 현상에는 원인이 여러가지가 있어 하나씩 테스트 해보며 해결 방법을 찾아보아야 할 것 같습니다.
우선 아래 명령어를 원격PC와 라즈베리파이에서 사용하시어 NTP(Network Time Protocol) 서버 시간 설정을 하여주세요.
sudo ntpdate ntp.ubuntu.com