전체 글

· Embedded
정의DMA는 CPU가 직접 데이터를 옮기지 않고, 주변장치가 메모리(RAM)와 직접 데이터를 주고받도록 하는 기능이다. 예를 들어, DMA가 없다면 UART에서 1000바이트 데이터를 수신할 때, CPU가 개입해 데이터를 읽고 RAM에 저장하고 다음 데이터를 수신하는 과정을 반복한다. 그러면 데이터를 복사하는데 CPU를 낭비하게 되는 것이다. DMA를 사용하면, CPU가 DMA에 데이터를 읽고 RAM에 올려놔라고 명령을 해두고 다른 일을 할 수 있게 된다. 그래서 DMA는 UART 데이터를 받아 곧바로 RAM에 복사하고 작업이 끝나면 CPU에 인터럽트를 통해 작업 종료를 알린다. 목적DMA를 사용하면 CPU의 부하를 줄이고 데이터를 빠르게 전송할 수 있다. 주의점1. 캐시 일관성 문제Cortex-M7이나..
제어란 어떤 대상의 출력이 원하는 값을 따르도록 그 대상에 가하는 입력을 조작하는 것이다.제어 시스템의 목적은 총 네 가지로 정리된다.출력이 목표값을 따라가게 하는 것(추종)외부에서 들어오는 교란의 영향을 줄이는 것(외란 억제)시스템이 발산하지 않게 하는 것(안정화)모델이 정확하지 않아도 성능을 유지하는 것(강인성) 개루프 제어 출력을 측정하지 않고, 미리 정해진 규칙에 따라 입력만 가하는 방식이다. 출력이 입력에 아무 영향을 주지 않으므로 신호가 한 방향으로만 흐른다. 쉽게 설명하면 정해진 코스대로 동작하는 세탁기를 떠올리면 된다. 세탁물의 상태에 따라 새로운 제어나 동작이 추가되지 않기 때문이다.Y(s) = C(s),G(s),R(s) 페루프 제어 출력을 측정하여 기준입력과 비교하고, 그 차이인 오차..
요약충전기는 계통 전력을 차량이 받을 수 있는 형태로 넘겨주면서, 그 과정을 보호하고 계량하는 장치다. SECC 입장에서 하드웨어는 차량과 통신으로 약속한 내용을 실제로 실행하는 부분이다. 1. 충전 방식 분류충전기는 전력 변환 위치(AC/DC), 법령상 출력(급속/완속), 연결 방식으로 나뉘고, SECC가 해야 할 일도 이 분류에 따라 달라진다. 1-1. AC 충전 vs DC 충전구분AC 충전DC 충전전력 변환 위치차량 내부 OBC(On-Board Charger)충전기 내부 파워모듈속도 제한 요인차량 OBC 용량충전기 출력, 배터리 수용 능력충전기 구조보호·개폐·계량 + CP 제어 (단순)파워모듈, IMD, 냉각 등 (복잡)차량과의 통신CP PWM 기본 신호만으로 충전 가능디지털 통신 필수 (CCS는 ..
· Embedded
OSEK은 차량용 임베디드 시스템을 위한 운영체제, 통신 스택, 네트워크 관리 프로토콜을 만든 표준 규격이다.OSEK OS는 차량용 real time OS 표준화 단쳬 및 표준 규격을 말한다. 1. 배경차량용 제어기 소프트웨어를 각 업체마다 독립적으로 개발하며 API 가 호환되지 않았다. 서로 다른 운영체제로 인해서 SW 재사용성이 떨어지고 개발에 막대한 비용을 투자해야 했다.운영체제가 다양해지면서 유럽 자동차 업체들이 OSEK 단체를 조직해 차량용 OS 표준을 개발하기로 했다. 2. 목적SW 이식성과 재사용성을 높이기 위함이다.API가 달라지면 소스 코드 상 호환이 어렵기 때문에, 표준화된 규격을 사용해서 호환성을 높였다. 3. 주요 기능OSEK OS에서는 Task, Alarm, Interrupt, R..
· Mobility/HEV
Full Hybrid 차량은 병렬형, 직렬형, 동력분기형 3가지로 나눌 수 있다.그 중에서도 병렬형 하이브리드 차량은 모터의 장착 위치에 따라서 P0~P4로 분류된다. P0 : 벨트 구동 스타터 제너레이터, 엔진과 회전속도가 동일P1 : 엔진 크랭크 샤프트에 연결된 모터, 엔진과 회전속도가 동일P2 : 기어 입력 샤프트에 연결된 모터,P3 : 기어 출력 샤프트에 연결된 모터, 변속기 단수에 따라 속도 조절P4 : 동력축에 연결된 모터 P0모터가 엔진의 가장 끝에 위치하는 곳엔진을 크랭킹시키며, 엔진이 회전하고 있을 때는 모터와 인버터를 통해 발전기 역할도 수행내연기관이 장착된 HEV, PHEV는 반드시 P0에 모터를 장착해야 함. P1모터가 엔진의 크랭크 샤프트에 위치축 방향으로의 모터 크기가 제한..
· Mobility/HEV
1. 하이브리드 차량(HEV)란? 엔진과 전기 모터를 운행하는 차량, 즉 전기 모터와 엔진의 장점만을 사용. 가솔린 엔진은 최대 효율을 내는 구간이 협소하고 높은 RPM에서 최대 토크가 출력되기 때문에 낮은 RPM에서 전기 모터를 구동시켜 효율을 높이는 방식 엑셀을 밟는 즉시 0 RPM에서 최대 토크를 발휘 => 낮은 RPM에서 최대 토크가 나오는 디젤 엔진과 맞지 않음. 주요 구성 요소: 엔진(앳킷슨), 구동 모터, 고전압 배터리, 인버터, LDC, HCU *내연기관: 특정 회전수 + 부하 구간에서만 효율이 좋고 저속 토크가 약함 하이브리드 주행 상태출발: 높은 토크가 요구되기 때문에 전기 모터 구동저속: 모터의 출력만으로 주행 가능가속: 엔진과 모터가 동시에 동작중/고속: 엔진의 효율이 가장 좋을 ..
Feedback 제어란 반응형 제어 방식으로, error가 발생한 후에 수정이 이루어지는 방식이다.시스템의 출력을 측정해 목표값과 차이값을 구한 다음, 차이가 발생하면 값을 수정한다. Feedforward 제어란 예측형 제어 방식으로, 시스템에 외란(disturbance)이 영향을 미치기 전에 사전에 감지해 수정하는 방식이다.외란을 미리 측정하고 보정 신호를 생성하여 시스템의 출력을 원하는 값에 가깝게 유지할 수 있다.명령 신호에 대한 응답을 조정하는데 유용하지만, 외란을 정확하게 보상하기 위해서 정확한 process model이 필요하다는 단점이 있다.
PID 제어란?실제값과 목표값의 차이(error)를 이용한 제어 방식 P 제어: Proportional (비례 제어)I 제어: Intergral (적분 제어)D 제어: Differential (미분 제어) P 제어 현재의 오차(목표값 - 현재값)에 비례해서 제어량을 결정하는 방식이다.오차가 크면 강하게, 오차가 작으면 약하게 제어한다. 예를 들어, 모터의 목표 속도가 1000 RPM인데 현재 500 RPM이라면, 500만큼의 오차에 비례해서 전압을 강하게 인가한다.목표 속도에 가까워질수록 인가하는 전압이 줄어든다. P 제어는 목표값에 가까워지면 오차가 0에 수렴하게 되고, 제어기가 더 이상 힘을 주지 않아 목표값에 완전히 도달하지 못하고 살짝 못 미친 상태로 유지되는 잔류 편차(Steady-state ..
환경: Ubuntu 22.04ROS2 humble 1. driver 설치본인이 사용할 센서에 맞게 드라이버를 설치해야 한다. 이 논문은 Ouster lidar와 Xsens IMU, SBG Systems IMU를 기반으로 테스트되었기 때문에 드라이버를 설치해준다. Ouster Driverhttps://github.com/ros-drivers/ros2_ouster_drivers GitHub - ros-drivers/ros2_ouster_drivers: ROS2 Drivers for the Ouster OS-0, OS-1, and OS-2 LidarsROS2 Drivers for the Ouster OS-0, OS-1, and OS-2 Lidars - ros-drivers/ros2_ouster_driversg..
환경: Ubuntu 22.05ros2 humble 이전 글에 이어 Nav2를 사용해서 Navigating을 실제로 하려고 한다.https://2nnsv.tistory.com/223 [ROS2] Cartographer SLAM환경: Ubuntu 22.05 ros2 humble 먼저 navigation2를 사용하기 위해서 아래 명령어를 통해 필요한 패키지를 설치한다.sudo apt install ros-humble-navigation2 ros-humble-nav2-bringup 가제보로 시뮬레이션을 돌리고 싶2nnsv.tistory.com 먼저 환경 변수 설정을 해준다.source /opt/ros/humble/setup.bash export TURTLEBOT3_MODEL=waffle 하던 중에 아래와..
소은2
남소금