====== ROS2 학습에 대한 메뉴얼 ======
이 글은 노션으로 작성되었습니다.
원본 링크 : https://jh00817.notion.site/ROS2-9f8cfb4f72184437b86b53efc05aebd9?pvs=4
====== ROS2 설치 ======
===== 우분투를 어디에 설치할 것인가? =====
ROS2는 윈도우, 맥, 리눅스 등 모든 개발환경을 지원하지만, 가장 안정적이고 주류가 되는 환경은 리눅스입니다. 리눅스 중 가장 유저가 많은 우분투를 주로 로봇을 개발할 때 사용합니다.
==== 듀얼부팅(추천) ====
조금 어렵습니다. 하지만 대부분의 유저가 이를 사용하며, 가장 오류가 없는 안정적인 방식입니다.
usb가 필요하고요, ventoy 등의 프로그램을 통해 os를 설치하시면 됩니다.
ISO 파일은 공식 홈페이지에서 다운 받으시면 됩니다.
[Download Ubuntu Desktop | Download | Ubuntu](https://ubuntu.com/download/desktop)
참고자료 :
[Ubuntu 설치 - KAsimov Wiki](https://kasimov.korea.ac.kr/dokuwiki/doku.php/activity/public/reference/linux/ubuntu-install)
==== 윈도우 WSL2 사용 ====
윈도우에서 WSL2를 통해 우분투를 설치하는 것이 가능합니다.
저희는 Ubuntu 22.04 LTS Desktop 버전을 사용하고 있고, 이를 Microsoft store 에서 `ubuntu 22.04` 를 검색하셔서 설치하시면 됩니다.
[Get Ubuntu 22.04.2 LTS from the Microsoft Store](https://apps.microsoft.com/store/detail/ubuntu-22042-lts/9PN20MSR04DW?hl=ko-kr&gl=kr)
참고 :
[Windows Subsystem for Linux(WSL) - KAsimov Wiki](https://kasimov.korea.ac.kr/dokuwiki/doku.php/activity/public/reference/wsl)
==== 가상머신을 통한 우분투 구동 ====
컴퓨터가 맥인 경우 추천 드리는 방법입니다.
윈도우보다 가상머신이 잘 되어 있기 때문에 높은 성능을 내지만, 아무래도 네이티브인 듀얼부팅을 통한 우분투보다는 느리고, 안정적이지 않은 모습을 보여줍니다.
맥은 VMware fusion, 유료로는 Parallels를 추천 드립니다.
윈도우는 추천하지 않지만 VMware 등을 추천드립니다.
참고 : (컴퓨터가 맥인 경우)
[[Mac] VMware 가상머신으로 Ubuntu 설치하기](https://velog.io/@rara_kim/Mac-VMware-가상머신으로-Ubuntu-설치하기)
===== 우분투에 관해서 =====
우분투는 리눅스라는 컴퓨터 Operationg System 중 하나 입니다. 윈도우, 맥 이후 가장 많이 쓰이는 운영체제이며, 주로 개발자들이 많이 사용합니다.
공식 문서에서는 로스에서 윈도우와 맥을 지원한다고 적혀있지만, 불안정하기 때문에 아직까지는 우분투(리눅스) 설치가 필수적입니다.
다음은 우분투(리눅스)의 명령어 관해 설명된 글 입니다.
[Linux 명령어 기초 - KAsimov Wiki](https://kasimov.korea.ac.kr/dokuwiki/doku.php/activity/public/reference/linux/basic-commands)
===== ROS2 설치 =====
공식 홈페이지를 참고 바랍니다.
[ROS 2 Documentation — ROS 2 Documentation: Humble documentation](https://docs.ros.org/en/humble/index.html)
혹은 밑에 소개하는 책에서 ROS2 설치를 설명하고 있습니다.
====== ROS2 를 어떻게 배울 것인가 ======
===== 1. (추천) ROS2 공식 홈페이지 =====
[ROS 2 Documentation — ROS 2 Documentation: Humble documentation](https://docs.ros.org/en/humble/index.html)
==== Tutorial - Beginner : CLI & CL 를 완료 ====
Tutorial에서 비기너 단계만 하셔도 어느정도 기초적인 프로그래밍, 로스에 대해 알고 계신다 생각하시면 되겠습니다. 이후 인터미디언트 단계 등 추가로 공부하시고 싶으시다면 추천드립니다.
===== 2. ROS2 책을 읽음 =====
우리나라 최고의 로봇공학자, 표윤석 박사님의 ‘****ROS 2로 시작하는 로봇 프로그래밍’ 을 읽으며 배우시면 될 것 같습니다. 이는 로스****의 공식홈페이지를 변역 및 추가로 설명해 놓은 것이고요, 구매를 하셔도 되지만 동방에 있습니다. 그리고 잘 안쓰게 되고 비싸서 동방에서 보시거나 1의 방안을 추천드립니다.
[](https://product.kyobobook.co.kr/detail/S000001891112)
===== 3. 오로카 네이버 카페 참고 =====
[오픈소스 소프트웨어 & 하드웨어: 로... : 네이버 카페](https://cafe.naver.com/openrt)
에서
**000 로봇 운영체제 ROS 강좌 목차를 보면 됩니다.**
[오픈소스 소프트웨어 & 하드웨어: 로... : 네이버 카페](https://cafe.naver.com/openrt?iframe_url_utf8=/ArticleRead.nhn%3Fclubid=25572101%26menuid=30%26boardtype=L%26page=1%26specialmenutype=%26userDisplay=15%26articleid=24070)
===== 4. Udemy 강좌 =====
Udemy 는 프로그래머를 위한 인터넷 강의 홈페이지입니다. 여기서 로스2도 많은 강좌가 올라와 있습니다.
[Online Courses - Learn Anything, On Your Schedule | Udemy](https://www.udemy.com/courses/search/?src=ukw&q=ros2)
====== ROS2를 어떻게 숙달할 것인가 ======
{{:activity:public:reference:20230812_174107.jpg?nolink&400|}}
동아리에 있는 다양한 로봇들, 터틀봇 4대와 오픈 메니퓰레이터 및 여러 로봇이 있다.
===== 1. Turtlebot3 를 구동시켜보며 배움 =====
[ROBOTIS e-Manual](https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/)
===== 2. Open Manipulator 를 구동시켜보면서 배움( 비추 ) =====
[OpenMANIPULATOR-X](https://emanual.robotis.com/docs/en/platform/openmanipulator_main)
===== 3. 개인적인 프로젝트 혹은 동아리 프로젝트를 참여 =====
프로젝트를 하다보면 배우는게 정말 많습니다. 1, 2의 방식도 좋지만 이에 비교해 배우는 양과 깊이가 수준이 다릅니다. 공식홈페이지 튜토리얼의 비기너 단계만 하셔도, 프로젝트를 진행하기에 무리가 없는 수준입니다.
이후..
====== 이제 반복적인 프로젝트로 실력을 쌓습니다. ======
이제 여기서 자신만의 연구주제를 잡아서, 논문을 읽는 등의 survey를 해서, 이론에 대한 궁금증이나 실현하고 싶은 이론적인 무엇인가 있다면, 이를 직접 로스를 통해 구현을 시켜보며 연구를 해보는 것을 추천드립니다.
질문은 dreambait011@naver.com 혹은 noelbait02@korea.ac.kr 로 주세요 !