Zeta Edu Ros2 Version Logo
latest

Robot Hardware and ROS 2 Installation

  • 하드웨어 스펙
    • 로봇의 구성요소
    • 주요 부품들
    • 블럭 다이어그램
    • 요약
  • 하드웨어 체크
    • 전제조건
    • 로봇의 구성요소
    • 1 배터리 표시기, 충전포트, 전원스위치
    • 2 스피커
      • 테스트
    • 3 카메라
    • 4 라이다
    • 5 모터 혹은 IMU
    • 요약
  • 로봇 조립
    • 전제조건
    • 로봇의 하단 부분 조립
    • 로봇의 중단 부분 조립
    • 로봇의 상단 부분 조립
    • 검증
    • 요약
  • 로봇 셋업
    • 전제조건
      • 1 로봇에 우분투 22.04 OS 설치
        • 1.1 PC에서
        • 1.2 로봇에서
      • 2 로봇 WiFi 설정하기
      • 2 로봇 openssh-server 설정하기
    • 요약
    • 다음 단계
  • PC 셋업
    • 전제조건
      • 1 Ubuntu USB 메모리 스틱 만들기
      • 2 PC에 Ubuntu 설치하기
      • 4 PC에서 로봇 ssh 연결
    • 요약
    • 다음 단계
  • Ubuntu (Debian 패키지)
    • 자료
    • 로케일 설정
    • 소스 설정
    • ROS 2 패키지 설치
    • 환경 설정
      • 설정 스크립트 소싱
    • 예제 시도
      • 대화형-수신자
    • 설치 후 다음 단계
    • ROS 1 브릿지 사용
    • 추가 RMW 구현 (선택 사항)
    • 문제 해결
    • 제거
  • 로봇 조립 경연대회
    • 대회 규칙
    • 점수 배정

ROS 2 CLI Tutorial

  • 설정
    • source setup
    • source 자동화 하기
    • 환경 변수 확인
    • 도메인 아이디 설정
    • DDS 설정
    • Summary
  • 터틀심과 rqt
    • turtlesim 설치
    • turtlesim 시작
    • turtlesim 사용해보기
    • rqt 설치
    • rqt 사용
    • spawn서비스 사용해보기
    • set_pen서비스 사용하기
    • Remapping
    • turtlesim 닫기
    • 정리
  • 노드 이해하기
    • 배경
      • 1 ROS 2 그래프
      • 2 ROS 2에서의 노드
    • 사전 준비
    • 작업
      • 1 ros2 run
      • 2 ros2 node list
        • 2.1 리매핑
      • 3 ros2 node info
    • 요약
    • 다음 단계
  • 토픽 이해하기
    • 배경
    • 사전 준비
    • 작업
      • 1 설정
      • 2 rqt_graph
      • 3 ros2 topic list
      • 4 ros2 topic echo
      • 5 ros2 topic info
      • 6 ros2 interface show
      • 7 ros2 topic pub
      • 8 ros2 topic hz
      • 9 정리
    • 요약
    • 다음 단계
  • 서비스 이해하기
    • 배경
    • 필수 준비물
    • 작업
      • 1 설정
      • 2 ros2 service list
      • 3 ros2 service type
        • 3.1 ros2 service list -t
      • 4 ros2 service find
      • 5 ros2 interface show
      • 6 ros2 service call
    • 요약
    • 다음 단계
    • 관련 콘텐츠
  • 매개변수 이해하기
    • 배경
    • 필수 준비물
    • 작업
      • 1 설정
      • 2 ros2 param list
      • 3 ros2 param get
      • 4 ros2 param set
      • 5 ros2 param dump
      • 6 ros2 param load
      • 7 노드 시작 시 매개변수 파일 로드
    • 요약
    • 다음 단계
  • 액션 이해하기
    • 배경 정보
    • 전제 조건
    • 작업
      • 1 설정
      • 2 액션 사용
      • 3 ros2 node info
      • 4 ros2 action list
        • 4.1 ros2 action list -t
      • 5 ros2 action info
      • 6 ros2 interface show
      • 7 ros2 action send_goal
    • 요약
    • 다음 단계
    • 관련 콘텐츠
  • rqt_console 를 사용하여 로그 보기
    • 배경 지식
    • 전제 조건
    • 작업
      • 1 설정
      • 2 rqt_console에서 메시지
      • 3 로거 레벨
        • 3.1 기본 로거 레벨 설정
    • 요약
  • 노드 실행
    • 배경 지식
    • 전제 조건
    • 작업
      • 런치 파일 실행
      • (선택 사항) Turtlesim 노드 제어
    • 요약
    • 다음 단계
  • 데이터 녹화 및 재생
    • 배경 지식
    • 전제 조건
    • 작업
      • 1 설정
      • 2 토픽 선택
      • 3 ros2 bag record
        • 3.1 단일 토픽 녹화
        • 3.2 여러 토픽 녹화
      • 4 ros2 bag info
      • 5 ros2 bag play
    • 요약
    • 다음 단계
    • 관련 콘텐츠
  • 로봇 구성요소의 역할 탐구
    • 목표
    • 과제 설명
    • 프레젠테이션 준비
    • 평가 기준 및 점수 배점
    • 제출 가이드라인
    • 결론

ROS 2 Client libraries Tutorial

  • colcon 을 사용하여 패키지 빌드하기
    • 배경
    • 전제 조건
      • colcon 설치
      • ROS 2 설치
    • 기초사항
      • 워크스페이스 생성
      • 일부 소스 추가
      • 환경 소스
      • 워크스페이스 빌드
      • 테스트 실행
      • 환경 소스
      • 데모 실행
    • 직접 패키지 생성하기
    • colcon_cd 설정하기
    • colcon 탭 완성 설정하기
    • 팁
  • 작업 공간 생성
    • 배경 지식
    • 전제 조건
    • 작업 내용
      • 1. ROS 2 환경 소스화
      • 2. 새 디렉터리 생성
      • 3. 샘플 리포지토리 복제
      • 4. 패키지 종속성 해결
      • 5. colcon으로 작업 공간 빌드
      • 6. 오버레이 소스화
      • 7. 오버레이 수정
    • 요약
    • 다음 단계
  • 패키지 만들기
    • 배경 지식
      • 1 ROS 2 패키지란 무엇인가요?
      • 2 ROS 2 패키지는 무엇으로 이루어져 있나요?
      • 3 작업 공간의 패키지
    • 전제 조건
    • 작업
      • 1 패키지 만들기
      • 2 패키지 빌드
      • 3 설정 파일 소스화
      • 4 패키지 사용
      • 5 패키지 내용 검사
      • 6 package.xml 사용자 정의
    • Summary
    • 다음 단계
  • 간단한 publisher/subscriber 작성 (C++)
    • 배경
    • 전제 조건
    • 작업
      • 1. 패키지 만들기
      • 2. 퍼블리셔 노드 작성
        • 2.1 코드 검토
        • 2.2 종속성 추가
        • 2.3 CMakeLists.txt
      • 3. 구독자 노드 작성
        • 3.1 코드 검토
        • 3.2 CMakeLists.txt
      • 4 빌드 및 실행
    • 요약
    • 다음 단계
    • 관련 콘텐츠
  • 간단한 publisher/subscriber 작성 (Python)
    • 배경 지식
    • 전제 조건
    • 작업
      • 1. 패키지 생성
      • 2. 퍼블리셔 노드 작성
        • 2.1. 코드 검토
        • 2.2. 종속성 추가
        • 2.3. 엔트리 포인트 추가
        • 2.4. setup.cfg 확인
      • 3 서브스크라이버 노드 작성
        • 3.1. 코드 검토
        • 3.2. 엔트리 포인트 추가
      • 4 빌드 및 실행
        • 요약
        • 다음 단계
        • 관련 콘텐츠
  • 간단한 service and client 작성 (C++)
    • 배경
    • 사전 준비 사항
    • 작업
      • 1 패키지 생성
        • 1.1 package.xml 업데이트
      • 2 서비스 노드 작성
        • 2.1 코드 분석
        • 2.2 실행 파일 추가
      • 3 클라이언트 노드 작성
        • 3.1 코드 분석
        • 3.2 실행 파일 추가
      • 4 빌드 및 실행
    • 요약
    • 다음 단계
    • 관련 콘텐츠
  • 간단한 service and client 작성 (Python)
    • 배경
    • 사전 준비 사항
    • 작업
      • 1 패키지 생성
        • 1.1 package.xml 업데이트
        • 1.2 setup.py 업데이트
      • 2 서비스 노드 작성
        • 2.1. 코드 검토
        • 2.2. 엔트리 포인트 추가
      • 3 클라이언트 노드 작성
        • 3.1 코드 살펴보기
        • 3.2 엔트리 포인트 추가
      • 4 빌드 및 실행
    • 요약
    • 다음 단계
    • 관련 컨텐츠
  • 커스텀 msg와 srv 파일 생성하기
    • 배경
    • 사전 준비 사항
    • 작업
      • 1 새 패키지 생성하기
      • 2 커스텀 정의 생성하기
        • 2.1 msg 정의
        • 2.2 srv 정의
      • 3 CMakeLists.txt
      • 4 package.xml
      • 5 tutorial_interfaces 패키지 빌드하기
      • 6 msg 및 srv 생성 확인하기
      • 7 새 인터페이스 테스트하기
        • 7.1 Num.msg 를 pub/sub으로 테스트하기
        • 7.2 AddThreeInts.srv 를 서비스/클라이언트와 테스트하기
    • 요약
    • 다음 단계
  • 사용자 정의 인터페이스 구현
    • 배경 지식
    • 전제 조건
    • 작업
      • 1 패키지 생성
      • 2 msg 파일 생성
        • 2.1 msg 파일 빌드
        • 2.2 (추가) 여러 인터페이스 설정
      • 3 동일 패키지에서 인터페이스 사용
        • 3.1 코드 설명
        • 3.2 퍼블리셔 빌드
        • 3.3 인터페이스와 연결
      • 4 실행해 보기
      • 5 (추가) 기존 인터페이스 정의 사용
    • 요약
    • 다음 단계
    • 관련 컨텐츠
  • 클래스에서 매개변수 사용하기 (C++)
    • 배경
    • 전제 조건
    • 작업
      • 1 패키지 생성
        • 1.1 package.xml 업데이트
      • 2 C++ 노드 작성
        • 2.1 코드 검토
        • 2.2 실행 파일 추가
      • 3 빌드 및 실행
        • 3.1 콘솔을 통한 변경
        • 3.2 런치 파일을 통한 변경
    • 요약
    • 다음 단계
  • 클래스에서 매개변수 사용하기 (Python)
    • 배경
    • 전제 조건
    • 작업
      • 1 패키지 생성
        • 1.1 package.xml 업데이트
      • 2. 파이썬 노드 작성
        • 2.1 코드 검토
        • 2.2 엔트리 포인트 추가
      • 3 빌드 및 실행
        • 3.1 콘솔을 통한 변경
        • 3.2 런치 파일을 통한 변경
    • 요약
    • 다음 단계
  • ros2doctor 를 사용하여 문제 식별
    • 배경
    • 필수 조건
    • 작업
      • 1 설정 확인
      • 2 시스템 확인
      • 3 전체 보고서 얻기
    • 요약
    • 관련 콘텐츠
    • 다음 단계
  • ROS 기초 개별 미션
    • 목표
    • 과제 설명
    • PPT 형식
    • 평가 기준
    • 결론

ROS 2 Intermediate

  • rosdep를 사용하여 종속성 관리
    • rosdep가 무엇인가요?
    • package.xml 파일에 대한 간략한 설명
      • <depend>
      • <build_depend>
      • <build_export_depend>
      • <exec_depend>
      • <test_depend>
    • rosdep가 어떻게 작동하나요?
    • 내 package.xml에 어떤 키를 넣어야 하는지 어떻게 알 수 있나요?
    • 만약 내 라이브러리가 rosdistro에 없다면 어떻게 해야 하나요?
    • rosdep 도구를 어떻게 사용하나요?
      • rosdep 설치
      • rosdep 작동
  • 액션 생성하기
    • 배경
    • 사전 준비 사항
    • 작업
      • 1 액션 정의하기
      • 2 액션 빌드하기
    • 요약
    • 다음 단계
    • 관련 내용
  • 액션 서버 및 클라이언트 작성하기 (C++)
    • 배경 정보
    • 전제 조건
    • 작업
      • 1 액션 서버를 위한 action_tutorials_cpp 패키지 생성
        • 1.1 action_tutorials_cpp 패키지 생성
        • 1.2 가시성 제어 추가
      • 2 액션 서버 작성
        • 2.1 액션 서버 코드 작성
        • 2.2 액션 서버 컴파일
        • 2.3 액션 서버 실행
      • 3 액션 클라이언트 작성
        • 3.1 액션 클라이언트 코드 작성
        • 3.2 액션 클라이언트 컴파일
        • 3.3 액션 클라이언트 실행
    • 요약
    • 관련 컨텐츠
  • 액션 서버 및 클라이언트 작성하기 (Python)
    • 배경
    • 필수 사항
    • 작업
      • 1 액션 서버 작성
        • 1.2 피드백 게시
      • 2 액션 클라이언트 작성
        • 2.2 피드백 받기
    • 요약
    • 관련 콘텐츠
  • Launch
    • 런치파일 생성하기
      • 필수 사항
      • 배경
      • 작업
        • 1 설정
        • 2 런치 파일 작성
        • 3 ros2 launch
        • 4 rqt_graph를 사용하여 시스템 검토
      • 요약
    • ROS 2 패키지에 런치 파일 통합하기
      • 전제 조건
      • 배경 지식
      • 작업
        • 1 패키지 생성
        • 2 런치 파일을 저장할 구조 생성
        • 3 런치 파일 작성
        • 4 런치 파일 빌드 및 실행
      • 문서화
    • 대체 사용법 익히기
      • 배경 지식
      • 전제 조건
      • 대체 사용법 사용하기
        • 1 패키지 생성 및 설정
        • 2 상위 런치 파일
        • 3 대체 사용법 예제 런치 파일
        • 4 패키지 빌드
      • 예제 실행
      • 런치 인수 수정
      • 문서화
      • 요약
    • 이벤트 핸들러 사용
      • 배경 정보
      • 전제 조건
      • 이벤트 핸들러 사용
        • 1. 이벤트 핸들러 예제 런치 파일
      • 패키지 빌드
      • 예제 실행
      • 문서화
      • 요약
    • 대규모 프로젝트 관리
      • 배경
      • 전제 조건
      • 소개
      • 런치 파일 작성
        • 1 최상위 구성
        • 2 매개변수
        • 3 네임스페이스
        • 4 노드 재사용
        • 5 매개변수 오버라이드
        • 6 리매핑
        • 7 구성 파일
        • 8 환경 변수
      • 런치 파일 실행
        • 1. setup.py 업데이트
        • 2. 빌드 및 실행
      • 요약
  • tf2
    • tf2 소개
      • 데모 설치
      • 데모 실행
      • 무슨 일이 일어나고 있나요?
      • tf2 도구
        • 1. view_frames 사용
        • 2. tf2_echo 사용
      • rviz2 및 tf2
    • tf2 정적 브로드캐스터 작성 (Python)
      • 배경
      • 필수 준비물
      • 작업
        • 1 패키지 생성
        • 2 정적 브로드캐스터 노드 작성
        • 3 빌드
        • 4 실행
      • 정적 변환을 게시하는 올바른 방법
      • 요약
    • tf2 정적 브로드캐스터 작성 (C++)
      • 배경
      • 필수 준비물
      • 작업
        • 1 패키지 생성
        • 2. 정적 변환자 노드 작성
        • 3. 빌드
        • 4. 실행
      • 정적 변환을 게시하는 올바른 방법
      • 요약
    • 브로드캐스터 작성하기 (Python)
      • 배경
      • 필수 준비 사항
      • 작업
        • 1 브로드캐스터 노드 작성
        • 2 런치 파일 작성
        • 3 빌드
        • 4 실행
      • 요약
    • 브로드캐스터 작성하기 (C++)
      • 배경
      • 필수 준비 사항
      • 작업
        • 1 브로드캐스터 노드 작성
        • 2 런치 파일 작성
        • 3 빌드
        • 4 실행
    • 리스너 작성하기 (Python)
      • 배경
      • 전제 조건
      • 작업
        • 1. 리스너 노드 작성
        • 2. 런치 파일 업데이트
        • 3. 빌드
        • 4. 실행
      • 요약
    • 리스너 작성하기 (C++)
      • 배경
      • 전제 조건
      • 작업
        • 1. 리스너 노드 작성
        • 2. 런치 파일 업데이트
        • 3. 빌드
        • 4. 실행
      • 요약
    • 프레임 추가 (Python)
      • 배경
      • tf2 트리
      • 작업
        • 1 고정 프레임 브로드캐스터 작성
        • 2. 동적 프레임 브로드캐스터 작성
      • 요약
    • 프레임 추가 (C++)
      • 배경
      • tf2 트리
      • 작업
        • 1 고정 프레임 브로드캐스터 작성
        • 2 동적 프레임 브로드캐스터 작성
      • 요약
    • 시간 사용하기 (Python)
      • 배경 정보
      • 작업
        • 1 리스너 노드 업데이트
        • 2 리스너 노드 수정
        • 3 결과 확인
      • 요약
    • 시간 사용하기 (C++)
      • 배경 정보
      • 작업
        • 1 tf2와 시간
        • 2 변환 대기
        • 3 결과 확인
      • 요약
    • 시간을 여행하다 (Python)
      • 배경 정보
      • 시간 여행
      • lookup_transform()에 대한 고급 API
      • 결과 확인
      • 요약
    • 시간을 여행하다 (C++)
      • 배경 정보
      • 시간 여행
      • lookupTransform()에 대한 고급 API
      • 결과 확인
      • 요약
    • 디버깅
      • 배경 정보
      • 디버깅 예제
        • 1 예제 설정 및 시작
        • 2 tf2 요청 찾기
        • 3 프레임 확인
        • 4 타임스탬프 확인
      • 요약
    • Quaternion fundamentals
      • 배경
      • 필수 전제 조건
      • 쿼터니언의 구성 요소
      • ROS 2에서의 쿼터니언 유형
      • 쿼터니언 연산
        • 1 롤(roll), 피치(pitch), 요(yaw)로 생각한 다음 쿼터니언으로 변환하기
        • 2 쿼터니언 회전 적용
        • 3 쿼터니언 반전
        • 4 상대 회전
      • 요약
    • tf2_ros::MessageFilter로 stamped 데이터 유형 사용하기
      • 배경
      • 작업
        • 1 PointStamped 메시지 브로드캐스터 노드 작성
        • 2 메시지 필터/리스너 노드 작성
        • 3 실행
      • 요약
    • 작업 공간 설정
    • tf2 학습
    • tf2 디버깅
    • tf2와 센서 메시지 사용
  • ROS 중급 개별 미션
    • 목표
    • 과제 설명
    • PPT 형식
    • 평가 기준
    • 결론

Zeta2 Robot Packages

  • zeta2 bringup
    • 전제조건
      • 1 라이다 세팅
      • 2 zeta2_bringup 패키지 설치
    • 요약
    • 다음 단계
  • zeta2 autonomous
    • 전제조건
      • 1 필요한 패키지들 설치
      • 2 slam tool box 매핑
      • 3 cartographer 매핑
      • 4 navigation2 실행
    • 요약
    • 다음 단계

Navigation2 Packages

  • Navigation2 Start
    • 전제조건
      • 1 navigation2 를 위한 로봇 셋업
        • 1.1 TF
        • 1.2 Odometry(odom)
        • 1.2.1 zeta2 로봇에서의 odom
        • 1.3 Sensor
        • 일반적인 센서 메시지
        • 매핑과 로컬라이제이션
        • Costmap 2D Overview
        • 1.4 Footprint
        • 1.5 Navigation Plugins
        • 플래너와 컨트롤러 서버
    • 요약
    • 다음 단계
  • Navigation2 플래너
    • 전제조건
      • 1 Planners 의 종류
      • 2 Planners 기본 사용법
        • 매개변수
        • 기본 플러그인
        • Example
    • 요약
    • 다음 단계
  • NavFn Planner
    • 매개변수
    • 예시
      • 다음 단계
  • Smac 플래너
    • 제공되는 플러그인
      • Smac 2D 플래너
        • 매개 변수
        • Example
      • Smac Hybrid-A* Planner
        • 매개변수
        • Example
      • Smac State Lattice Planner
        • 매개변수
        • Example
    • 설명
      • 다음 단계
  • Theta Star Planner 설정
    • 매개변수
      • Example
        • 다음 단계
  • Navigation2 컨트롤러
    • 전제조건
      • 1 Controllers 의 종류
      • 2 Controllers 기본 사용법
        • 매개변수
        • 제공된 플러그인
        • 기본 플러그인
        • Example
    • 요약
    • 다음 단계
  • DWB 컨트롤러
    • 컨트롤러
      • DWB 컨트롤러
        • 매개변수
      • XYTheta 이터레이터
        • 매개변수
      • 운동학 매개변수
        • 매개변수
      • Publisher
        • 매개변수
    • 플러그인
      • LimitedAccelGenerator
        • 매개변수
      • StandardTrajectoryGenerator
        • 매개변수
    • 트라젝토리 크리틱
      • BaseObstacleCritic
        • 매개변수
      • GoalAlignCritic
        • 매개변수
      • GoalDistCritic
        • 매개변수
      • ObstacleFootprintCritic
        • 매개변수
      • OscillationCritic
        • 매개변수
      • PathAlignCritic
        • 매개변수
      • PathDistCritic
        • 매개변수
      • PreferForwardCritic
        • 매개변수
      • RotateToGoalCritic
        • 매개변수
      • TwirlingCritic
        • 매개변수
      • 다음 단계
  • Regulated Pure Pursuit
    • 규제된 순수 추적 매개변수
    • Example
  • 모델 예측적 경로 적분 컨트롤러
    • MPPI 파라미터
      • Trajectory Visualization
      • Path Handler
      • Ackermann Motion Model
      • Constraint Critic
      • Goal Angle Critic
      • Goal Critic
      • Obstacles Critic
      • Cost Critic
      • Path Align Critic
      • Path Angle Critic
      • Path Follow Critic
      • Prefer Forward Critic
      • Twirling Critic
    • Example
    • 사용자에게 알림
      • 일반적인 지혜의 말씀
      • 예측 지폐, 코스트맵 크기 및 오프셋
      • 장애물, 인플레이션 레이어 및 경로 추적
  • Rotation Shim Controller
    • Rotation Shim Controller 매개변수
    • Example
  • Graceful Controller
    • Graceful Controller 매개변수
    • Example
  • Simple Commander API
    • 개요
    • Commander API
    • 코스트맵 API
    • 풋프린트 충돌 체크 API
    • 예제와 데모
      • example_nav_to_pose.py
      • example_nav_through_poses.py
  • Navigation2 Conclusion
    • 전제조건
      • 1 플래너
      • 2 컨트롤러
      • 3 smoother(스무더)
    • 요약
  • 네비게이션 미션
    • 목표
    • 과제 설명
    • PPT 형식
    • 평가 기준
    • 결론
  • 미래의 로봇 시나리오 프로젝트
    • 목표
    • 과제 설명
    • PPT 형식
    • 평가 기준
    • 결론
Zeta Edu Ros2 Version
  • Search


© Copyright . Revision bf63d301.

Built with Sphinx using a theme provided by Read the Docs.