for Robot Artificial Inteligence

Recursive Bayes Filter

|

  • Kalman Filter와 Particle Filter의 프레임 워크이다
  • 모션모델과 측정모델을 통해 상태를 추정한다
  • SLAM KR에 자세하게 나와있으며, Markov Assumption을 통해(쉽게 관계식들을 정리할 수 있음) 상태에 대한 Probabilistic(likelihood(어느 값이 가우시안 분포도 퍼센테이지 안에 드는 값이 아닌, 어느 값이 가우시안 분포도에서 가장 높은 값)로 predict state)을 구한다

https://en.wikipedia.org/wiki/Recursive_Bayesian_estimation

Comment  Read more

Running 중 생기는 hyperopt error

|

만약 이런 문제가 발생한다면

TypeError: __init__() got an unexpected keyword argument 'n_iter'

설치된 버전이 올드버전이므로 sklearn이 올드버전이 필요하다 그러므로 아래 것으로 설치하면 문제 해결=

pip install git+https://github.com/hyperopt/hyperopt-sklearn.git

Comment  Read more

Mac M1 파이토치 및 머신러닝 에런

|

만약 이런 문제가 발생한다면

OSError: dlopen(/opt/anaconda3/envs/data_science/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
  Referenced from: /opt/anaconda3/envs/data_science/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so
  Reason: image not found

이걸로 문제 하면 문제 해결

conda install lightgbm -c conda-forge

Comment  Read more

LG전자 생산기술원 2 차 면접 후기

|

2차 면접이였다. 긴장이 많이 되었다. 무엇을 물어볼지 많이 준비하였고, 인성면접 답변 70% + 기술면접 30%로 면접을 준비하였다. 2차 면접은 물류시스템부서 팀장님과 실장님이 들어오셔서 면접을 봤다.

2차 면접

다시 이렇게 만나뵙게 되서 감사합니다.

  1. 자기소개
    • 개발과 설계가 좋아 기계공학을 전공하고 있는 이찬교 입니다. 세부전공으로는 로봇공학을 전공하고 있으며, 연구 분야로는 모바일로봇 네비게이션 시스템입니다. 최근까지는 Midea Group에서 가정로봇 개발 부서에서 인턴을 하였습니다. 그리고 현재에는 졸업준비에 앞두고 있습니다.
  2. 로봇에 관련된 일을 하면 행복할 것같다고 말하여서 감동받았다.
    • 감사합니다. 이렇게 기회를 주셔서 감사합니다.
  3. 일하다가 왜 중국에 가게 되었는지
    • 우선 제 커리어에 목적은 로봇이나 스마트팩토리 분야에 프러덕트 스페셜리스트나 프로젝트 매니저가 되는 것이 목표입니다. 제가 테크니컬 서포트로 일하면서 정말 일도 만족하면서 다녔지만, 제가 목표로 하는 커리어로 쌓으려면, 석사과정이 도움이 될것이라고 생각이 되어서 지원하게 되었습니다. 그리고 중국으로 가게 된 이유는 세계에서 2번째로 큰 시장이니 중국어를 배워놓으면 좀 더 장래가 유망할 것으로 생각이 되어서 배우게 되었습니다.
  4. 중국어는 유학하면서 처음 배웠을탠데 수준이 어느 정도 인지
    • 중국어는 학부시절때부터 꾸준히 공부를 하였습니다. 3개 국어를 할 줄아는 엔지니어나 공학도가 되는게 목표여서 계속 하였고, 이 당시 교환학생을 중국으로 2번 다녀오면서 HSK6급 취득하게 되었고, 국립국제교육원에서 제공하는 국비장학생에 인연이 되어서 현재 국비장학생으로 석사를 하고 있습니다.
  5. 중국어 자기소개
    • 各位老师您好,我叫李灿教,我来自韩国,现在上海交通大学读研究,专业是机械工程,研究的方向是移动机器人。特别感谢你们给我第二轮面试的机会,我希望今天好好回答。
  6. 엘지 전자에 와서 하고자 하는 것이 무엇인지
    • 머신비전이나 로보틱스를 하고 싶습니다.
  7. 본인의 개발 역량은 어느정도인지
    • open source distribute 정도 까진 아니지만, 논문을 보고 식들을 구현할 수 있습니다. 다만 코드가 좀 지저분합니다. Extended Kalman Filter를 구현할때도, 오픈소스를 이용하지 않고 제가 하나하나 식을 보면서 구현하였습니다.
  8. 출장 3개월 가게 되면 어떻게 버틸 것인지
    • 제가 폭스콘 출장 1달을 가면서 느꼇던게 있습니다. 항상 일적인거 외에도 취미가 필요한것 같습니다. 특히 행동으로 나오는 멘탈관리가 중요한것 같습니다. 정말 죄송한 얘기지만 출장갓을때 멘탈을 관리하려면, 100퍼센트 일에다 집중하는것은 힘들 것 같습니다. 떄로는 자기 자신을 위해서 일을 해야되면서 밸런스를 맞춰야 한다고 생각합니다. 에를 들어 IOS개발을 하든 다른 동영상 편집 개발을 하든, 출장가서 동영상만 보는 것이 아니라, 취미를 통해 이런 장기출장에 대해 멘탈적 관리가 필요합니다.즉, 취미 활동을 통한 멘탈 관리가 필요합니다.
  9. 고영에서 어떤 일을 하였는지
    • 반도체 검사장비 트러블 슈팅을 담당하였습니다. 회사는 반도체실장검사장비를 만드는 회사였는데, 고객단에서 생기는 이슈를 처리하는 일을 하였습니다.
  10. 고영에서는 테크니컬 서포터로 일하셨는데, 여기 오시면 이제 R&D팀으로 일해야 되는데, 뭐가 차이가 있는지 어떤 부분에 기여할 수 있는지.
    • 우선 테크니컬 서포터로 일하면서 어려운 점, 난관들을 해결하는 능력이 생겼습니다. 이에 엘지전자에서 R&D팀으로 가게 된다면, 이런 경험을 살려 문제를 해결 할 수 있습니다. 또한 저는 중국어를 할 수 있기때문에, 만약 중국으로 출장을 가게 된다면, 협력사 직원들이랑 소통을 통해 일을 할 자신이 있습니다. 즉 멀티 플레이어로써 일할 자신이 있습니다.
  11. 만약 우리 회사에 오시면 개발위주로 일을 하실것이다.
    • 네, 현재에도 개발 공부를 꾸준히 하고 있습니다. 요즘에는 제가 딥러닝쪽을 공부한적이 없어서, 현재에는 딥러닝쪽을 공부하고 있습니다.
  12. 회사에서 AGV개발을 할 것이다. 모바일로봇 개발을 경험 해봤을탠데, 고려해야되는 상황이 무엇인가.
    • 첫번쨰로 환경입니다. 동적환경인지, 정적환경인지 먼저 구분을 하고, 어떤 센서를 써서 어떤 알고리즘을 쓸것인지 선택하는 것이 중요합니다. 이때 최신 알고리즘이 무엇인 있는지 분석을 하고, 적용을 통해 최신 방법을 적용 실킬 것 입니다. 그 다음에 플랫폼을 고려한 센서 알고리즘 적용을 하고, 이후 최적화를 통해 모바일 로봇을 개발할 것 같습니다.
  13. 왜 중국에 남지 안고 한국에 오는가
    • 우선 가족 문제가 제 일 순위고, 두번쨰로는 업무적으로 발전에 한계가 있다고 느꼇습니다. 제가 중국어를 할 줄 알지만 아무래도 모국어가 되지 않다보니 팀미팅때 못알다 듣는 말이 있고, 제 의견을 제대로 표출 못하는 경우도 있었습니다. 그러다 보니 일을 할때도 남들은 한번에 일할걸 2~3번을 나눠서 일을 하게 되고, 제가 아무리 외국어를 배우는 것을 좋아하지만 아무래도 엔지니어의 역량이 더 중요하다 생각합니다. 그래서 한국에 오려고 합니다.
  14. Midea Group에서 많은 부서가 있을탠데 어디 부서에서 무슨 일을 하였는가
    • 우선 Midea Group에 음성인식, 하드웨어 설계 등의 부서가 있는데, 제가 했던 업무는 하드웨어 설계가 되면 플랫폼을 고려한 네비게이션 시스템을 로봇에 적용하는 업무를 하였습니다.
  15. 언제쯤 입사하고 싶은가.
    • 2월 말에 졸업이 된다. 그러나 졸업증은 3월즘에 나온다고 한다. 그래서 3월 말쯤에 가고 싶은데 그 이유는 솔직히 졸업사진도 찍고 싶고 친구들이랑 사진도 찍고 싶고, 2주 격리를 하면 3월 말이 제일 좋을 것 같다.
  16. 어떤 개발 하고 싶은지
    • 모바일 로봇을 개발하고 싶다.
  17. 중국어나 영어 중 어느걸 잘하는지
    • 둘다 비슷한것 같다.

후기

너무 헛소리를 하였다. 특히 예상치 못한 질문이 나왔을때, 어와 허 등 계속 당황하는 말을 많이 하였다. 마지막 질문에 가장 인상 깊은 신입사원과 실망한 신입사원의 기준이 무엇인지 물어보았다.

  • 가상 인상 깊은 신입사원: 자기 주도적으로 하는 사원, 자기 일을 잘하는 사원, 팀프로젝트에 적극적인 사원
  • 실망한 신입사원 : 자기주도적으로 하지 못해 업무를 못따라오는 사원, 팀프로젝트에 적극적이지 못한 사원

Comment  Read more

LG전자 생산기술원 1 차 면접 후기

|

모바일 로봇 연구부서로 갈줄 알았으나, 평택에 있는 생산기술원으로 부터 서류를 합격을 받았다. 블라인드를 보면 어마 무시한 곳이다. 특히 Product R&D로 간다면 고생한다고 한다. 본인은 출장이 싫어서 석사를 하게 되었는데, 아마 가면 1년에 8개월은 출장으로 알고 있으면 된다고 하더라. 그래서 준비를 열심히 안하였다. 기본 실력의 베이스로 면접에 들어가게 되었다.

1차 면접

  1. 자기소개
    • 안녕하세요, 저는 설계와 개발이 좋아 기계공학을 전공하고 있는 이찬교 입니다. 세부전공으로는 로봇공학을 전공하였으며, 연구분야는 모바일로봇 네비게이션이였습니다. 그리고 현재에는 Midea Group이라는 곳에서 가정용 로봇 개발 인턴을 하고 있습니다. 맡은 임무로는 Visual SLAM을 Imu와 결합하여 검증 및 로봇 적용입니다.
  2. 논문소개
    • 저는 Semantic SLAM 어플리케이션을 이용하여 모방일로봇 네비게이션 시스템을 구축하였습니다. 이용한 어플리케이션에는, ORB-SLAM2와 yolov3가 결합된 동적환경에서의 맵핑과 로컬라이제이션입니다. 그러나 이 시스템은 카메라 센서 기반으로 된 슬램 시스템이기 때문에 데이터에 대한 오차가 발생합니다. 이를 encoder에서 얻어지는 wheel odometer를 이용하여서 Extended Kalman Filter를 통해 보정하였습니다. 그 외에 Object Avodiance, Motion Planning, Frontier-based Detection알고리즘을 개발하여 자율 탐험 및 네비게이션 시스템을 구축하였습니다.
  3. EKF 설명
    • Non-Linear Model을 사용하여 KF를 통해 Pose Estimation을 한다면 non-gaussian Distribution으로 잘못된 pose Estimation을 할 수 없습니다. 이러한 문제를 해결하고자 Non-linear Model을 선형 근사값으로 만들어야하는데, 이때 Taylor 1st Series를 이용하여서 비선형모델을 선형 모델로 변환하여 푸는 EKF방식이다.
  4. 좀 더 자세하게 얘기해주세요
    • EKF는 총 2개의 Motion Model과 Observation모델과 2개의 프로세스인 Prediction과 Correction으로 구성된 알고리즘이다. bayes filter 기반으로 된 Motion Model과 Observation Model은 Prediction 프로세스에서 Motion Model과 Control input값을 통한 Mean과 Covariance를 상태 추정하며, 이 추정된 값은 Correction Process에서 칼만게인과 Observation Model을 통해 상태 추정 보정이 된다.
    • 답변 외에 추가적인 것:
      1. Motion Model은 이전 상태값을 State Transition Matrix에 계산을 하여 pose1을 구하고, Control Input(Velocity x,y and angle)값을 Velocity-based 모델을 통해 pose2를 구하고, process Noise(control input에 의해 결정되는 matrix기반으로 convariance값과 곱하여)를 구하여 상태와 Control input에 따른 모션에 대한 상태추정한다.
      2. Observation Model은 주로 센서로 부터 얻어진 데이터 이므로, 대부분 identity matrix로 설정하고, 실제로 측정되는 x,y,z값들을 매트릭스에 곱셈을하여서 얻어진다. 이때 Observation Noise도 있는데, 이는 임의로 주어진다.
  5. 공모전에서 소프트웨어 설계에 실패했다고 했는데 그 추후에 더 개선을 하지 않았는지
    • 교환학생시절에 공모전에 나간 것이고, 공모전 이후에 다른 목표가 있어서 더 하지 않았습니다.
  6. (공모전에 관한)WIFI딜레이 문제가 있었다고 했는데 어떻게 해결하면 좋을지
    • 우선 지금 생각나는건 좋은 모듈을 쓰는 것이 제일 좋을 것 같습니다. 그 다음으로는 아무래도 continous하게 데이터를 받기 때문에, 이를 discreat로 변환을 하여서 해결 할 수 있을 것 같습니다.
  7. 카메라를 통해서 네비게이션 시스템을 구축하였다고 했는데, 카메라는 2D이미지만 가지고 있는데, 맵핑과 로컬라이제이션을 어떻게 하는지
    • feature-based(특징점)나 intensity-based(픽셀의 밝기를 비교한 방법)로 2D-image를 통한 환경인지를 위해 feature points를 생성해야합니다. 그리고 생성된 feature point는 현재 프레임과 이전프레임에 존재하게 되는데, epipoloar line과 내부파라미터를 통한, PnP알고리즘을 통해 맵포인트 생성 및 pose estimation을 할 수 있습니다.
  8. 스마트팩토리에서 운용될 모바일 로봇에 대해 어떤 것이 고려되야 되는지 말해보세요
    • 아무래도 동적환경이기 때문에 동적 물체를 인지하는 능력과 맵핑이나 네비게이션을 할때 동적 물체에 영향을 덜 받을 수 있도록 해야 됩니다. 그리고 최적화된 경로 알고리즘, 그리고 플랫폼을 고려한 모션컨트롤이 필요할 것 같습니다.
  9. 고영에서 무슨일을 했는지
    • Technical Support Engineer로 일을 하면서 소프트웨어 하드웨어 이슈를 처리했습니다. PCB판 위에 부품이 실장이 되는데 그 실장된 부품이 제대로 실장이 되었는지, 광학기기를 이용하여서 검사를 하는 장비였습니다.
  10. 연구개발직으로 와도 연구개발만 할 수 없는데 괜찮은지
    • 첫 입사를하면 회사에 대한 시스템과 장비를 익혀야되기 때문에 연구개발만 할 수 없니다. 최대한 단기간에 회사 프로세스와, 시스템, 그리고 업무에 대해 익히는게 우선 순위라고 생각합니다.
  11. 스마트팩토리를 더 효율적으로 하기 위해서는 어떤 기술이 더 필요할 거 같은지
    • AR기술을 입히는게 중요하다고 생각합니다. 저는 어떤 일을 하던간에 직관적인게 제일 좋다고 생각합니다. AR기술을 도입을 하면 스마트팩토리에 프로세스들이 어떻게 진행이 되고 어떤 식으로 진행이 되는지 직관적으로 볼 수 있기 때문에, 생산성의 효율을 높혀주고 작업자가 이해가도 쉽다고 생각합니다.
  12. 왜 중국에서 국내로 오는지
    • 솔직하게 말씀 드려서, 직무적으로 발전이 힘들것이라 생각이 들어서 입니다. 제가 중국회사에 다니면서 힘들었던 점이 아무래도 중국어가 모국어가 아니다 보니까, 팀미팅을 할때 이해를 못하는 부분이 있거나 제 의견을 제대로 표현 못하는 경우가 있었습니다. 물론 개인미팅이나 업무적인 것은 영어로 얘기할 수 있지만, 팀미팅같은 주요한 회의에서 주로 중국어로 일을 하다 보니 업무와 프로젝트를 이해 할때 어려운 부분이 존재했으며, 직무적으로 다른 중국인들보다 더디며 힘들었습니다.
  13. 취미가 무엇인지
    • 기타 치는 것이며, 최근에는 IOS개발에 관심이 있습니다.
  14. 자기개발을 좋아하는거 같은데, 못하게 된다면 어떻게 할 것지
    • 아마 개인 사이드프로젝트로 할 것 같습니다. 또한 회사는 프로젝트, 팀으로 움직이기 때문에 항상 하고 싶은 일을 하기에는 어렵습니다. 공동 목표를 이루기 위한 팀원으로썻 주어진 상황에 맞게 일을 할 것입니다.
  15. 테크니컬 서포트로 일하면서 힘들었던점이 무엇이였는지
    • 출장이 좀 힘들었습니다.
  16. 고영에서 어떤 일을 했는지, 어떤 업무적 능력이 필요한 자세하게 얘기해주세요.
    • 반도체장비회사였습니다. 납이 PCB판에 잘 올라갔는지 부품이 잘 실장이 됬는지 하는 장비입니다. 그러므로 하드웨어와 소프트웨어를 잘알아야합니다. 특히 컴퓨터 시스템 구조를 잘 알아야 합니다. 또한 이슈대응하는데 있어 하드웨어의 문제인지 소프트웨어의 문제인지 판단하는 능력이 중요하며, 문제 해결 능력이 중요시 됩니다.
  17. 회사를 그만 두고, 중국에 가게된 이유
    • 회사를 다니면서 좀더 공부하고 싶다라는 생각, 로봇 분야에 대해 더 공부하고 싶다라는 생각이 들었습니다. 때 마침 국비장학생 지원을 하였고 뜻이 맞아 이렇게 오게 되었습니다.
  18. EKF를 통해 로컬리제이션 개선이 되었다고 말씀하셨는데, 얼마나 개선이 되었는지?
    • 자료를 열어서 보여드려도 될까요? 오직 슬램으로만 로컬리제이션을 하면 absolute positioning에러가 존재할 수 있으므로 relative positioning인 wheel odometer를 추가하여 꽤 개선이 되었습니다.
  19. 마지막으로 할 말
    • 경력직 보다 잘할 자신 있습니다.

후기

생각보다 편안한 분위기에서 면접을 보았다. 최근 면접을 많이 보아서 떨리지도 않았고, 당황스러운 질문에도 분위기 좋게 답변을 했던것 같다. 다만 아쉬운 점은 마지막 할 말으로 경력직 보다 잘할 자신 있다는 말을 했을때 분위기가 좋지 않았다. 질문의 난이도는 그렇게 깊지 않았으며, 대부분 기초적인 질문으로 이루어졌다.

Comment  Read more