데브코스 자율주행 TIL 13일차

YUNJI·2023년 10월 14일
0
post-thumbnail

오늘 공부한 내용 📑


  • 자이카 센서 장치

  • 자이카 센서 ROS Package

  • IMU 센서 활용


새롭게 알게 된 점 😎


1. 자이카 센서 장치 :

  • Camera : 최대 해상도 1920 * 1080, 보통 640 * 480 사진을 초당 30장 촬영

  • IMU (관성 측정 장치)

    : 가속도계와 회전속도계, 자력계의 조합을 사용하여 어떤 물체에 가해지는 힘, 회전 각속도 등을 측정하는 장치

    • 가속도 센서

      : MEMS 기술을 통해 반도체 칩 내 입체 구조물이 외부 힘에 의해 움직이는 것을 전기적 신호로 바꾸어 출력

      : X, Y, Z 축 방향의 직선 움직임과 기울어짐 자세 파악

      • roll (X축) : 차와 지면 사이의 각도 = 왼쪽 혹은 오른쪽 바퀴의 들림 정도를 파악

      • pitch (Y축) : 앞뒤 기울어짐 정도 = 언덕에서의 기울기 파악

      • yaw (Z축) : 좌우 기울어짐 정도 = 좌회전 우회전 여부 파악

    • 자이로 센서 (Gyroscope)

      : MEMS 기술을 통해 회전속도인 각속도 감지

    • 지자기 센서 (Magnetometer)

      : N극 방향 감지, 동서남북 방위각 감지

  • LiDAR : 0 ~ 360도까지 1도 단위로 (x, y) 좌표로 변환하여 장애물 위치를 판단하여 거리 센싱

  • Ultrasonic

    • 작동 원리

      1. 아두이노가 Trig 핀에 10us동안 high 신호 출력(start 명령)

      2. 초음파 센서가 40kHz 총므파 펄스를 8개 만들어 물체로 송신

      3. 반사된 초음파 펄스가 센서에 수신

      4. 송신과 수신의 시간 차에 비례하는 길이의 펄스를 echo 핀으로 출력

        : 소리의 속도는 초속 340m로 1cm 이동하는 데에 29us 소요

        : 물체까지의 거리 = (시간 차 [us] / 2) / 29[us][cm]

  • Depth camera : 카메라 2개(스테레오 카메라) 정보를 참고해 깊이 정보 획득

    >> Depth 정보와 RGB 정보를 융합해 3차원 공간 컬러 이미지 생성


2. 자이카 센서 ROS Package

  • 자이카 ROS topic

    • 모터제어기 : xycar_motor 노드에서 /xycar_motor

    • 카메라 : usb_cam 노드에서 /usb_cam/image_raw

    • IMU : xycar_imu 노드에서 /imu

      >> roll, pitch, yaw 정보와 각속도, 선속도 정보 발행

    • LiDAR : xycar_lidar 노드에서 /scan

      >> 측정한 거리 정보와 부딪힌 물체의 강도 정보 발행

    • 초음파 센서 : xycar_ultrasonic 노드에서 xycar_ultrasonic

      >> 여러 초음파 센서로부터 수집한 데이터를 Int32MultiArray 형태로 만들어 발행

    • depth 카메라 : realsense2_camera 노드에서 /color/image_raw 토픽, /depth/image_rect_raw 토픽 발행

      >> 3개의 카메라로부터 데이터 수집, 발행한 토픽을 RVIZ가 구독하여 3차원 이미지 생성


3. IMU 센서 활용

  • IMU 센서 데이터

    • 헤더 : 시퀀스 번호, 시간, 아이디 정보를 포함
    • Quaternion : 기울어짐 정보를 포함
  • IMU 센서 데이터 활용
    : euler_from_quaternion 함수를 활용하여 IMU 센서 데이터를 roll, pitch, yaw 형태로 변형

    >> from sensor_msgs.msg import Imu
    >> tf.transformations import euler_from_quaternion
    >> (roll, pitch, yaw) = euler_from_quaternion(Imu_msg)


느낀 점 💖


  • 저번 수업에서 느꼈던 것처럼 ROS를 다룰 때, 노드나 토픽 정보가 헷갈리는 게 문제였는데
    이렇게 TIL을 정리하면서 어느 정도 정리가 되는 것 같다.

  • 각 토픽이 어떤 정보를 포함하고, 어떤 형태로 나오는지 잘 알고 있어야 할 것 같다.

  • roll, pitch, yaw 값이 각각 어떤 걸 의미하는지 잘 기억하자.

0개의 댓글

관련 채용 정보