USB 카메라와 OpenCV를 이용하여 차선 인식
인식된 차선을 따라 스스로 주행
카메라 입력 영상에서 적절한 영역 크롭
바깥에서 중앙으로 흰색 점 감지
점 주위에 사각형 생성 후 사각형 내부 흰색점이 기준 개수 이상이면 차선으로 인식
Image Read | 카메라 영상신호를 이미지로 읽기 |
GrayScale | 흑백 이미지 전환 |
Gaussian Blur | 노이즈 제거 |
HSV - Binary | HSV 기반 이진화 처리 |
ROI | 관심영역 크롭 |
gray.py
blur.py
line.py
canny.py
nonzero.py
BGR HSV 이진화
차선 검출
이진화된 이미지를 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
검정 차선 인식을 위한 색상 반전 시
roi 위치 부적절
vertical
430 360 수정
scan_width
line 추가
exposure
150 기준 hsv 범위 부적절
hsv_threshold
60 230 수정
pixel 역치값 부적절
pixel_threshold
0.8 0.4 하향
잘보니깐 윈도우가 위에 있음
윈도우 중앙으로 이동 후 역치값 0.8 복구
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
이미지 변수 오타로 인한 입력 데이터 부재 확인