ROS 공식 홈페이지오픈소스 로봇 운영체제로봇 소프트웨어를 개발하는데 필요한 소프트웨어 프레임워크소프트웨어 모듈 + 라이브러리 집합 + 도구 집합자동차 제어를 위한 미들웨어(OS 위에서 돌아가는 SW)로봇 SW를 만들기 위한 코드의 재사용이 용이한 환경 제공이 목표다양
ROS에서의 통신 통신 = 노드(node) 간 토픽(topic)의 발행 & 구독(publish & subscribe) 기반의 메시지 교환 ROS를 사용하면 서로 다른 기종 간에 메시지 교환 가능 노드간 통신을 기반으로 전체 시스템을 구동 HW 부품, SW 모듈에
ROS 쉘 명령어 roscd [package_name] 지정한 ros package folder로 이동 rosls ros package file 목록 확인 rosed : ros package file 편집 roscp : ros package file 복사
ROS 설치 http://wiki.ros.org/melodic/Installation/Ubuntu 여기 링크에서 명령어 복사해서 입력하면 된다. (난 이걸 모르고 하나씩 다 입력했다...) 해당 문서와 아래 작업 순서가 조금 다를 수 있지만 상관없다. 0. ubun
1. 워크 스페이스 생성 catkin_make : workspace에서 새로운 소스코드 파일이나 패키지가 만들어 지면 (수정하면) 빌드해야 한다. 2. ROS 작업 환경 설정 (환경변수 설정) 1. home 디렉토리의 .bachrc 파일 수정 2. 저장 후 나가기
4. 거북이 node 실습 terminal 1 에서 마스터 실행 terminal 4에서 ros node 확인 terminal 2에서 turtlesim 패키지의 turtlesim_node 실행 terminal 4에서 ros node 확인 (turtlesim이 추가
속도, 조향각 명령을 subscribe 하는 노드노드명 : /xycar_motor토픽 : /xycar_motor토픽 타입 : xycar_msgs/xycar_motor메시지 타입토픽 : /scan토픽 : /xycar_ultrasonic토픽 : /usb_cam/image_
ROS topic을 순서대로 실행하는 방법
초음파 센서를 사용하기 위해 ROS 패키지 만드는 방법
timeslot 실습
message의 크기에 따른 전송 속도 차이 확인
ROS 패키지 만들기
roslaunch 실습
topic을 처리하는 과정에서 처리 지연이 발생했을 경우 처리 방법
RVIZ 기반으로 차량 주행
node 간 동기화를 하는 방법
RVIZ를 통해 라이다 센싱 데이터를 시각화하는 방법
1:1 노트 통신 프로그래밍 1
1:N, N:1, N:N 간의 노드 통신 프로그래밍
나만의 메시지를 만들어서 통신하는 방법
받은 topic을 가공한 후 재전송하는 방법
RVIZ를 사용하여 8자 주행
range 메시지를 활용하여 RVIZ 시각화
모터를 사용하여 모형차 8자 주행 수행
OpenCV 자이카 카메라 활용, 차선 인식