ROS2 소개
Robot Operating System 2
운영체제의 기능과 로봇제어 라이브러리의 기능을 동시에 갖고 있는 오픈소스 소프트웨어 플랫폼
로봇제어, 자율주행, IoT, 임베디드 시스템 분야의 필수 도구
교재
ROS2로 시작하는 로봇 프로그래밍, 표윤석, 임태훈 지음, 루비페이퍼, 2021
강의내용
ROS2 소개
ROS2개발환경구축 : ROS2 Foxy, Windows Terminal, VS code, Ubuntu 20.04, CMake, Git, OpenCV, Gstreamer
ROS2특징
DDS
ROS2패키지와노드
ROS2토픽, 서비스, 액션, 파라미터, 인터페이스
CMake 사용법
ROS2 파일시스템, 패키지파일
C++ 고급 : auto, 람다함수, std::function, std::bind, 사용자정의 리터럴, 스마트포인터 등
ROS2 rclcpp(ros client libarary for c++)
실습로봇소개
ROS2 카메라 패키지 프로그래밍
ROS2 다이내믹셀 패키지 프로그래밍
ROS2 linetracer 패키지 프로그래밍
ROS2 lane follower 패키지 프로그래밍
ROS2 Lidar 패키지 프로그래밍
ROS2 lidar based obstacle avoidance
ROS2 object detection based leader following
ROS2 image segmentation based self driving
실습로봇
Embedded system : Jetson nano
Interface ; WiFi, usb2serial
Sensor : Lidar, Camera
Actuator : Dynamixel
Battery : 11.1V(10A)
실습과제
비전기반 라인트레이서
비전기반 레인팔로워
라이다기반 장애물회피
객체검출기반 리더팔로잉
영상분할기반 자율주행