명도차 기반 차선인식

BERT·2023년 4월 10일
0

ROS

목록 보기
18/23

차선 주행

USB 카메라와 OpenCV를 이용하여 차선 인식
인식된 차선을 따라 스스로 주행

카메라 입력 영상에서 적절한 영역 크롭
바깥에서 중앙으로 흰색 점 감지
점 주위에 사각형 생성 후 사각형 내부 흰색점이 기준 개수 이상이면 차선으로 인식

OpenCV 기반 영상 처리

Image Read카메라 영상신호를 이미지로 읽기
GrayScale흑백 이미지 전환
Gaussian Blur노이즈 제거
HSV - BinaryHSV 기반 이진화 처리
ROI관심영역 크롭

gray.py

blur.py

line.py

canny.py

nonzero.py


카메라 영상에서 차선 검출

BGR \rarr HSV \rarr 이진화
차선 검출
이진화된 이미지를 BGR로 변환하여 색상을 가지는 사각형 표시

동영상 파일 프레임 : 640x480
세로 : 430~450 vertical:vertical + scan_height_20
가로 : 0~200scan_width, 440~640

패키지 생성

xycar_ws
├ src
│ └ line_drive
│   └ src
│     ├ line_find.py
│     ├ track2.avi
│     └ track1.avi
├ build
└ devel

python line_find.py

검정 차선 인식을 위한 색상 반전 시

문제 1

roi 위치 부적절

vertical 430 \rarr 360 수정
scan_width line 추가

문제 2

exposure 150 기준 hsv 범위 부적절

hsv_threshold 60 \rarr 230 수정

문제 3

pixel 역치값 부적절

pixel_threshold 0.8 \rarr 0.4 하향

잘보니깐 윈도우가 위에 있음
윈도우 중앙으로 이동 후 역치값 0.8 복구


RVIZ 차선 인식 주행

xycar_ws
├ src
│ └ line_drive
│   ├ src
│   │ ├ line_follow.py
│   │ └ cam_topic.bag
│   └ launch
│     ├ line_follow.launch
│     └ line_follow_rosbag.launch
├ build
└ devel

rosbag play -l cam_topic.bag
roslaunch linedrive line_follow.launch

roslaunch line_drive line_follow_rosbag.launch

문제

joint_states 토픽 출력되지 않는 것 확인
rostopic echo joint_states

rviz_odom 실행 시 제대로 출력되는 것 확인
roslaunch rviz_xycar rviz_odom.launch
rostopic echo joint_states

이미지 변수 오타로 인한 입력 데이터 부재 확인

0개의 댓글