stella_teleop 모터 구동 문제 > STELLA_N2_Forum

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

STELLA_N2_Forum

stella_teleop 모터 구동 문제

페이지 정보

profile_image
작성자 김김김
댓글 3건 조회 89회 작성일 25-07-24 09:09

본문

STELLA N2 SBC 버전: STELLA N2

REMOTE PC 버전: Ubuntu 20.04

ROS 버전: ROS2 foxy

안녕하세요.
원격pc에서 키보드로 로봇을 구동하고 싶은데,
MYBOX에서 받은 이미지에는 stella_teleop 패키지가 없는 것으로 확인됐습니다. 그래서 STELLA_REMOTE_ROS2_N2_v2.0 저장소를 클론하고
그 내부에 있는 stella_teleop  패키지를 클론 빌드 했고, 각각 다른 ssh 터미널에서 한 쪽은 bringup launch.py 실행하고, 한 쪽은 keyboard 실행했는데
여전히 모터 구동이 되지 않습니다. 아래와 같이 stella_md_node가 켜졌다는 신호는 받았는데, 그 이후로는 종료됐다는 응답도, 다른 응답도 없습니다.
( [INFO] [stella_md_node-3]: process started with pid [1717] ) 어떻게 해결해야 하나요?




i@raspberrypi:~ $ ros2 launch stella_bringup robot.launch.py

[INFO] [launch]: All log files can be found below /home/pi/.ros/log/2025-07-24-01-02-20-177961-raspberrypi-1701

[INFO] [launch]: Default logging verbosity is set to INFO

urdf_file_name : stella.urdf

/home/pi/ros_colcon_ws/build/launch_ros/launch_ros/actions/lifecycle_node.py:84: UserWarning: The parameter 'node_name' is deprecated, use 'name' instead

  warnings.warn("The parameter 'node_name' is deprecated, use 'name' instead")

/home/pi/ros_colcon_ws/build/launch_ros/launch_ros/actions/lifecycle_node.py:95: UserWarning: The parameter 'node_executable' is deprecated, use 'executable' instead

  super().__init__(name=name, namespace=namespace, **kwargs)

/home/pi/ros_colcon_ws/build/launch_ros/launch_ros/actions/node.py:190: UserWarning: The parameter 'node_namespace' is deprecated, use 'namespace' instead

  warnings.warn("The parameter 'node_namespace' is deprecated, use 'namespace' instead")

/home/pi/colcon_ws/install/ydlidar_ros2_driver/share/ydlidar_ros2_driver/launch/ydlidar_launch.py:49: UserWarning: The parameter 'node_executable' is deprecated, use 'executable' instead

  arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],

/home/pi/colcon_ws/install/ydlidar_ros2_driver/share/ydlidar_ros2_driver/launch/ydlidar_launch.py:49: UserWarning: The parameter 'node_name' is deprecated, use 'name' instead

  arguments=['0', '0', '0.02','0', '0', '0', '1','base_link','laser_frame'],

[INFO] [stella_md_node-3]: process started with pid [1717]

[INFO] [ydlidar_ros2_driver_node-4]: process started with pid [1718]

[INFO] [stella_ahrs_node-6]: process started with pid [1720]

[INFO] [robot_state_publisher-1]: process started with pid [1715]

[INFO] [joint_state_publisher-2]: process started with pid [1716]

[INFO] [static_transform_publisher-5]: process started with pid [1719]

[stella_ahrs_node-6] 

[stella_ahrs_node-6] PortName : /dev/AHRS Connect OK 

[stella_ahrs_node-6] 

[robot_state_publisher-1] Parsing robot urdf xml string.

[robot_state_publisher-1] Link base_link had 2 children

[robot_state_publisher-1] Link imu_link had 0 children

[robot_state_publisher-1] Link base_scan had 0 children

[ydlidar_ros2_driver_node-4] [INFO] [1753286541.474837191] [ydlidar_ros2_driver_node]: [YDLIDAR INFO] Current ROS Driver Version: 1.0.1

[ydlidar_ros2_driver_node-4] 

[robot_state_publisher-1] [INFO] [1753286541.480281834] [robot_state_publisher]: got segment base_footprint

[robot_state_publisher-1] [INFO] [1753286541.485050983] [robot_state_publisher]: got segment base_link

[robot_state_publisher-1] [INFO] [1753286541.485173704] [robot_state_publisher]: got segment base_scan

[robot_state_publisher-1] [INFO] [1753286541.485222000] [robot_state_publisher]: got segment imu_link

[ydlidar_ros2_driver_node-4] [YDLIDAR] SDK initializing

[ydlidar_ros2_driver_node-4] [YDLIDAR] SDK has been initialized

[ydlidar_ros2_driver_node-4] [YDLIDAR] SDK Version: 1.1.21

[static_transform_publisher-5] [INFO] [1753286541.519001610] [static_tf_pub_laser]: Spinning until killed publishing transform from 'base_link' to 'laser_frame'

[ydlidar_ros2_driver_node-4] [YDLIDAR] Lidar successfully connected [/dev/YDLIDAR:128000]

[ydlidar_ros2_driver_node-4] [YDLIDAR] Lidar running correctly! The health status: good

[ydlidar_ros2_driver_node-4] [YDLIDAR] Lidar init success, Elapsed time 638 ms

[ydlidar_ros2_driver_node-4] [YDLIDAR] Fail to get baseplate device information

[ydlidar_ros2_driver_node-4] [YDLIDAR] Start to getting intensity flag

[ydlidar_ros2_driver_node-4] [YDLIDAR] Auto set intensity 0

[ydlidar_ros2_driver_node-4] [YDLIDAR] End to getting intensity flag

[ydlidar_ros2_driver_node-4] [YDLIDAR] Create thread 0xAF4FEC40

[ydlidar_ros2_driver_node-4] [YDLIDAR] Successed to start scan mode, Elapsed time 3168 ms

[ydlidar_ros2_driver_node-4] [YDLIDAR] Module device info

[ydlidar_ros2_driver_node-4] Firmware version: 3.1

[ydlidar_ros2_driver_node-4] Hardware version: 3

[ydlidar_ros2_driver_node-4] Model: S2PRO

[ydlidar_ros2_driver_node-4] Serial: 2024082400091201

[ydlidar_ros2_driver_node-4] [YDLIDAR] Fixed Size: 720

[ydlidar_ros2_driver_node-4] [YDLIDAR] Sample Rate: 5.00K

[stella_ahrs_node-6] [AHRS INFO] AHRS_Calibration OK

[stella_ahrs_node-6] 

[ydlidar_ros2_driver_node-4] [YDLIDAR] Fixed Size: 720

[ydlidar_ros2_driver_node-4] [YDLIDAR] Sample Rate: 5.00K

[ydlidar_ros2_driver_node-4] [YDLIDAR] Fixed Size: 720

[ydlidar_ros2_driver_node-4] [YDLIDAR] Sample Rate: 5.00K

[ydlidar_ros2_driver_node-4] [YDLIDAR] Single Fixed Size: 420

[ydlidar_ros2_driver_node-4] [YDLIDAR] Sample Rate: 5.00K

[ydlidar_ros2_driver_node-4] [YDLIDAR] Successed to check the lidar, Elapsed time 259 ms

[ydlidar_ros2_driver_node-4] [YDLIDAR] Now lidar is scanning...

[stella_ahrs_node-6] [AHRS INFO] AHRS_Euler_RESET OK

[stella_ahrs_node-6] 

[stella_ahrs_node-6] [AHRS INFO] ACC, GYR, DEG, MAG / 10ms / binary 

[stella_ahrs_node-6] [AHRS INFO] RUN ....

[stella_ahrs_node-6] 

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요.

아이디어 로봇입니다.

우선 작성해주신 bringup 로그에서는 말씀해주신 내용과 같이 별다른 문제점이 보이지 않습니다.

stella_teleop 패키지 같은 경우에는 라즈베리파이에 설치하셔도 문제는 없지만 원격 PC 에서 실행하는 패키지이기 때문에 원격PC 패키지에 포함되어 있습니다.

원격 PC에서 키보드를 통한 구동이 목적이시라면 ROS는 네트워크를 통한 통신으로 원격 PC와 STELLA의 라즈베리가 같은 네트워크망에 있기 때문에 원격PC에서 해당 패키지를 실행하시면 cmd_vel 토픽이 네트워크에 publish되어 STELLA의 라즈베리파이에서 해당 토픽을 subscribe 할 수 있어 라즈베리파이에 해당 패키지를 설치하실 필요는 없습니다.

패키지를 라즈베리파이에 설치한 것과 별개로 현재 상황에서도 cmd_vel이 publish/subscribe는 되어야 하기 때문에 구동이 안되는 문제를 확인하기 위하여

teleop 노드를 실행한 터미널에서 발생하는 로그와 ros2 topic echo /cmd_vel 명령어로 cmd_vel이 publish 되고 있는지 확인하여 주시고
publish가 잘되고 있다면 원격 PC에서 rqt_graph를 확인하시어 stella_md_node가 cmd_vel을 subscribe하고 있는지도 확인하여 주세요.

profile_image

김김김님의 댓글

김김김 작성일

그럼 하나는 원격pc에서 ssh 접속한 터미널로 launch.py 실행하고, 하나는 ssh 접속하지 않은 상태의 터미널로 teleop 노드 실행하는 건가요? 로봇과 원격 pc는 별다른 설정을 해줄 필요 없이 같은 네트워크에 접속해 있기만 하면 통신하는 건가요?

profile_image

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

최고관리자 작성일

네 STELLA의 터미널에서는 bringup만 실행하여 주시면 됩니다.

원활한 통신을 위하여 원격 PC와 라즈베리파이의 홈 디렉터리에 위치한 .bashrc 파일에서

ROS_DOMAIN_ID 를 같은 값으로 설정하여 주셔야 합니다.

관련 설정은 아래 링크에서 좀 더 자세하게 확인하실 수 있습니다.
https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html

회원로그인

회원가입