본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디] 이준호 #1주차 - ROS 소개 및 설치하기

반응형

https://www.youtube.com/playlist?list=PLX-Ur4rl2-qxkR14lmj4YdbNRcGYMA4mP

 

2024 ROS 스터디 1주차

 

www.youtube.com

ROS 1주차 스터디

1)Ros - 로봇용 오픈 소스 메타 운영 체제

일반 운영체제 제공(Hardware abstraction, Low-level device control)등의 기능과 프로세스 사이의 메시지 전달, 패키지 관리 기능

여러 컴퓨터 시스템의 코드를 빌드,작성,실행을 위한 라이브러리 제공

구성- 하드웨어 모듈 + 운영체제 + 앱(서비스) + 유저

ROBOT ↔ 메타 운영 체제 ↔ SENSOR

                          APP

 

2)  메타운영체제(Meta-Operating System): 딱히 정의된 용어 x, 어플리케이션과 분산 컴퓨팅 자원간의 가상화 레이어로 분산 컴퓨팅 자원을 활용하여, 스케쥴링 및 로드, 감시, 에러 처리 등을 실행하는 시스템이라고 볼 수 있다.

→ 전통적인 운영체제가 아님: 기존 전통적인 운영체제(리눅스, 윈도우즈, OS-X, 안드로이드)를 이용

 

3)로봇 소프트웨어 플랫폼의 필요성 효율적으로 개발할 수 있음

-> 운동장(운영체제) 만들기 소모전(X) 그라운드 위의 멋진 선수(플랫폼을 활용하여 개발)

 

4)로봇 소프트웨어 플랫폼의 필요성이 가져올 미래

  • 하드웨어 플랫폼과의 소프트웨어 플랫폼 간의 인터페이스 확립
  • 모듈형 하드웨어 플랫폼 확산
  • 하드웨어에 대한 지식 없이도 응용프로그램 작성 가능
  • 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입, 로봇 제품에 참여 가능
  • 유저에게 제공할 서비스에 집중
  • 실수요가 있는 서비스 제공으로 유저 계층 형성 및 피드백
  • 로봇 개발이 급속도로 발전 할 수 있는 계기협업 + 공유

++추가

  1. 로봇제어의 다양한 기능의 프레임워크 지원x → 약간의 모듈을 추가해 코드 재사용 가능o
  2. 디버깅 및 시각화, 시뮬레이션 등의 다양한 도구를 통해 개발의 속도를 향상
  3. 운영체제 및 언어 상관없이 프로세스(노드) 사이의 통신 가능
  4. 독립적인 프로세스로 동작
  5. → 하나의 노드에서 오류발생해도 시스템 정상 작동

5)다양한 로봇 개발에 필요한 TOOL

Rviz - 3D 시각화를 제공

RQT - 그래픽 인터페이스 개발을 위한 Qt 기반 프레임워크 제공, 노드와 그들 사이 정보 제공(rqt_graph)

 

6)ROS 사용 가능 IDE

  1. Qtcreator + Qt Creator Plugin for ROS - 장점: CmakeLists.txt 그대로 사용 가능 , rqt플러그인 및 GUI개발 쉬움
  2. Vs code + ROS Extension - 장점: 간단한 텍스트 편집기 지향, 빠름
  3. Eclipse -장점: 많은 사람들이 사용하는 익숙한 통합개발환경(단, 무거움)

 

ROS install

https://wiki.ros.org/noetic/Installation/Ubuntu

 

noetic/Installation/Ubuntu - ROS Wiki

If you rely on these packages, please support OSRF. These packages are built and hosted on infrastructure maintained and paid for by the Open Source Robotics Foundation, a 501(c)(3) non-profit organization. If OSRF were to receive one penny for each downlo

wiki.ros.org

ROS 동작

turtlesim 실행
turtlesim 동작

 

이렇게 ROS소개 및 설치 방법과  turtlesim구동에 대해 알아보았다.

반응형