Skip to content
View ii200400's full-sized avatar
  • 경기도 고양시 덕양구 행신동
Block or Report

Block or report ii200400

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ii200400/README.md

코딩 저장소

안녕하세요! 👋
2022년 1월에 SSAFY에 합격해서 1학기에는 기초 코딩과 웹 공부를 2학기에는 웹 IoT, 자율주행, SVM 프로젝트를 진행하면서 임베디드 전문가로 성장하고 있습니다!🌱
👀 12월에 SSAFY과정이 끝나고 현재는 프로젝트와 임베디드 관련 기술을 정리하고 C/C++ 언어에 대해서 공부하는 중입니다!

😎 임베디드 개발자 임영선 소개

  • 항상 즐겁게, 질리지 않는 개발을 하는 것이 목표입니다!
  • 잘 모르는, 새로운 유형의 멘사퀴즈, 알고리즘을 풀이하는 것을 좋아합니다.
  • 다양한 기기를 조작하는 것을 좋아하여 Arduino, Raspberry Pi, ROS, openGL을 활용한 임베디드 프로젝트를 진행한 경험이 있습니다.
  • 깃허브에 배운 내용을 기록 및 정리하는 습관이 있습니다.
  • 수영, 스노우보드를 매년 즐깁니다, 다음에는 스쿠버다이빙도 도전하고 싶습니다!

자기 개발

타임라인

  • 백양고등학교 (2012.03~2015.02)
  • 한국항공대학교 (소프트웨어학과, 2015.03~2020.02)
  • 지오앤(Geo&, 2020.06 ~ 2021.08)
    • 1년 2개월 간 안드로이드 개발자로 재직
    • 회사에서 개발 중인 임베디드 기기와 블루투스 통신을 통해 GNSS 데이터를 보정하는 앱 개발
  • 삼성청년SW아카데미(SSAFY, 2022.01 ~ 2022.12)
    • 삼성에서 주관하는 외부교육으로 개발자의 기초인 웹을 공부하기 위해 7기로 입과
    • 1학기에는 코딩 및 알고리즘 기본과정을, 2학기에는 임베디드 프로젝트를 진행
    • 웹IoT프로젝트(상상놀이터), 자율주행 프로젝트(알파카), SVM 프로젝트를 계획부터 베포까지 경험
    • 프로젝트를 통해 아두이노, 라즈베리파이, ROS, openGL 등의 기술 학습

Skill

💻 Languages

Java

삼성 SW 역량테스트 모의 A형 A+ 취득
익명함수(람다식)나 정규표현식을 활용하여 다양한 코드나 조건 구현

C/C++
아두이노에서 다양한 센서를 조작하거나 openGL에서 영상처리에 사용
리스트, 스택, 큐와 같은 간단한 자료구조는 구조체, 객체를 활용하여 직접 구현이 가능
Python

텐서플로우를 활용한 AI를 제작 시, 라즈베리파이에 얼굴인식 기능을 구현 시, ROS를 활용한 자율주행 알고리즘을 구현 시 사용
객체나 정규표현식을 활용한 코드 구현

🤝 Collaboration Tool

Github, Gitlab

브랜치와 머지를 통한 버전 관리 방법 이해 및 충돌(Conflict) 해결 가능
프로젝트 관리에 간소화한 gitflow 브랜치 전략 적용

Jira

애자일 방법론 기반의 프로젝트 일정관리 진행
매주 sprint를 생성하고 Epic, Story, Task을 활용하여 이슈 및 프로젝트 관리

🛠 Development Environment

Linux

TUI Linux 환경에서 Vim으로 C언어 코딩, Ubuntu와 라즈베리파이의 Raspbian 환경에서 프로젝트 진행
pip를 통한 라이브러리 설치 및 파일 관리 명령어 숙지

ROS

자율주행 프로젝트에서 시뮬레이션 내의 자동차와 통신에 사용
ROS의 파일 구조와 통신 용어(Publish, Subscribe 등) 숙지

Arduino IDE

아두이노 UNO 혹은 LOLIN mini D1 보드 사용 시 경험
온습도 센서, 초음파센서, 모터 등 다양한 센서 조작
WebSocket 라이브러리를 활용하여 무선으로 데이터 전달

Visual Studio

openGL을 활용한 SVM 구현에 사용
외부 라이브러리를 적용하거나 다양한 종속성 파일(DLL 파일) 추가

Fritzing

아두이노 보드를 활용하여 원하는 장비를 제작할 때 사용한 Cad Tool
아두이노 장비 회로도 시각화 및 회로도 자문에 사용


프로젝트 소개 (최신순)

🛒 SVM 시스템

자동차 전면 카메라 화면(좌), SVM(Surround View Monitor) 화면(우)

  • 개요
    • 자동차의 사각지대로 인하여 주차 시 어려움을 해소하기 위해 자동차의 전후좌우 네 방향의 카메라 영상을 활용한 주차/주행 보조 시스템
    • 삼성전기 기업연계 6인 팀 프로젝트 (2022.10.11 ~ 2022.11.25, 7주)
    • C++, Python, openGL, openCV, Visual Studio 등
    • Jira, Notion, GitLab 등의 협업 툴 활용
  • 담당 작업 (3D SVM / openGL)
    • 이미지 왜곡 및 합성을 위한 영상처리(Calibration, Image Geometry) 적용
    • Visual Studio에 OpenGL, magicK++ 등의 외부 라이브러리 적용
    • OpenGL 메인 코드 및 Bowl 모델에 텍스쳐 투영 작업을 위한 쉐이더 파일 제작
  • 어려웠던 점
    • 삼성전기 측의 내부사정과 개발 기간의 오해(3~4개월)로 명세서의 기기들(토이카, 어안렌즈카메라등) 지원미비
    • 다양한 영상처리와 OpenGL 이론 숙지
    • 참고한 레포지토리에 코드 버그가 있어 수정해야 했을 때
  • 성과
  • 참고

Readme Card


🚖 알파카(Alpha car)

image

모라이 시뮬레이션(가상환경)의 자동차(좌), 알파카 모바일 어플리케이션(우)

  • 개요
    • 모바일 앱으로 택시를 호출하여 도착지까지 자율주행을 하는 서비스
    • 6인 팀 프로젝트 (2022.08.22 ~ 2022.10.07, 7주)
    • ROS, Python, Morai Simulator (모라이 시뮬레이터) 등의 기술 활용
    • Jira, Notion, GitLab 등의 협업 툴 활용
  • 담당 작업 (주행)
    • ROS와 시뮬레이터 자동차 간 메시지 송수신
    • 속도 조절 알고리즘(PID 제어기) 및 조향 알고리즘(pure pursuit)을 활용한 자율주행 구현
    • 간단한 스마트 크루즈 기능과 같은 편의 기능, 장애물 회피(lattice planner) 알고리즘을 통한 회피 주행 기능 구현
    • 도착지부터 목적지까지 경로 생성 알고리즘(다익스트라) 적용
  • 어려웠던 점
    • 직전에 진행한 상상놀이터 프로젝트가 큰 성공을 거두어 다양한 요구사항과 추가 발표, 인터뷰를 하면서 프로젝트에 집중하기 어려웠음
    • 센서팀과의 협업을 하면서 물체를 인식하는 알고리즘(DBscan) 사용법을 같이 찾아 진행한 일
    • 시뮬레이터와 ROS 둘 모두를 당시 사용했던 노트북 하나에서 실행하기에는 어려워 도중 통신 환경을 바꾼 일
  • 참고

🎪 상상놀이터

image

경북대학교 어린이병원 방문 시연, 빔 프로젝터로 병원 벽면에 메인화면을 띄운 모습

  • 개요
    • 소아병동 아이들을 위한 교육 및 놀이 통합형 웹 IoT 놀이게임, 상상놀이터
    • 6인 팀 프로젝트 (2022.07.05 ~ 2022.08.19, 7주)
    • Raspberry Pi, Arduino, Python, C, face_recognition(얼굴인식), Teachable Machine(자세인식) 등 기술 활용
    • Jira, Notion, GitLab 등의 협업 툴 활용
    • 🎞소개영상
  • 담당 작업 (IoT)
    • 라즈베리파이 포팅
    • 아두이노 wifi 보드(LOLIN D1 mini)와 초음파 센서를 활용하여 무선터치센서 제작
    • 얼굴인식과 자세인식 라이브러리를 활용하여 놀이 기능 구현
  • 어려웠던 점
    • 진행 도중 휴대성과 설치의 편리성으로 터치센서를 유선에서 무선으로 바꾸어 진행한 것 + 통신 코드 필수로 인한 작업 추가
    • 소프트웨어학과로서는 익숙하지 않은 납땜 및 보드 제작
    • 라즈베리파이 포팅 중 설정 실수로 인한 많은 백업과 복구
  • 성과
  • 참고

Readme Card


🤸‍♀️ Yepago(예파고)

경북대학교 어린이병원 방문 시연, 빔 프로젝터로 병원 벽면에 메인화면을 띄운 모습

  • 개요
    • 경기도의 꿈의 학교 프로젝트 중 '내 꿈대로' 수업을 위한 AI 교육용 웹 프로젝트
    • 개인 프로젝트 (2020.04.22 ~ 2020.06.07, 약 7주)
    • html5, CSS, JavaScript, BootStrap, Teachable Machine(자세인식) 등 기술 활용
    • 🎞소개영상
  • 담당 작업
    • 웹 디자인 및 AI 교육용 웹 페이지 기획
    • 자세인식 AI를 활용하여 자세와 대응하는 소리를 출력하는 웹 페이지 구현
    • 아이들에게 AI 설명 및 교육
  • 어려웠던 점
    • 인문대 교수님과 무용 선생님, 디자인 선생님과의 협업으로 인한 소통의 어려움
    • 아이들 눈높이에 맞춘 AI 설명
    • 당시 코로나로 인한 사회적 거리두기가 2.5단계로 격상

Readme Card


👨‍🏫 자율주행차의 도로주행을 위한 운행체계 및 교통인프라 연구개발 사업

시설물 등록과 관리 화면

  • 개요
    • 자율주행 자동차 관련 시설물 관리를 위한 안드로이드 어플리케이션 제작
    • 지오앤 회사에서의 경찰청 연구개발 프로젝트 (2020.12 ~ 2021.08, 약 7개월)
    • Android Studio, Kotlin, Kakao map, Blutooth LE, RESTful Hypermedia APIs
  • 담당 작업
    • 시설물 IoT와 측위 기기와 블루투스 통신
    • 센터 DB와 통신하여 시설물 관리 정보 등록/수정/삭제
  • 어려웠던 점
    • 디자이너의 부재로 인한 UI 및 아이콘 미비
    • 측위 기기, 시설물 IoT, 센터 DB와 통신을 위한 프로토콜 협의
    • DB 문제점 탐색 및 수정

🧚‍♀️ Posture Fairy

  • 개요
    • 4학년 2학기 종합 프로젝트1,2(졸업 프로젝트) 수업 중 만든 자세 교정 프로그램
    • 4인 팀 프로젝트 (2019.03 ~ 2019.06 / 2019.09 ~ 2019.12, 6개월)
    • Python, PYQT5, CSS, 자세인식 라이브러리(openCV) + 웹캠을 활용한 PC 프로그램
  • 담당 작업
    • 프로그램 디자인 고안
    • PYQT5를 이용한 GUI
    • 자세 수치화 및 자세 평가
    • 캔버스(Canvas)를 활용한 자세 애니메이션
  • 어려웠던 점
    • 10월 경 팀원 2명 이탈로 인한 계획 변경 및 축소
    • 프로젝트 상황 공유 지체에 따른 이슈 파악 지연
    • 자세 애니메이션을 위해 자세 유추 알고리즘 구현 (고개를 숙였는지, 허리를 굽혔는지 정면 사진만으로 유추)
    • UI를 활용하기 위한 비동기 내 오류 확인의 어려움
  • 참고

Readme Card


🌦 Trimm app SW 날씨 모듈

  • 개요
    • 자전거 네비게이션 앱을 만드는 회사(trimme bike)의 날씨 모듈 제작
    • 1인 안드로이드 앱 개발 (2018.01 ~ 2018.06, 6개월)
    • Android Studio 3.0, Kotlin, Xcode, Swift 활용하여 안드로이드/IOS 앱 제작
    • 회사의 디자이너와 사원 간 협업
  • 담당 작업
    • Openweathermap의 weather API와 공공데이터포털의 한국환경공단_에어코리아_대기오염정보 조회 서비스 API를 활용하여 날씨,자외선, 미세먼지 정보 제공
    • 14개국에 대한 언어 로컬라이징
  • 어려웠던 점
    • 공공데이터포털의 API는 TM 좌표계를 활용하여 GPS 좌표계를 TM 좌표계로 변환하는 코드가 필요
    • TM 좌표계가 2015년도 경 다른 방식으로 변경되었다는 글이 있었지만, 실재로는 변경되지 않은 좌표계를 여전히 사용
    • 디자인이 도중 크게 변동
    • 각 국가별 날씨 제공 웹 페이지를 참고하여 로컬라이징(번역) 진행
  • 참고

Pinned

  1. algorithm algorithm Public

    백준과 프로그래머스 등 여러 코딩테스트 플랫폼에서 풀었던 문제들 정리

    Java

  2. IT_Skill_Question IT_Skill_Question Public

    취업준비를 위한 CS 정리 Repo

    C++

  3. SpineAnalyzer SpineAnalyzer Public

    한국한공대학교 종합설계 프로젝트(졸업 프로젝트), openCV와 dlib 얼굴인식 기술을 활용한 자세교정 프로그램

    Python

  4. Tensorflow_Tutorial Tensorflow_Tutorial Public

    골빈해커의 3분 딥러닝 텐서플로맛을 통한 머신러닝 기초 실습

    Jupyter Notebook