전체 글 30

[C#] TCP, UDP, Serial 통신

✅ TCP서버 (Server):TcpListener를 사용해 특정 포트에서 클라이언트의 연결을 기다립니다.클라이언트가 연결하면 TcpClient를 통해 데이터 송수신을 처리합니다.클라이언트 (Client):TcpClient를 사용해 서버의 IP와 포트에 연결합니다.연결 후 NetworkStream을 통해 데이터를 송수신합니다.🧪 WinForms TCP 클라이언트 예제using System;using System.Net.Sockets;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;public partial class ClientForm : Form{ TcpClient client; NetworkStream s..

카테고리 없음 2025.07.24

[Carla Project] Carla System 1: Carla Coordinate System

1. Carla Coordinate SystemCarla Docs를 참고하면 Carla는 UE(Unreal Engine) 좌표계를 따릅니다. UE 좌표계는 왼손 좌표계로 되어있어 벡터 연산할 때나 시각화할 때 헷갈리는 상황이 많이 발생했습니다. 왼손 좌표계를 보면 y축의 방향이 오른손 좌표계와 반대로 되어 있습니다. 저는 x, y 방향벡터의 외적이 +z 방향인 오른손 좌표계에 익숙하기 때문에 오른손 좌표계로 변환하여 개발했습니다. 2. Vehicle Coordinate차량 개발에 주로 이용되는 좌표계는 SAE 좌표계와 ISO 좌표계가 있습니다. 두 좌표계 모두 오른손 좌표계로 되어있고, z방향이 위인지 아래인지의 차이가 있습니다. 사실 좌표계의 일관성을 유지하면 어느 좌표계를 이용하든지 상관이 없지만,..

[Control] 상보 필터

'칼만 필터는 어렵지 않아' 책의 마지막 챕터인 상보 필터입니다. Ch 16 상보 필터센서 퓨전애서 상보 필터가 칼만 필터의 대안이 될 수 있습니다. 상보 필터는 단순하고 설계하기가 쉽습니다. 그리고 발산할 우려가 없다는 장점이 있습니다. 특히, 주파수 특성이 서로 보완적인 특성을 가진 센서를 퓨전할 때 큰 효과를 가져올 수 있습니다. 16.1 상보 필터의 개념상보 필터는 같은 물리량을 2개의 센서로 측정하는 경우에 사용됩니다. 각 센서 측정 값에 서로 다른 필터를 적용하여 결과를 합치는 구조를 갖고 있습니다. 이는 두 센서의 주파수 특성이 서로 다를 때 효과적입니다. ex) 하나는 고주파 성분, 하나는 저주파 성분을 잘 측정하는 경우 상보 필터는 설계하는 것은 G1(s)와 G2(s)를 설계하는 것입니다..

Control 2025.01.14

[ROS2] node, service, topic, action 명령어 정리

ROS2의 핵심 구성 요소인 노드, 서비스, 토픽, 액션에 대해 정리하고 관련 명령어를 정리해보겠습니다. Node노드란? ROS2에서 실행가능한 최소 단위로 데이터를 송수신하거나 특정 로직을 실행합니다. # 노드 실행ros2 run # 노드 리스트 확인ros2 node list# 노드 정보 확인ros2 node info  Service서비스란? 노드 간에 동기적으로 데이터를 요청하고 응답받는 방식입니다. 클라이언트가 서버에 요청(request)을 하면 응답(response)하며 메세지를 주고 받습니다. # service listros2 service list# service type 확인(파일명)ros2 service type # service type 확인(terminal에 띄우기)ros2 inter..

카테고리 없음 2025.01.09

[Control] 고주파 통과 필터

'칼만 필터는 어렵지 않아' 책의 Part 5는 고주파 통과 필터와 상보필터에 대해 다루고 있습니다. 그중 고주파 통과 필터에 대한 내용입니다. Ch 15 고주파 통과 필터(HPF: High-Pass Filter)고주파 통과 필터(HPF)는 저주파 통과 필터(LPF)와는 반대로 저주파 성분은 걸러내고, 고주파 성분은 통과시키는 필터입니다. HPF가 사용되는 예시는 비행기의 요 댐퍼가 있습니다. 요 댐퍼는 비행기의 흔들림을 막아주는 제어기로 yaw 값을 측정하고 회전을 방해하는 입력을 생성하는 방식으로 작동합니다. yaw 값을 그대로 이용하게 되면 기장의 조종 입력도 방해하게 되어 비행기의 조종성에 영향을 줄 수 있습니다. 이때 HPF를 이용하여 저주파 성분인 조종 입력을 필터링하여 진동만 상쇄하도록 합니..

Control 2025.01.09

[Control] 파티클 필터

'칼만 필터는 어렵지 않아' 책의 Part 4 비선형 칼만 필터의 마지막인 파티클 필터(PF: Particle Filter)입니다. Ch 14 파티클 필터14.1 파티클 필터의 기본 전략EKF와 UKF는 시스템이 정규분포를 따른다고 가정합니다. 하지만 파티클 필터는 정규분포를 따르지 않더라도 적용가능한 비선형 필터입니다. 파티클 필터는 다수의 파티클을 통해 비선형 모델의 확률 분포를 예측하고, 추정값으로 파티클의 가중치를 보정해 추정합니다.(UKF의 시그마 포인트를 이용한 추정과 유사) UKF는 UT를 활용하지만, 파티클 필터는 임의로 선정된 파티클을 이용합니다. 파티클 필터는 칼만 이득을 이용하여 추정하지 않기 때문에 오차 공분산을 계산하지 않습니다. 각 파티클의 가중합을 상태변수의 추정값으로 이용합니..

Control 2025.01.07

[Carla Project] Localization-1: Kalman Filter based IMU GPS Fusion Localization

Carla 시뮬레이션 상에서 자율주행 인지-측위-판단-제어를 모두 구현하는 프로젝트를 하고 있습니다. 첫 번째로 측위에 관한 내용입니다. 자율주행을 구현하기 위해 현재 위치를 정확하게 아는 것이 중요합니다. GPS, IMU와 같은 센서들이 측위를 위해 사용되고 있으며, 최근에는 카메라, 라이다를 이용한 측위에 관한 연구도 많이 진행되고 있습니다.  이번 포스팅에서는 IMU와 GPS를 이용한 간단한 글로벌 좌표 측위 방법에 대해 소개하고, Carla 시뮬레이터를 이용하여 검증해 보겠습니다. 1-1 GPS MeasurementGPS는 GNSS(Global Navigation Satellite System)의 한 부분으로, 위성 기반 위치 추적 시스템입니다. 경도와 위도를 측정할 수 있어 현재 차량의 글로벌 ..

[Control] 무향 칼만 필터(UKF)

'칼만 필터는 어렵지 않아' 책의 Part 4 비선형 칼만 필터 중 두 번째 무향 칼만 필터(UKF: Unscented Kalman Filter)입니다. Ch 13 무향 칼만 필터(UKF)UKF는 EKF에 비해 구현이 복잡하지 않아 실용적입니다. 만약 야코비안을 해석적으로 쉽게 구할 수 있다면 EKF가 유리하겠지만, 발산할 우려가 있거나 야코비안 계산이 오래 걸리는 경우 UKF가 유리합니다. 13.1 UKF의 기본 전략일반적인 비선형 시스템에서는 오차 공분산의 예측값(P-_k)을 해석적으로 구할 수 없습니다.EKF는 시스템 모델을 선형화하여 이를 해결하고 있습니다.이번에 소개하는 UKF는 선형화를 통한 근사가 아닌 샘플링을 통한 근사화 전략을 취합니다. UKF에서는 시그마 포인트와 무향 변환이라는 개념이..

Control 2025.01.05

[Control] 확장 칼만 필터(EKF)

'칼만 필터는 어렵지 않아' 책의 Part 4에 대한 내용입니다. Part 04에서는 비선형 칼만 필터에 대해 설명하고 있고, 첫 번째로 확장 칼만 필터(EKF: Extended Kalman Filter)입니다. Ch 12 확장 칼만 필터12.1 선형화 칼만 필터확장 칼만 필터는 선형화를 통해 비선형 모델을 선형으로 바꿉니다. 선형화 한 모델을 선형 칼만 필터 알고리즘에 적용하여 추정하며 비선형성을 극복하고 있습니다.선형화를 하게 되면 기준점 근처에서만 유사하므로 사용 시 주의할 필요가 있습니다. 만약 무시한다면 발산할 가능성이 있습니다. 12.2 확장 칼만 필터 알고리즘- 비선형 시스템 모델  선형 시스템 모델에서는 Ax 이런 식으로 A가 x와 독립적이었지만, 비선형 시스템 모델에서는 f(x)로 모델이..

Control 2025.01.04

[Control] 칼만 필터

책 '칼만 필터는 어렵지 않아'의 두 번째 장은 칼만 필터 기초입니다. 이 장에서는 선형 칼만 필터의 알고리즘에 대해 설명하고 있습니다. Ch 04 칼만 필터칼만 필터의 이론은 수학, 통계, 제어에 대한 배경 지식을 필요로 합니다. 하지만 칼만 필터의 구현은 공식화되어 있어 어렵지 않습니다. 이 책에서는 이론보다는 적용에 초점을 맞추었습니다. 4.1 칼만 필터 알고리즘  4.2 칼만 필터 알고리즘의 계산 과정칼만필터는 측정값을 이용하여 추정값을 내기 위해 사용됩니다. 이때 시스템 모델은 칼만필터에서 가정하는 값이 아닌 적용하는 시스템에 따라 엔지니어가 설계해야 하는 부분입니다. 시스템 모델이 실제와 얼마나 유사한지가 칼만필터의 성능에 큰 영향을 미칩니다.  칼만 필터를 의미를 기준으로 나누면 예측과정, ..

Control 2025.01.03