1장
1.메타운영체제, 소프트웨어 플랫폼, 프레임워크, 미들웨어에 대하여 설명하라.
메타 운영체제 : 메타운영체제는 애플리케이션과 분산 컴퓨팅자원간의 가상화 레이어로 분선 컴퓨팅 자원을 활용하여 스케줄링, 로드, 감시, 에러 처리 등을 실행하는 시스템
소프트웨어 플랫폼 : 소프트웨어 플랫폼은 다양한 애플리케이션이 작동하는 기반이 되는 운영체제
프레임 워크 : 개발을 위한 구조나 템플릿을 제공하야 개발자의 어플리케이션 개발을 도와주는 소프트웨어의 집합
미들웨어 : 서로 다른 소프트웨어 시스템이 통신하고 상호작용할 수 있도록 돕는 소프트웨어 계층
2. ROS를 응용한 제품 또는 연구개발 프로젝트 사례를 3가지 이상 조 사하라. 산업계에서 실제로 얼마나 많이 사용하는지 확인해볼 것
산업 로봇 시스템 : 많은 로봇 제조업체들이 ROS를 지원하여 로봇 프로그래밍 및 제어를 간편하게 할 수 있도록 합니다. 예를 들어, Universal Robots사의 로봇 제어 소프트웨어에는 ROS 패키지가 포함되어 있습니다.
의료 로봇 및 보조 기기: 환자 진료, 수술 보조, 재활 치료 등에 사용될 수 있습니다. 예를 들어, Intuitive Surgical사의 다물 로봇 수술 시스템은 ROS를 사용하여 로봇의 제어와 통신을 구현합니다.
드론 및 자율 비행체 : 드론 제조업체들은 ROS를 사용하여 드론의 제어 알고리즘을 개발하고 테스트하며, 실내 및 실외 환경에서의 자율 비행을 구현합니다.
2장
1.ROS2를 설치하고 19, 21, 23페이지의 명령어 실행결과를 첨부하시 오. Ubuntu 20.04 리눅스에 대하여 조사하시오. 출시연도, 기능 등
2. ROS2 배포판을 모두 조사하시오. 이름, 출시연도 등
2020년 4월 23일
주요 변경사항
설치 전 디스크 검사 기능 추가
ZFS 0.8.3 파일 시스템 지원 (실험 기능으로 중요 시스템에서는 사용 주의 요망)
GNOME 3.36 환경 적용
다크 모드 지원
기본 Yaru 테마의 슬라이드 스위치, 아이콘 등 강조 색상이 보라색 계통으로 변경
새로 바뀐 잠금 화면 : 입력한 비밀번호를 잠깐 살펴볼 수 있는 버튼 추가, 잠금 화면에 표시할 알림 선택 가능
알림 영역에 방해 금지 모드(Do Not Disturb) 스위치 추가
125%, 150%, 175% 확대 등 Fractional Scaling (분수 스케일링) 기능 추가
우상단 시스템 메뉴에 절전 모드(Suspend) 바로가기 버튼 추가
Ubuntu 소프트웨어 센터가 'Snap Store'(스냅 스토어)로 변경
스냅드래곤 835 등 ARM 프로세서, 인텔 아이스레이크 썬더볼트, AMD Dali/Renoir APU 지원
새 VPN 프로토콜 Wireguard 지원
20.04버전에서는 한글 입력기가 iBUS로 기본 설치되고, 우측 상단에 En/Ko가 표시되어 쉽게 한글/영문 전환이 가능하다. 대부분의 프로그램에서 한글 입력에 문제가 없으나 트위터 등의 앱에서 한글자씩 씹히는 문제와 Snap으로 설치한 앱에서 영문으로 고정되는 문제가 있다. UIM 벼루 설치시 이 문제는 해결된다.
3장
ROS1과 ROS2의 통신방식의 관점에서 차이를 설명하라.
ROS 1에서는 자체 개발한 TCPROS와 같은 통신 라이브러리를 사용하고 있던 반면, ROS 2은 RTPS(Real Time Publish Subscribe) 프로토콜을 지원 하는 통신 미들웨어 DDS를 사용.
ROS1의 통신 미들웨어인 TCPROS와 ROS2의 통신 미들웨어인 DDS의 차이를 설명하라.
TCPROS는 TCP/IP 기반의 통신 프로토콜을 사용하며 중앙 집중식 네트워킹 모델을 채택합니다. DDS는 분산 네트워킹 모델을 사용하며 데이터의 발행과 구독을 통해 노드 간 통신을 직접 처리합니다. TCPROS는 신뢰성이 높지만 대역폭을 많이 사용할 수 있고, DDS는 대규모 및 실시간 시스템에 적합하며 더 높은 신뢰성과 확장성을 제공합니다.
실시간 시스템(real time system)의 정의를 조사하라
실시간 응용 프로그램 기능을 수행하고 예측 가능하며 특정한 시간 제약 내에서 이벤트에 대응할 수 있는 하드웨어 및 소프트웨어 구성 요소를 갖춘 정보 처리 시스템
GPL라이선스와 Apache 2.0 라이선스의 차이를 설명하라
GPL은 소스 코드 공개와 동일한 라이선스 유지를 요구하며, 패턴트 보호를 제공하지 않습니다. Apache 2.0은 소스 코드 공개를 요구하지 않고, 다른 라이선스와 호환되며, 패턴트 보호를 제공합니다.
4장
미들웨어(middleware)란 무엇인가?
미들웨어는 하드웨어와 소프트웨어 간의 통신과 상호작용을 중대하는 소프트웨어 계층이다
분산시스템(distributed system)에 대하여 조사하시오.
공유하는 공동의 목표를 달성하기 위해 여러 개의 개별 컴퓨팅 노드에서 컴퓨팅 리소스를 활용하는 컴퓨터 프로그램의 모음이다
RTPS(real-time publish subscribe) 프로토콜에 대하여 조사하시오.
OMG에 의해 표준화된 데이터 중심 배포 서비스를 위한 데이터 전송 프로토콜로써 데이터 발간/구독 통신 모델을 지원하며 UDP/IP와 같이 신뢰성 없는 전송 계층 위에서도 동작 가능하도록 설계되었다.
DDS의 동적검색(Dynamic Discovery) 기능을 조사하시오.
DDS 기능은 네트워크 상에서 DDS 엔티티들을 자동으로 발견하고 식별하는 기능이다
ROS1과 ROS2의 통신 방식의 차이를 설명하시오.
ROS 1
XMLRPC/RPC 기반의 중앙 집중식 통신 모델 사용.
마스터 노드를 통해 노드, 토픽, 서비스 등을 발견하고 관리.
TCPROS(TCP/IP 기반) 또는 UDPROS(UDP 기반)를 통한 메시지 통신.
ROS 2
DDS(Data Distribution Service) 기반의 분산 네트워킹 모델 사용.
중앙 집중식 마스터 노드 없이 노드 간 직접 통신.
Pub-Sub(발행-구독) 메커니즘을 사용하여 데이터를 전송.
QoS(Quality of Service) 설정을 통해 메시지 전송의 세밀한 제어 가능.
MQTT와 DDS의 차이를 설명하라
MQTT는 경량 발행-구독 메시징 프로토콜로, 인터넷 연결된 디바이스 간의 효율적인 통신을 제공하며, DDS는 데이터 중심 배포 서비스로써 풍부한 QoS(Quality of Service) 설정을 지원하여 실시간 및 중요한 데이터 통신에 적합합니다.
5장
모든 명령어를 실습하고 결과를 캡쳐하여 제출하라.
turtle_teleop_key 노드를 실행했을때 각 키와 방향키의 용도를 자세 히 설명하라.
↑ (위쪽 화살표): 로봇을 전진시킵니다.
↓ (아래쪽 화살표): 로봇을 후진시킵니다.
← (왼쪽 화살표): 로봇을 왼쪽으로 회전시킵니다.
→ (오른쪽 화살표): 로봇을 오른쪽으로 회전시킵니다.
turtle_teleop_key 노드를 실행하고 다음처럼 거북이를 원을 그리도 록 제어하고 실행 결과를 제출하라
명령어 : ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 20.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 7.2 }}"
첫댓글 gui명령어는 PC에서 실습할것(wsl2->ubuntu20.04 위에서) PC에서 실행시 오류발생하면 export DISPLAY=:0 명령어 실행하고 실습할것
오류 모두 수정해서 다 시풀것
수정했습니다