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

필터 코드 적용
class MovingAverage:
def __init__(self, n):
self.sample = n
self.data = []
self.weights = list(range(1, n+1)) # 가중치 값 만들기
def add_sample(self, new_sample):
if len(self.data) < self.samples:
self.data.append(new_sample) # 새로운 샘플 맨 뒤에 추가
else:
self.data = self.data[1:] + [new_sample] # 꽉 찼으면 제일 오래된 샘플 버리기
def get_mm(self):
return float(sum(self.data)) / len(self.data)
def get_wmm(self): # 가중치 이동 평균
s = 0
for i,x in enumerate(self.data):
s += x * self.weights[i]
return float(s) / sum(self.weights[:len(self.data)])
'ROS' 카테고리의 다른 글
rosbag to image (0) | 2022.07.08 |
---|---|
슬라이딩 윈도우 기반 차선 인식 (0) | 2022.04.10 |
원근 변환과 슬라이딩 윈도우 (0) | 2022.04.10 |
와핑기법과 원근 변환 (0) | 2022.04.10 |
허프변환 기반 차선인식 (0) | 2022.04.10 |