Chapter1. 로봇 소프트웨어 플랫폼
소프트웨어 플랫폼이 가져온 변화
- 하드웨어 인터페이스 통합
- 하드웨어 추상화 및 모듈화
- 가격 감소 및 성능 상승
- 하드웨어, 운영체제, 애플리케이션 분리
- 사용자 수요에 맞는 서비스에 집중
- 유저 증가로 인한 플랫폼의 생태계 생성
로봇 소프트웨어 플랫폼의 종류
갈라파고스 | 오픈소스 | 클로즈드 소스 |
|
Chapter2. 로봇 운영체제 ROS
ROS의 특징
- 메타 운영체제
- 통신 기능
- 로봇 관련 다양한 기능
- 다양한 개발 도구
Chapter3. ROS 개발환경 구축
사용하고자 하는 환경(Enviroment) 설정
먼저 사용하고자 하는 편집기, 터미널과 같이 사용하고자 하는 기본 환경을 구비하는 것이 좋다.
이후에는 ROS를 사용할 때 편한 단축 명령어를 사용할 수 있다.
ROS 강의에도 유용한 환경 설정이 있지만 주로 다음 ss 명령어를 사용한다.
alias ss="source devel/setup.zsh"
이 명령어는 ROS 패키지의 코드를 실행할 때 필요한 다양한 환경변수들을 미리 불러오는 명령어이다. ROS 강의에서는 이 명령어를 터미널이 실행될 때마다 실행시키지만 다음과 같이 수동 실행을 시킬수도 있다.
ROS 설치
http://wiki.ros.org/noetic/Installation/Ubuntu
ROS Noetic의 경우, 다음 사이트에서 자세한 설치 정보를 받을 수 있다.
이외의 버전도 ros.org 사이트에서 설치 문서가 자세하게 설명되어 있다.
ROS에서 제공되는 기본적인 툴은 대부분의 상황에서 빈번히 사용되고, 이후 강의에서도 사용될 수 있으므로 되도록이면 Desktop-Full Install 버전 설치를 추천한다.
또한, ROS 설치 문서 끝부분에 다음 명령어를 통해 우분투 버전만 맞다면 ROS를 한줄로 설치할 수 있다.
http://wiki.ros.org/ROS/Installation/TwoLineInstall/
특히 ROS 공식 홈페이지이기 때문에 설치 링크의 신뢰도도 높은 편이다.
ROS 동작 테스트
ROS가 설치되었으면 기본적으로 설치되는 turtlesim 패키지를 통해 ROS의 동작을 테스트할 수 있다.
roscore
ros는 각 프로그램들이 각각의 노드(Node)로써 실행되고 이러한 노드들을 관리하는 마스터(Master)가 중앙에 있는 마스터/슬레이브 모델을 따른다. 즉 ros의 노드들을 실행시키려면 이전에 roscode 명령어를 통해 마스터를 실행시켜야 한다.
rosrun turtlesim turtlesim_node
turtlesim은 ros를 설치하면서 기본적으로 설치되는 프로그램 중 하나이다. ros에서 제공되는 메세지 체계를 이용해서 거북이를 움직일 수 있는 간단한 프로그램이다.
rosrun turtlesim turtle_teleop_key
마지막으로 실행한 Turtlesim을 조종하기 위해 turtle-teleop-key 프로그램을 사용한다. 이 프로그램은 거북이의 움직임에 관한 정보를 메세지의 형대로 발신하고, turtlesim 프로그램이 이 메세지를 받아서 거북이를 움직이게 된다. 여기서 두 프로그램은 별개의 프로그램이지만 ros의 메세지를 통해 정보를 주고받을 수 있으므로, 다른 프로그래밍 언어나 이기종 디바이스 간의 통신을 지원하는 데 중요한 역할을 한다.
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2024 ROS 스터디] 변수양 #2주차 - ROS 명령어 및 도구 (0) | 2024.02.03 |
---|---|
[2024 ROS 스터디] 안선영 #2주차 - ROS 명령어 및 도구 (0) | 2024.01.31 |
[2024 ROS 스터디] 이강욱 #1주차 - ROS 소개 및 설치하기 (1) | 2024.01.29 |
[2024 ROS 스터디] 손희문 #1주차 - ROS 소개 및 설치하기 (0) | 2024.01.29 |
[2024 ROS 스터디] 이준호 #1주차 - ROS 소개 및 설치하기 (0) | 2024.01.28 |