donie 2020. 12. 22. 13:31

1. ROS 소개

: Robot Operating System

로봇 소프트웨어를 개발하는 데 필요한 소프트웨어의 집합체.

메타 운영체제. 소프트웨어 모듈 + 라이브러리 집합 + 도구 집합.

 

ROS가 제공하는 도구들

1) RVIZ

시각화 도구.

센서 데이터를 비롯한 주변 환경 변화를 시각화

2) RQT

Qt기반의 GUI 응용 개발 도구

노드연결 정보를 그래프로 표현.

3) GAZEBO

물리엔진 기반의 3차원 시뮬레이터

 

ROS배포판

Melodic Morenia : 최신 버전.

Kinetic Kame : LTS버전. 2021년 4월까지 지원. 본 교육과정에서 사용.

 

ROS에서의 통신

토픽

노드와 노드가 토픽을 주고받으며 통신.

노드들은 마스터의 도움을 받아 통신. 마스터는 관제센터.

 

용어

Master : 마스터. 서로 다른 노드들 사이의 통신을 총괄 관리. ROS Core라고 부른다.

Nodes : 노드. 실행가능한 최소의 단위. 프로세스로 이해할 수 있다.

Topics : 토픽. 토픽 안에 들어있는 실제 데이터를 메세지라고 부른다.

Publishers : 발행자. 특정 토픽에 메시지를 담아 외부로 송신하는 노드.

Subscribers : 구독자. 특정 토픽에 담겨진 메시지를 수신하는 노드.

Packages : 패키지. 하나 이상의 노드와 노드의 실행을 위한 정보 등을 묶어놓은 단위.

 

2. 설치 및 환경 설정

2020/12/21 - [ROS] - Ubuntu16.04 ROS Kinetic 설치

 

Ubuntu16.04 ROS 설치

우선 새로 가상머신을 하나 만들었다. 2020/12/07 - [OS/윈도우] - 윈도우 VMware에 우분투(16.04) 설치방법2 2020/12/08 - [OS/윈도우] - VMware에 Ubuntu설치 후 작업 2020/10/02 - [OS/리눅스] - Ubuntu 16.04..

donie.tistory.com

2020/12/22 - [ROS] - Ubuntu16.04 ROS Kinetic workspace 생성

 

Ubuntu16.04 ROS Kinetic workspace 생성

1. 폴더 생성 우선 현재 경로를 확인한 후, 워크스페이스 폴더를 생성한다 pwd mkdir -p ~/xycar_ws/src 2. 워크스페이스로 이동 후 build툴로 ros코딩 환경과 셋업 cd ~/xycar_ws catkin_make 3. .bashrc 수정..

donie.tistory.com

환경변수 설정 확인

printenv | grep ROS

 

3. Turtlesim 실습

2020/12/22 - [ROS] - Ubuntu16.04 ROS Kinetic - turtlesim노드 실습

 

Ubuntu16.04 ROS Kinetic - turtlesim노드 실습

터미널 4개 사용 아래처럼 터미널을 띄우고 싶다면 로 터미널을 하나 띄운 뒤, 나머지 3개의 터미널은 로 띄우면 된다. 1. roscore 실행 및 확인 터미널#1에서 roscore 터미널#4에서 rosnode list 2. turtlesim.

donie.tistory.com

 

4. Package

패키지 Package

패키지 구조

패키지 관련 명령어

명령어 설명
rospack list 어떤 패키지들이 있는지 나열.
rospack find [package_name] 이름을 이용해서 패키지 검색
roscd [location[/subdir]] ROS패키지 디렉토리로 이동
rosls [location[/subdir]] Linux의 ls와 유사. 경로를 몰라도 이름 적용 가능하다.
rosed [file_name] 환경 설정에 따른 에디터로 파일을 편집.

 

패키지 생성

2020/12/22 - [ROS] - Ubuntu16.04 ROS Kinetic - 패키지 생성

 

Ubuntu16.04 ROS Kinetic - 패키지 생성

패키지 생성 1) 패키지를 담을 디렉토리로 이동. cd ~/xycar_ws/src 2) 패키지 새로 만들기 catkin_create_pkg my_pkg1 std_msgs rospy my_pkg1에는 패키지 이름을 적고 뒤의 std_msgs와 rospy는 이 패키지가 의..

donie.tistory.com

 

publisher 파일 작성 및 실행

2020/12/22 - [ROS] - Ubuntu16.04 ROS Kinetic - publisher python파일 작성 및 실행

 

Ubuntu16.04 ROS Kinetic - publisher python파일 작성 및 실행

앞으로 파일을 작성할 때 vi에디터를 이용하기 위해 vim을 설치하였다. vi에디터 말고 gedit을 사용해도 된다. sudo apt -y install vim 1. 파일 생성 ~/xycar_ws/src/my_pkg1/src/ 위치에 가서 pub.py 파일을 아..

donie.tistory.com

 

subscriber 파일 작성 및 실행

2020/12/22 - [ROS] - Ubuntu16.04 ROS Kinetic - subscriber python파일 작성 및 실행

 

Ubuntu16.04 ROS Kinetic - subscriber python파일 작성 및 실행

1. 토픽 리스트 확인 터미널#1에서 roscore를 실행하고, 터미널#2에서 rosrun turtlesim turtlesim_node 를 실행하는 중에 터미널#3에서 아래 명령어를 실행한다. 우선 어떤 토픽을 구독할 것인지, 즉 어떤 토

donie.tistory.com