0. 강의자료
https://bit.ly/4xSmcPI
1. 리눅스 셋팅 - ROS2를 배우기 위한 셋팅
1) 리눅스 설치
- 2017년 Google Transform
- ROS / SLAM / Navigation
- ROS에서 제공하는 SLAM?
도마뱀로봇
- 우분투 멀티부팅해야함
2) 파이썬 설치
3) vscode 설치
4) liboffice설치
5) 터미네이터 설치
- 듀얼모니터 안한것을 후회하게될것임
- 우리에게 맞도록 터미널을 설정하는 과정!
- Ctrl+Shift+E : 세로로 쪼개짐
Ctrl+Shift+O : 가로로 쪼개짐
- 터미네이터설정 > 프로파일 > 일반설정 > 글꼴 설정
- 배경화면도 바꿀 수 있음
터미네이터 설정 > 프로파일 > 배경
6) 듀얼 모니터 설정
7) 가상환경 설정
7-1) 미들웨어설정? ros에서 사용할 수 있는 미들웨어가 3개정도 있고 우리가 사용하는것은 이것임

- 여기서 RANGE-LOCALHOST는 우리 학습하려고한거임 / 실제로할땐 열어놔야함
- rnb/.ros2 는 다른경로 잡으면 변경해줘야함
- 껐다 켜야 bashrc를읽음
7-2) 가상환경 설정


2-1. ROS2 셋팅
- 로봇이랑 커뮤니케이션하는 것
- 문법을 배운다고 생각하면 됨!
- 로봇이 움직이는 것 = 강화학습
1) ROS2 설치 메뉴얼보고 다운로드하기

2) TEST
1
source/opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker
2
source/opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
3) 중간점검개념
!!! 1) AMR 시스템 아키텍쳐
1) 운영관리 계층
- 로봇의 위치, 하고있는 일
1
2 전역경로 최적화
3 상태 모니터링
4 충전 및 가용성 관리
5 WMS/ERP 연동과 시스템 구조
FMS 동영상 - 유진로봇이 가지고있는 관제 시스템
!!! 2) SLAM 센서 입력 : 라이다 / 카메라 / IMU
1 라이다
- 레이저를 쏘아서 하는것
- 좋은데 비쌈
- rgb는 밤에 안되지만 레이저는 가넝 ㅎ
- 하지만 거울같은경우에선 취약
2 카메라
- 센서
- 하나는 RGB 하나는 DEPTH 카메라
- Visual Slam에서 자세히 설명하겠음
3 관성센서
=> 다같이 합쳐서 slam에 사용을 한다
!!! 3) SLAM
- 우리가 할 것 : 2차원 맵핑
- 라이다 / 카메라 / 관성센서
- 자기가 있는 위치에서 지도를 그림
그런데 지도가있어야 내 위치를 아는 것 아님?
앞뒤가 안ㅈ맞음
SIMLTANEOUS하게 만듬
계속 돌아다니다보면 믿을만한 지도가 만들어짐
하나씩 따라하는게 아님
- 맵핑하고 위치찾고 맵핑하고 위치찾고 순차적으로 하는것임
!!! 4) Localization using AMCL
- 모양들을보고 추정'
- Odometry : 바퀴정보
!!! 5) 경로 계획
- 전역 경로 계획 : 우리가 주로 볼 것
여기서
- A스타 알고리즘 사용함
- 로봇이 사람처럼 움직이려면 강화학습을 해야함
!!! 6) ROS2
- 해야할 것
- ros를이용해서 커뮤니케이션
- ??????
- slam을 이용해서 경로찾기
- 오픈소스임. 대부분 ROS2사용
- DDS 통신 : 중앙서버가 없음. 이전모델은 중앙서버가 있엇음 . 하지만 중앙서버가 다운되면 다 다운되기때문에. 지금은 로봇끼리 통신한다고 보면됨
- ROS2를 깔 수 있는 케파는 있어야함
- 자율주행,
- 센서 / SLAM / 경로 계획 등등이 중앙서버 없이 통신함
- 시그널을 주면 모든사람들에게 감
!!! 7) DDS표준
- 보내는 사람과 받는사람을 알 필요가 없뜸
- 필요한 말만 들으면 됨
- 동일한 IP내에서 다 들어옴
- QoS제어 : ros1에선 없었는데 이제 파라미터로 조절 가능. 데이터의 손실 방지,
- 동적 검색
2-2. ROS 기본문법
3. SLAM
4. Navigation
- 선형대수가 필요하다 / 기하학 / 미적분
- 파이썬의 class 정도는 다룰 수 있어야함