본문 바로가기

전체 글85

[차량 동역학] 크루즈 컨트롤 제어기 설계하기 1. 크루즈 컨트롤이란 크루즈 컨트롤은 엔진의 속도를 이용하여 차량의 속도를 조절하는 장치를 말합니다. 크루즈 컨트롤 제어기의 기본 목표는 차량을 운전자가 설정한 속도(target speed)로 갈 수있게 하는 것입니다. 크루즈 컨트롤 제어기는 실제 차량의 속도와 target speed를 비교하고 속도 차이가 발생하면 스로틀 각도를 조절합니다. 스로틀 각도를 조절함으로써 엔진 토크를 조절하고 이를 통해 속도 차이를 줄이게 됩니다. 속도 차이와 스로틀 각도는 직접적인 관계를 가지지 않기 때문에 크루즈 컨트롤 제어기 설계를 대부분 2단계로 나누어 제어기를 설계합니다. 크루즈 컨트롤 제어기는 그림 1과 같이 상위 제어기와 하위 제어기로 구성합니다. 상위 제어기는 설정 속도와 차량의 속도 차이를 통해서 하위 제.. 2021. 4. 14.
OSEK OS란 - OSEK OS overview 1. OSEK/VDX이란 OSEK은 차량용 임베디드 시스템을 위한 운영체제, 통신 스택 및 네트워크 관리 프로토콜을 만든 표준 기관 혹은 표준 규격 그 자체를 말합니다. 그중 OSEK OS는 차량용 Real-time OS 표준화 단체 및 표준 규격을 말합니다. 정식 명칭은 OSEK/VDX 입니다. RTOS에 대해 궁금하시면 다음의 글(RTOS(Real-Time OS)란?)을 읽어 보시길 추천드립니다. 차량용 제어기 개발 업체들은 차량용 소프트웨어를 사용하기에 알맞은 운영체제를 개발하기 위해 노력해왔습니다. 하지만, 운영체제를 업체마다 독립적으로 개발하면서 API가 호환되지 않았습니다. 서로 다른 운영체제로 인해 응용 소프트웨어의 재사용성이 떨어졌고 이로 인해 개발에 큰 비용이 들었습니다. 운영체제가 다양.. 2021. 4. 7.
STM32CubeIDE 헤더 파일 경로 추가하기 이클립스 빌드 시스템은 헤더 파일을 인식하지 못한 경우 fatal error : No such file or directory과 같은 에러를 만날 수 있습니다. 이 경우 헤더 파일 경로를 추가해서 헤더 파일의 경로를 이클립스 빌드 시스템에 알리는 과정이 필요합니다. STM32CubeIDE에서 헤더 파일 경로 추가하는 방법입니다. 프로젝트 우클릭 - 속성에 들어갑니다. C/C++ Build - Settings - MCU GCC Compliler - include paths로 들어갑니다. 아래 그림에서 빨간 네모로 표시해둔 버튼(초록생 화살표가 들어가는 아이콘)을 누릅니다. 헤더 파일 경로를 추가하는 창이 뜹니다. Workspace 버튼을 눌러서 추가하고자 하는 경로를 선택합니다. 경로가 추가되면 Apply.. 2021. 3. 24.
STM32CubeIDE 프로젝트 생성 및 빌드하는 법 STM32CubeIDE는 MCU 통합 개발 환경입니다. STM32 시리즈 MCU를 위한 주변장치 환경설정, 코드 생성, 컴파일, 디버깅 등의 기능을 제공합니다. Eclipse / CDT framework을 기반으로 제작되었습니다. ST 시리즈의 마이크로컨트롤러를 활용해 개발한다면 해당 IDE를 활용하면 됩니다. STM32CubeIDE는 다음 경로에서 설치할 수 있습니다: www.st.com/en/development-tools/stm32cubeide.html#get-software STM32CubeIDE - STMicroelectronics STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-.. 2021. 3. 6.
딥러닝에서 중요한 것 Intro '딥러닝을 잘한다는 건 무엇을 잘하는 거지?' 친구와 이 주제로 얘기를 한 적이 있었는 데 당시엔 결론 없이 이런 저런 이야기를 주고 받았던 기억이 있습니다. 아래의 영상이 이에 대해 좀 더 생각해 볼 거리를 주는 것 같아 정리를 해두려 합니다. 길지 않은 영상이니 관심 있다면 보시는 걸 추천드립니다. www.youtube.com/watch?v=A1rhMGibVc8&t=1s 딥러닝이 많은 걸 바꿔 놓았다. 딥러닝이 많은 걸 바꿨고 앞으로 더 많은 걸 바꿔 갈 것으로 보인다. 딥러닝을 활용하지 않은 방식보다 딥러닝을 활용한 경우가 결과가 훨씬 좋은 경우가 자주 보이고 또 테슬라의 Full Self Driving과 같은 딥러닝의 결과물도 속속들이 나오고 있다. 딥러닝의 성공적인 프로젝트가 많이 나.. 2021. 2. 1.
컴퓨터를 켤 때 생기는 일, 부팅이란 컴퓨터를 켜는 일을 '컴퓨터를 부팅한다'라고 하기도 합니다. 컴퓨터를 켜면 부팅이 되기 때문에 비슷한 의미로 쓰이지만, 부팅 (혹은 부트스트랩)은 운영체제를 메모리에 불러오는 일련의 과정을 포함합니다. 컴퓨터 구조를 간략히 표현하면 Processor와 Memory로 표현할 수 있습니다. Memory는 처리해야 할 데이터들을 저장하고 있고 Processor는 이를 가져와 처리합니다. 하드디스크에 저장된 프로그램(예를 들면, 게임, 워드 등)을 실행하면 먼저 프로그램을 Memory로 옮기는 작업을 합니다. 이러한 작업을 Loading이라 합니다. Loading은 시간이 꽤 걸리는 작업이지만, 메모리의 속도가 하드디스크 보다 훨씬 빠르므로 loading은 필수적입니다.Memory는 RAM(Random Acce.. 2020. 1. 1.