1. 본인의 지원직무를 어떻게 이해하고 있는지 구체적으로 기술하고 해당 분야에 본인이 적합하다고 판단할 수 있는 근거를 사례 및 경험을 바탕으로 기재해 주세요.(1000자)
제가 지원한 직무는 안전 부품 BU- 안전, 램프 SW 개발입니다.
해당 직무는 에어백, 차량 내부의 영상처리, 램프 등에 적용되는 제어기에 SW 요구사양을 정의하고 SIMULINK를 통해 Model Based Design을 설계합니다. MBD를 설계한 후 MCU에 빌드를 하고 MBD가 안정적인지 SILS, 정적검증, 피어리뷰 등 여러 검증 단계를 거칠 것이라 생각합니다.
따라서, 해당 업무를 수행하기 위해서는 임베디드 개발 역량과 제어기 설계 및 검증에 필요한 SIMULINK 활용 능력이 필요하다고 생각합니다.
[안정적 제어기 설계로 향상된 운전성 제공]
로봇학 실험4를 수강하며 펜듈럼의 위치, 속도, 전류 케스케이드 구조 제어기 설계 프로젝트를 진행했고 임베디드 개발 및 SIMULINK 활용 능력을 길렀습니다.
위치 제어기는 정확한 위치로 제어하기 위해 PD제어를 했고 D제어의 특성으로 오버슛을 줄였습니다. 전류와 속도 제어기는 인가전압이 정격전압을 넘지 않도록 리미터를 추가하고 PI제어기를 사용하였고, I제어 특성으로 정상 상태 오차를 0에 수렴하도록 만들었습니다. 하지만 I제어에 의한 누적 오차가 발생했고 와인드업 문제를 해결하기 위해 안티와인드업을 구성했고 최종 목표가 토크 제어이므로 전류를 토크로 전력 변환하여 제어했습니다. 제어기 설계를 완성한 후, 응답성 확인을 위해 시정수 3배의 시간에서 전류 입력을 1A를 줬을 때 약 0.95A로 안정적인 제어기가 설계된 것을 확인했습니다.
해당 프로젝트를 성공적으로 마치며 매트랩과 시뮬링크등 툴 역량 강화와 임베디드 SW개발 역량을 강화했습니다.
위에서 기른 역량들을 바탕으로 제어기 개발에 필요한 요구 사양을 분석한 뒤 시뮬링크로 MBD를 설계를 통해 제어기를 개발하고 SILS, 정적 검증 등 구체적으로 안정성을 검증하여 운전자에게 향상된 운전성을 제공할 수 있도록 기여하겠습니다.
2. 목표를 달성하는 과정에서 힘들고 어려운 문제가 발생하였음에도 포기하지 않고 임무를 완수한 사례를 작성해 주세요(1000자)
인턴십에서 로봇 자율 축구 프로그램을 개발하며 SW 요구사항 분석과 개발 환경을 고려한 알고리즘 구현 역량을 길렀습니다. 프로젝트의 요구사항을 분석했고 로봇에 부착된 마커 인식과 공 인식 그리고 로봇의 공 드리블을 기능으로 설정했습니다.
드리블 기능을 구현하며 로봇이 상대편으로 향하지 않는 문제를 발견했습니다. 초기 알고리즘을 로봇의 방향벡터와 로봇과 공의 벡터의 외적 부호로 로봇의 속도를 제어하여 공 드리블은 잘 됐지만 상대 골대로 가는 목적성이 없었습니다. 문제 해결을 위해 3일간 자진으로 초과근무를 하며 고민했고 영상에서 보이는 경기장을 4분할로 나눠 각 분면에서 로봇 벡터값으로 로봇의 방향을 우선시했습니다. 알고리즘을 구현하여 로봇이 상대 골대를 향해 공을 잘 드리블하는 것을 확인했습니다.
목표를 1개월 초기 달성해 고도화를 위해 슈팅 제품을 활용해 특정 조건에서 슈팅을 구현했고 전시회용 프로그램도 개발했습니다. 기존 환경은 IP캠으로 전시회에서는 WIFI가 많아 로봇과 PC의 통신이 끊기는 문제가 있었습니다. 이를 보완하고자 유선캠으로 실행했지만 프로그램이 5FPS로 불안정했습니다. 문제 해결을 위해 해당 캠이 지원하는 해상도부터 확인했습니다. 기존값이 1080p여서 프레임당 통신 데이터양이 큰 것을 확인했고 해상도를 변경해 연산을 줄였습니다. 여러 해상도를 비교하여 480p가 최적이라는 것을 파악했고 기존값을 480p로 자동으로 변경하는 코드를 작성했습니다. 그 결과, 30FPS으로 개선된 성능과 프로그램이 원활하게 실행되는 것을 확인했습니다.
프로그램의 상품성을 인정받아 교육박람회 전시와 회사 홈페이지에 등록되었습니다. 이 경험으로 문제 분석과 해결하고자 하는 자세 등 개발에 대한 책임감을 배웠고 개발 환경에 적합한 알고리즘 구현이 성능 향상이 되는 것을 느꼈습니다.
현대모비스 안전 부품 BU SW개발 직무를 수행하며 SW 요구사항 분석으로 향상시킬 기능을 정의하고 차량 개발 환경을 고려하여 안정적인 제어기 SW를 설계하도록 기여하겠습니다.
3. 공동의 목표를 달성하기 위해 다른 사람들과 힘을 합쳐 노력했던 경험을 구체적으로 기술하고 그 경험을 통해 배운 점을 작성해주세요(1000자)
[구체적 계획 수립과 협력하는 자세]
졸업 작품 프로젝트를 진행하며 구체적인 계획의 중요성과 팀원들과 협업하는 자세가 저에게 많은 영향을 주었습니다.
졸업 작품은 “딥러닝을 활용한 실종자 식별 지능형 CCTV”를 구현하는 것이었습니다.
프로젝트가 4개월 동안 진행되기에 리더 역할을 맡아 팀원들과 회의를 통해 세부 역할을 분담하여 HW 팀과 SW 팀으로 나눴고 각 팀이 프로젝트를 구현하기 위해서 어떤 기술을 구현할지 조사했습니다. Top-Down 방식으로 먼저 작품에 구현하기 위해 기술들을 조사, 구현하고 Bottom-UP 방식으로 상황에 따라 유동적으로 수행했습니다. 필요 기술들을 조사한 결과, 제가 맡은 역할은 라즈베리파이와 PC 간의 시리얼 통신과 실종자와 인식된 사람이 동일한지 매칭하는 알고리즘을 구현하는 것이었습니다.
SLACK을 통해 주기적인 회의를 진행했고 필요 부품이 기존 예산을 초과하여 타 공모전도 진행하며 충분한 예산을 편성했습니다.
프로젝트를 진행하며 HW팀에서 진행했던 서보 모터 Pan-Tilt 제어가 원활하게 구현되지 않는 문제를 파악하고 저도 해당 문제를 해결하기 위해 참여하여 팀원들과 상의하며 문제를 파악하였고 분석 결과, 서보 모터와 라즈베리 파이 간의 고질적인 문제라는 것을 찾았고 로우 레벨 라이브러리를 활용해 지터링 없이 원활히 구동하도록 문제를 해결했습니다. 또한, 카메라가 실종자라 인식한 사람을 추적할 때 Overshoot이 발생하는 것을 확인했고 PID제어와 Pixel to angle conversion을 활용하여 error를 낮춰 원활하게 실종자라 판단한 사람을 추적하도록 구현했습니다. 해당 프로젝트를 성공적으로 마침에 따라 좋은 성적과 논문 투고 및 학회 포스터 발표를 진행했습니다.
위 경험처럼 구체적으로 계획을 수립하되 유동적으로 진행하여 초기 목표대로 일정을 맞추고 문제 발생 시, 의사소통을 통해 서로의 생각을 공유하며 디버깅해서 문제 해결을 해결하는 협력하는 자세의 중요성을 깨달았습니다.