.. Cover Letter

전체 글 207

도로의 차선을 검출해보자. (image segmentation 활용)

팀원의 결과물을 올리는 글로써 기술적인 설명은 없습니다. Visual SLAM 팀에서는 차선을 인식해서 달리게 하는 것을 목표로 하고 있습니다. OpenCV도 사용할 수 있겠지만 경험에 초점을 맞춘 프로젝트이니 만큼 Image Segmentation을 활용하고 싶다는 의견이 있었습니다. 그래서 Image Segmentation을 활용하는 방안으로 진행을 하게 되었습니다. 처음에는 Roboflow라는 놈을 사용해서 라벨링을 하려고 했는데 라벨링까지는 쉬운데, 모델을 뱉어주는 방식이 API를 통한 방식이기 때문에 바로 버렸습니다. 그래서 YOLOv8을 사용하게 되었고 YOLOv8부터는 segmentation까지 지원을 하게 되었습니다. https://youtu.be/DMRlOWfRBKU 해당 영상을 참고하면..

실제 로봇의 운영체제 설치하고, 초기 세팅하기

모터 고장으로 로봇을 교체받고, 처음부터 다시 설치하는 과정을 다룬 글입니다. 우선 라즈베리파이용 OS설치 드라이버를 다운받아야합니다. https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview How to install Ubuntu Server on your Raspberry Pi | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com 뭐 우분투에서는 다음의 명령어로 설치가 가능하다고 합니다. sudo..

Visual SLAM 구역, SLAM구 ROS 패키지 설계 및 FSM 설계

FSM은 정의와 다를 수 있습니다. 회의록 Visual SLAM 부분 ROS 패키지 설계 하나의 센서가 정보를 topic 발행 (input) → 그 정보를 구독을 해서 가공 (output) 비쥬얼슬램이 안된다는 가정하에 만들어지고 있습니다. -된다면 가능한 것은 SLAM 맵이 생성됩니다. 그 전까지는 미리 만들어진 MAP을 참고하여 진행합니다. (global map) 토픽으로 해야합니다. 움직임이 스무스하지않다. (스무스한 움직임을 위해 토픽을 해야함) 목적지 설정 → 경로 생성 → image정보 토대로 경로 수정 → 경로따라 가기 이 사이에 object detection으로 장애물 검출시 회피. ROS 설계를 위한 input output 정의 센서 Input RGB-d (영상정보) (유선연결이라 ROS..

(기초 C++) 11장. 예외처리

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) 마지막장입니다. 이 다음 쳅터에서는 실무에서 꼭 필요한 개념 과 effective C++과 Morden C++의 책을 보면서 진행을 하도록 하겠습니다. 좋은 C++ 책들 + 레퍼런스들 - CPP 마이너 갤러리 (dcinside.com) 좋은 C++ 책들 + 레퍼런스들 - CPP 마이너 갤러리 좋은 C++ 책들 + 레퍼런스들원본 링크 : (https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)(본 글에는 번역본 링크만 gall.dcinside.com 이런 글도 있습니다. 참고가 될거 같습니다. C++..

(기초 C++) 10장.템플릿과 STL(표준 템플릿 라이브러리)

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) ※ 명품 C++ Programming 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 명품 C++ Programming의 예제문제와 실습문제가 정말 좋으므로, 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (주)생능 출판사 - 지음: 황기태 명품 C++ Programming - YES24 템플릿이란 무엇인가? 그냥 왜 필요하지? 이거에 초점을 맞추면 가장 쉬운 내용이다. ..

(기초 C++) 9장. C++의 가상 함수와 추상 클래스

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) ※ 명품 C++ Programming 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 명품 C++ Programming의 예제문제와 실습문제가 정말 좋으므로, 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (주)생능 출판사 - 지음: 황기태 명품 C++ Programming - YES24 C++ 상속 관계의 메소드 재정의 다음은 부모클래스의 메소드를 자식클래스에서 다시 정..

7. 비상회의를 소집하다.

모든 문제를 정리하자면 기획을 1주간 진행했고 (중간에 강의실이 바뀌는 이슈가 있었다.) 유비쿼티와 터틀봇에 가져다 버린 시간이 1주가 되어버렸다. 그래서 결국 남은 시간은 14일정도 그 중에서도 3일은 수업이 예정되어 있는 상태이다. 그렇게 비상회의를 소집하고 나서 팀원들과 제작을 위해서 어떻게 할 것인지 다시 정리하고 빨리 구현가능한 것부터 진행하고자 하였다. 솔직히 터틀봇을 만지는 팀원들과 나도 그렇고, 완벽한 ROS 패키지를 만들기 위해 노력하는 팀원도 있었고 RtabMap을 통해 Visual SLAM을 구현하고자 하는 팀원도 그렇고, 관제를 구현하는 팀원도 그렇고 이 모든 것이 완성되려면 2주도 안되는 시간은 너무나도 부족한 시간이 되어버렸다. 그래서 서로간의 진행상황을 확인하고, 버릴 것은 버..

6. 터틀봇 4도 포기하게 되었다. / 핑크봇을 위한 맵을 만들었다.

도큐먼트를 아무리 따라해도 SLAM이 안되는 문제가 있었다. 당장 문제는 robot_description 토픽을 발행하지 않아서 아무리 해도 Rviz에서 터틀봇을 띄울 수가 없었다. 이전에 사용한 사람 때문과의 설정차이때문에 문제가 생긴거 아닐까? 그러니까 bashrc에 들어가야할 어떤 소스코드 하나를 삭제했다거나 하는 문제가 아닐까 하는 생각이였다. 그래서 도큐먼트 상에서 터틀봇4용 라즈베리파이의 이미지 파일을 구할 수 있었고 분해방법은 다음과 같았다. 우선 육각렌치로 위의 4개의 나사를 풀어준다. 그리고나서 원판을 들어내고 기둥을 풀면 다음처럼 위에 기판이 들리게 된다. 라즈베리파이가 보이며 손을 잘이용하여 SD카드를 분리한다. SD카드를 분리하고 도큐먼트에서 시키는대로 터틀봇4를 초기화했다. 초기화..

제 9회 오픈로보틱스 세미나에 참석하였습니다. (+로보티즈 탐방 및 기타)

제9회 오픈 로보틱스 세미나 안내 : 네이버 카페 (naver.com) 오픈소스 소프트웨어 & 하드웨어: 로... : 네이버 카페 오픈소스 소프트웨어/하드웨어로 만드는 로봇 기술 공유 카페 (ROS,ARM,AVR,mbed,라즈베리파이,아두이노) cafe.naver.com 이 바닥에 입문한지 이제 반년쯤 지나갑니다. 지금의 반년이 제 인생에서 가장 알찬 일들로 채워지고 있는 것 같습니다. 블로그 운영 시작, 부트캠프, 로보월드 탐방, 해커톤 혹은 대회 참여, H-Mobility 자율주행부분 수강, LG Aimers 수료 등등 이 모든게 6개월 동안 일어난 일이라는게 믿어지지 않습니다. 최근들어 ROS 프로젝트를 시작하고나서 ROS를 딥하게 들어가보고 있고, 여러 딥러닝 오픈소스나 논문도 읽어보고 있습니다...

(기초 C++) 8장. C++에서의 클래스 상속

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) ※ 명품 C++ Programming 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 명품 C++ Programming의 예제문제와 실습문제가 정말 좋으므로, 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (주)생능 출판사 - 지음: 황기태 명품 C++ Programming - YES24 상속 (Inheritance) 상속이란 뭘까? 그냥 장황하게 이해하지 말고 코드로 보..

(기초 C++) 7장. C++에서의 프랜드와 연산자 중복

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) 프랜드 (Friend) 클래스내에서 선언한 멤버함수들이 있을텐데, 클래스 외부에서 선언한 멤버함수를 클래스 내부에 있는 것처럼 만들고 싶다면 사용하는게 바로 프랜드이다. 그래서 프랜드 함수는 클래스내의 모든 변수나 함수에 접근할 수 있다. 프랜드가 왜 필요한지에 대해 한 번 다시 생각을 해보면, 클래스에는 3가지의 접근권한이 있다. public protected private, 만약 클래스 외부 함수에서 protected, private 멤버변수를 접근해야하는 상황이라 하면, 절대로 접근할 방법이 없다. 그럴 때 사용하는게 프랜드라고 생각하면 된다. 그러면 이제 프랜드 함수를 한 번 선..

5. 터틀봇 4를 움직여보자

연결이 완료된 상태에서 진행하는 글입니다. 네트워크 설정은 이전글을 참고하셔야합니다. 단순하게 로봇을 작동시키는 일을 적고자합니다. 혹시 패드로 진행할 예정이라면 다음을 참고하시면 약간의 도움은 됩니다만.. 일단 ssh로 접속한 상태에서 다음을 입력합시다. sudo bluetoothctl --agent=NoInputNoOutput 그리고 다음처럼 버튼을 누릅니다. 근데 혹시 wating bluetooth가 나온다면 다음을 입력하고 비밀번호를 입력합니다. systemctl start bluetooth 이상태에서 scan on 을 입력한다. systemctl start hciuart 일단 이것도 넣어보자 오 뜬다 뜬다.. 여기서 MAC를 스캔하고 다음을 입력한다. trust E4:5F:01:78:18:77 ..

H Mobility Class 자율주행 2차 시험을 봤습니다.

제어는 어찌저찌 풀었는데, 생각보다 점수가 않나온 것도 있고 통신은 진짜 개어렵네요. 전공이 통신인데.. 왜 통신이 어렵지ㅋㅋ 지하철에서 대충 시간보내면서 들어서 그런가 로봇하면서 딥러닝 싫어했는데, 오히려 인지, 판단 배우던 때가 그리워지던 시험이였습니다. 그래서 결론적으로는 공통 95, 인지 95, 판단 95, 통신 90, 제어 85점으로 살아남았으니.. 과제를 준비하겠습니다. 주변인들 말로는 과제에서 갈려나갈거라고 합니다. + 과제도 뭐.. 무난하게 봤습니다. 주변에서 겁을 엄청줬는데, 결국 웹서핑과 주어진 자료를 잘 활용하면 되는 정도

(기초 C++) 6장. C++에서의 함수 중복과 static 멤버

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) ※ 명품 C++ Programming 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 명품 C++ Programming의 예제문제와 실습문제가 정말 좋으므로, 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (주)생능 출판사 - 지음: 황기태 명품 C++ Programming - YES24 함수중복 (overloading) 객체지향의 특징인 다형성을 실현하는 사례로 C와 다..

(기초 C++) 5장. C++에서의 함수의 참조와 복사 생성자

주의 : 이 글은 C의 기초문법에 대해 상세하게 다루지 않습니다. (즉 C언어에서 배울 수 있는 기초내용은 생략합니다) ※ 명품 C++ Programming 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 명품 C++ Programming의 예제문제와 실습문제가 정말 좋으므로, 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (주)생능 출판사 - 지음: 황기태 명품 C++ Programming - YES24 C++ 함수의 인자 전달 방식 C와 C++에서의 인자 전달 방식(argument pa..