목록ROS (14)
:)

python test.py --bag_file ./bag_file/gangnam_2.bag --output_dir ./image --image_topic /pylon_camera_node/image_raw 참고 자료 https://gist.github.com/wngreene/835cda68ddd9c5416defce876a4d7dd9 Extract images from a rosbag. Extract images from a rosbag. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 토픽정보 확인 로컬에서 실행 폴더 구조 | | |___bag_file | |___ gangnam_2.bag | |___image | |___t..

자동차 운전 = 조형 및 속도 제어 조형각 제어 직선 차로 : 정면으로 직진 곡선 차로 : 차로가 휘어진 방향으로 조향(적절한 조형각 설정 필요) 속도 제어 직선 주로에서는 빠르게 곡선 주로에서는 적절히 느리게 (차선 이탈 방지) 차선의 위치 정보를 이용한 조형각 제어 양쪽 차선의 위치를 찾아 양쪽 차선의 중간값을 구하고 화면의 중앙과 비교 차이만큼 핸들 꺾기(조향각 제어) 조향각의 설정 인식된 양쪽 차선의 중점 카메라가 차량의 중앙에 위치하고 있다면 화면 중앙 지점과 거리차이에 따라 조향 정도를 설정 조형각 제어의 문제점 카메라를 통한 차선 인식의 한계점들 빛, 그늘, 반사광, 장애물 때문에 차선이 가리는 경우 급커브 등 차선이 시야에서 벗어나 안보이는 경우 차선 인식에 오류가 생기면 조형각 변동이 심..

슬라이딩 윈도우 기반의 차선인식 과정 Image Read : 카메라 영상신호를 이미지로 읽기 Warping : 원근변환으로 이미지 변형 Gaussian Blur : 노이즈 제거 Threshold : 이진 이미지로 변환 Histogram : 히스토그램에서 차선 위치 추출 Sliding Window : 슬라이딩 윈도우 좌우에 9개씩 쌓기 Polyfit : 2차 함수 그래프로 차선 그리기 차선 영역 표시 : 원본 이미지에 차선 영역 오버레이 #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import cv2, random, math, copy Width = 640 Height = 480 cap = cv2.VideoCapture("xycar_t..

차선 검출에 Warping을 적용 Warping 과정을 거쳐서 차선 추출 도로 이미지를 Bird Eye View 변형 처리 (Perspective 변환) 차선을 찾고 그걸 다시 원본 이미지에 오버레이 원근변환과 슬라이딩 윈도우를 이용한 차선 찾기 단계 Camera Calibration Bird`s eye View 이미지 임계값 및 이진 이미지 슬라이딩 윈도우로 차선 위치 파악 파악된 차선 위치 원본이미지에 표시 Camera Calibration 카메라는 곡면 렌즈를 사용해서 이미지를 형성 그로 인해 가장자리가 왜곡되어 보이게 됨 가장자리 왜곡으로 인해 물체의 크기, 모양이 변경되기도 함 시야의 위치에 따라 모양이 변경되기도 함 실제보다 더 가깝거나 멀게 보이기도 함 이미지의 왜곡은 카메라의 다양한 내부적..

이미지의 기하학적 변형 와핑(Warping) '뒤틀림', '왜곡하다'를 의미 영상시스템에서 말하는 Warping은 영상을 이동, 회전, 크기변환 등을 이용해 이미지를 찌그러뜨리거나 반대로 찌그러진 이미지를 복원하기 위한 처리 기법 변환 (Transformations) 좌표 x를 새로운 좌표 x`로 변환하는 함수 사이즈 변경(Scaling), 위치변경(Translation), 회전(Rotation) 등 (1) 강제변환(Rigid-Body) : 크기 및 각도가 보존되는 변환(ex. Translation, Rotation) (2) 유사변환(Similarity) : 크기는 변하고 각도는 보존되는 변환(ex. Scaling) (3) 선형변환(Linear) : Vector 공간에서의 이동 (4) Affine : 선..

Image Spcae vs Parameter Space Image Space (x, y 좌표계) Image Space에서의 직선은 Parameter Space에서 점으로 표현할 수 있음 Parameter Space (m(기울기), b(y절편) 좌표계) Parameter Space에서의 두 직선의 교점은 m, b가 같은 경우에 생김 Image Space에서 두 점을 지나는 직선을 의미 직선을 찾는 방법 Canny를 통해 edge를 찾고 그 edge의 점들을 parameter Space로 표현 Parameter Space에서 겹치는 직선이 많은 교점수록 그 교점이 의미하는 Image Space에서의 직선이 존재할 가능성이 높음 Parameter Spcae의 한계 기울기가 무한대인 직선은 표현이 어려움(m =..

차선 추종 주행 좌우 차선을 찾아내어 차선을 벗어나지 않게끔 주행한다. 차선을찾기 위한 작업 Image Read - 카메라 영상신호를 이미지로 읽기 GrayScale - 흑백 이미지로 변환 Gaussian Blur - 노이즈 제거 HSV - Binary - HSV 기반으로 이진화 처리 ROI - 관심영역 잘라내기 차선 검출을 위한 영상 처리 gray.py - 컬러(bgr8) 이미지를 흑백(grayscale) 이미지로 변환 import cv2 img = cv2.imread('sample.png') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('gray', gray) cv2.waitKey(1000) blur.py - 차선 인식에 방해가 되는 노이즈 제거..

카메라 활용 사례 카메라로 차선 등을 찾아 자율주행 구현 자선을 찾아 차선을 벗어나지 않고 주행 사람을 찾아서 사람을 쫓아 주행 앞차를 따라가도록(군집주행) 카메라를 이용한 주변상황 인지 전방 이동물체 인식 - 차량/사람/자전거 인지 등등 전방 고정물체 인식 - 교통표지판, 신호등, 정지선, 횡단보도, 언덕 등 카메라 영상으로 자기위치 파악(Localization) 앞에 펼쳐진 전경 또는 지형물을 보고 지도 데이터와 비교하여 현재 차량의 위치를 유추 카메라 관련 노드와 토픽 /usb_cam 노드에서 발행하는 /usb_cam/image_raw 토픽 /usb_cam/image_raw/compressed 토픽 이용 카메라 기능을 사용하려면 Launch 파일에서 usb_cam 노드를 실행 Pkg (패키지) = ..
IMU 센서 개요 IMU (Inertial Measurement Unit) 관성 측정 장치 : 가속도계와 회전속도계, 자력계의 조합을 사용하여 어떤 물체(질량)에 가해지는 힘. 회전 각속도 등을 측정하는 장치 가속도 센서 가속 센서(Accelerometer) MEMS (Micro-Electro-Mechanical Systems) 기술로 만들어지는 센서 반도체 칩 안에 입체적인 구조물 만듬 구조물이 외부의 힘에 따라 움직이는 것을 전기적 신호로 바꾸어 출력 x,y,z 축 방향의 직선 움직임과 기울어짐의 자세 파악 자이로 센서(Gyro Sensor) x,y,z 축을 기준으로 한 회전 움직임 감지 Game UI, 리모컨(wii), 실내(GPS) 지자기 센서(Magnetometer Sensor) 3축 나침반 방..

Odometry Odometer 차량이나 로봇이 주행하며 이동한 거리를 측정하는 기기 Odometry 오도미터 등의 기기의 측정값으로 움직이는 사물의 위치를 측정하는 방법 자동차 핸들과 앞 바퀴 앞 바퀴 2개 회전시 꺾이는 각도가 다르다 안쪽과 바깥쪽 회전 원의 중심이 일치해야함. Ackermann Steering 간단한 기계식 구조 회전시 꺾이는 각도가 다르도록 안쪽과 바깥쪽 회전 원의 중심이 일치해야 한다. 자동차의 위치 정보 현재 위치 : (x,y) 좌표 + Θ 세타 이동 속토 : 선속도 v + 각속도 w 조향각 δ 델타