로봇 공학 석사 과정
11 May 2020 | daily
첫 로봇 입문
대학교때 캡스톤 디자인으로 스마트 지팡이를 만든적이 있다. 시각장애인들을 위해 아두이노와 센서들을 이용하여 경사면이나 계단 장애물을 인식할 수 있는 지팡이를 만든 적이 있다. 이것이 내 첫 로봇 작품이다.
로봇공학 석사 과정
로봇 공학 석사 과정으로 진학을 하면서 굉장히 어려웠다. 우선 코딩 스킬도 좋지 못할 뿐더러 로봇에 관한 지식이 많이 부족하기 때문이였다(대학교때 들은 거라곤 동역학..). 첫학기에 Digital signal process(DSP), Linear Algebra, Mechanical System Dynamics, Performance Simulation and Control robot 등 수업을 들었다. 어려운 학문도 있고 쉬운 학문도 있었지만, 모두 굉장히 시간이 많이 들어가는 과목들이었다. 첫 학기가 끝나고, 로보틱스에 대해 더 자세히 공부하고 싶어 edX의 Columbia university에서 개설한 Robotics를 수료하였으며, Udemy에 Industrial Robotics를 수료하였고, Linear Algebra를 복습하였다. 현재 우리 연구실에서는 DSP를 활용하여 연구하지 않기 때문에 DSP에 대한 추가적인 공부는 보류하였다.
로봇 어플리케이션 1
첫 학기가 끝나고 이제 본격적으로 연구 활동에 들어가기 전에 겨울 방학 동안 프로그래밍에 대해 공부를 하였다.
- ROS
- Machine Learning (python)
- Github
- Solid Work
- Matlab
- Robotics(hello ROS world 과정)
지금 돌아서 생각하면, Solid work를 제외한, Udemy의 ROS 과정과 Machine learning 그리고 Robotics, Github, Matlab들이 유용했던것 같다. ROS는 현재까지 졸업 논문이나 학회 논문을 제출하는데 있어 중요한 시스템인데, 디버그가 많고 메카니즘을 이해하는데 시간이 필요하다. Machine Learning은 사실 현재 어디에서도 쓰이고 있기 때문에, 기본적인 개념을 알고 있다면 논문을 읽거나 공부하는데 이해하기 쉽기 때문이다. Robotics는 Robotics의 개념을 ROS를 이용하여 실제로 개발을 해보는 것인데, 굉장히 도움이 많이 되었다. Matlab은 연구 뿐만아니라 수업중에도 많이 쓰이는데 모든 수학적 시뮬레이션이나 문제를 해결하는데 있어서는 Matlab을 알고 있는것이 좋다.
겨울 방학동안 어플리케이션 개발을 위한 역량을 쌓았으며 두번쨰 학기에 개발을 본격적으로 시작하였다.
두번쨰 학기에 어플리케이션 개발을 위해 필요한 공부로는
- Machine Vision(OpenCv)
- Self Driving using OpenCv
- Tensorflow
학기가 사작하자 마자 나는 연구 과제에 참여하였다. 내가 하는 것은 Shape recognition을 맡아 책 꽃이 로봇에 들어가는 알고리즘이었다. 이에 Machine Vision에 대한 공부가 많은 도움이 되었으며, Shape Recongintion에 사용하지 않았지만 Deep learning을 통한 Self Driving 개발을 해보았고 TensorFlow를 이용하면서 Deep learning에 대한 개념을 익혔다.
로봇 어플리케이션 2
두번째 학기가 끝나고 8월까지 방황하였다. 세번째 학기가 들어스면서 이제 졸업 논문과 연구를 준비를 해야하는데 어떤 주제로 어떻게 해야할지 몰랐었기 때문이다. 이런 막연한 두려움 떄문에, Robot ignite 1년치 회원권을 샀다. 약 50만원 정도 하는 돈인데, ROS 시스템에대해 공부할 수 있고 실전 문제 해결을 할 수 있기 때문이다. Robot ignite에 대한 커리큘럼을 다 풀어보고 Udemy에서 Reinforcement Learning에 대한 공부를 하면서 10월에 논문 모델링을 하고 11월에 교수님에게 Reinforcement를 이용한 Dual Arm Pick and place를 발표하였는데, 교수님은 내가 준비한 논문 과제가 아닌 SLAM이라는 주제를 주어주셨다. 그렇게 2학기는 ROS 시스템 운영 방법과 Reinforcement Learning에 대해서 공부하였다.
로봇 어플리케이션 3
겨울방학동안 SLAM이라는 주제를 받으며 네번째 학기가 시작하기 전에 공부를 해야했다.
- Multi view geometry
- Visual SLAM 종류
- robot probability
대략 두가지로 공부했던것 같다. 현재 연구실에서 개발된 ORB-SLAM2과 Yolov3를 이용하여 Semantic SLAM system, Visual odometer과 Wheel odometer 센서 퓨전을 통한 robot Localization이 있는데, 내 졸업 논문 주제로 Motion Planning과 Image Processing을 통한 Fast Frointer-based Autonomous exploration을 개발하는 것이였다. 대략적인 SLAM에 대해서 공부하는데는 한달정도 걸렸던것 같다. 이전에 몰랐던 분야라 처음부터 배우는데 많은 시간을 들여야 했기 때문이다. 연구실에서 개발된 Semantic SLAM based on ORB-SLAM2 with yolov3와 Fusion sensor data를 하는 것에도 대략 한달 걸렸던것 같다. 공부하는데 있어 Youtube와 SLAM KR의 도움을 많이 받았다.
그렇게 1월과 2월이 지나가면서 3월부터 본격적으로 Frointer-based Autonomous Exploration을 공부했다. 3월에는 Sample based method를 이용하여 Navigation을 구현하였으며 4월에는 Frointer-based를 통한 Exploration을 구현함과 동시에 RGB-D카메라를 이용하여 Fast-Frointer-based 알고리즘을 개발하였으며, 현재 병렬 프로세스로 구현하는 일만 남았다.
기타
석사 두번쨰 학기에 목표였던 블로그를 만드는 것이였다. Django를 약 한달 동안 공부해본적이 있는데, 사실 상당한 공부량과 시간을 투자해야하므로 Django대신 jerk를 이용하여 github을 통한 호스팅 블로그를 만들었다.
현재 코로나 상황으로 실제 로봇에 implementing을 하지 못하고 있는 상황이다, 현재 모든 개발은 Gazebo Turtlebot으로 이루어졌으며, 5월달에는 Data structure과 Algorithm을 공부하고 있다.
첫 로봇 입문
대학교때 캡스톤 디자인으로 스마트 지팡이를 만든적이 있다. 시각장애인들을 위해 아두이노와 센서들을 이용하여 경사면이나 계단 장애물을 인식할 수 있는 지팡이를 만든 적이 있다. 이것이 내 첫 로봇 작품이다.
로봇공학 석사 과정
로봇 공학 석사 과정으로 진학을 하면서 굉장히 어려웠다. 우선 코딩 스킬도 좋지 못할 뿐더러 로봇에 관한 지식이 많이 부족하기 때문이였다(대학교때 들은 거라곤 동역학..). 첫학기에 Digital signal process(DSP), Linear Algebra, Mechanical System Dynamics, Performance Simulation and Control robot 등 수업을 들었다. 어려운 학문도 있고 쉬운 학문도 있었지만, 모두 굉장히 시간이 많이 들어가는 과목들이었다. 첫 학기가 끝나고, 로보틱스에 대해 더 자세히 공부하고 싶어 edX의 Columbia university에서 개설한 Robotics를 수료하였으며, Udemy에 Industrial Robotics를 수료하였고, Linear Algebra를 복습하였다. 현재 우리 연구실에서는 DSP를 활용하여 연구하지 않기 때문에 DSP에 대한 추가적인 공부는 보류하였다.
로봇 어플리케이션 1
첫 학기가 끝나고 이제 본격적으로 연구 활동에 들어가기 전에 겨울 방학 동안 프로그래밍에 대해 공부를 하였다.
- ROS
- Machine Learning (python)
- Github
- Solid Work
- Matlab
- Robotics(hello ROS world 과정)
지금 돌아서 생각하면, Solid work를 제외한, Udemy의 ROS 과정과 Machine learning 그리고 Robotics, Github, Matlab들이 유용했던것 같다. ROS는 현재까지 졸업 논문이나 학회 논문을 제출하는데 있어 중요한 시스템인데, 디버그가 많고 메카니즘을 이해하는데 시간이 필요하다. Machine Learning은 사실 현재 어디에서도 쓰이고 있기 때문에, 기본적인 개념을 알고 있다면 논문을 읽거나 공부하는데 이해하기 쉽기 때문이다. Robotics는 Robotics의 개념을 ROS를 이용하여 실제로 개발을 해보는 것인데, 굉장히 도움이 많이 되었다. Matlab은 연구 뿐만아니라 수업중에도 많이 쓰이는데 모든 수학적 시뮬레이션이나 문제를 해결하는데 있어서는 Matlab을 알고 있는것이 좋다.
겨울 방학동안 어플리케이션 개발을 위한 역량을 쌓았으며 두번쨰 학기에 개발을 본격적으로 시작하였다.
두번쨰 학기에 어플리케이션 개발을 위해 필요한 공부로는
- Machine Vision(OpenCv)
- Self Driving using OpenCv
- Tensorflow
학기가 사작하자 마자 나는 연구 과제에 참여하였다. 내가 하는 것은 Shape recognition을 맡아 책 꽃이 로봇에 들어가는 알고리즘이었다. 이에 Machine Vision에 대한 공부가 많은 도움이 되었으며, Shape Recongintion에 사용하지 않았지만 Deep learning을 통한 Self Driving 개발을 해보았고 TensorFlow를 이용하면서 Deep learning에 대한 개념을 익혔다.
로봇 어플리케이션 2
두번째 학기가 끝나고 8월까지 방황하였다. 세번째 학기가 들어스면서 이제 졸업 논문과 연구를 준비를 해야하는데 어떤 주제로 어떻게 해야할지 몰랐었기 때문이다. 이런 막연한 두려움 떄문에, Robot ignite 1년치 회원권을 샀다. 약 50만원 정도 하는 돈인데, ROS 시스템에대해 공부할 수 있고 실전 문제 해결을 할 수 있기 때문이다. Robot ignite에 대한 커리큘럼을 다 풀어보고 Udemy에서 Reinforcement Learning에 대한 공부를 하면서 10월에 논문 모델링을 하고 11월에 교수님에게 Reinforcement를 이용한 Dual Arm Pick and place를 발표하였는데, 교수님은 내가 준비한 논문 과제가 아닌 SLAM이라는 주제를 주어주셨다. 그렇게 2학기는 ROS 시스템 운영 방법과 Reinforcement Learning에 대해서 공부하였다.
로봇 어플리케이션 3
겨울방학동안 SLAM이라는 주제를 받으며 네번째 학기가 시작하기 전에 공부를 해야했다.
- Multi view geometry
- Visual SLAM 종류
- robot probability
대략 두가지로 공부했던것 같다. 현재 연구실에서 개발된 ORB-SLAM2과 Yolov3를 이용하여 Semantic SLAM system, Visual odometer과 Wheel odometer 센서 퓨전을 통한 robot Localization이 있는데, 내 졸업 논문 주제로 Motion Planning과 Image Processing을 통한 Fast Frointer-based Autonomous exploration을 개발하는 것이였다. 대략적인 SLAM에 대해서 공부하는데는 한달정도 걸렸던것 같다. 이전에 몰랐던 분야라 처음부터 배우는데 많은 시간을 들여야 했기 때문이다. 연구실에서 개발된 Semantic SLAM based on ORB-SLAM2 with yolov3와 Fusion sensor data를 하는 것에도 대략 한달 걸렸던것 같다. 공부하는데 있어 Youtube와 SLAM KR의 도움을 많이 받았다.
그렇게 1월과 2월이 지나가면서 3월부터 본격적으로 Frointer-based Autonomous Exploration을 공부했다. 3월에는 Sample based method를 이용하여 Navigation을 구현하였으며 4월에는 Frointer-based를 통한 Exploration을 구현함과 동시에 RGB-D카메라를 이용하여 Fast-Frointer-based 알고리즘을 개발하였으며, 현재 병렬 프로세스로 구현하는 일만 남았다.
기타
석사 두번쨰 학기에 목표였던 블로그를 만드는 것이였다. Django를 약 한달 동안 공부해본적이 있는데, 사실 상당한 공부량과 시간을 투자해야하므로 Django대신 jerk를 이용하여 github을 통한 호스팅 블로그를 만들었다.
현재 코로나 상황으로 실제 로봇에 implementing을 하지 못하고 있는 상황이다, 현재 모든 개발은 Gazebo Turtlebot으로 이루어졌으며, 5월달에는 Data structure과 Algorithm을 공부하고 있다.
Comments