본문 바로가기
반응형

로보틱스/ROS15

ROS2 노드간 통신 인터페이스 ROS2 노드 간의 통신을 위한 인터페이스 ROS2 통신 인터페이스 ROS 애플리케이션은 메시지, 서비스 및 액션의 세가지 형태의 노드간의 통신을 지원한다. 노드 간의 통신을 위해 사용되는 인터페이스에 대해서 정리한다. 인터페이스는 IDL (interface definition language) 형식으로 작성할 수 있다. 기존 ROS Classic 처럼 msg, srv 등의 포멧을 지원한다. ROS2 메시지 인터페이스 ROS2 메시지 명세하는 방법 ROS 메시지의 필드를 설명하는 간단한 텍스트 파일의 형태로 작성한다. fieldtype1 fieldname1 fieldtype2 fieldname2 fieldtype3 fieldname3 예를 들어 GPS 측위 data 는 다음과 같이 작성할 수 있다. fl.. 2021. 10. 25.
ROS2 Node 와 Topic 기본 개념 ROS2 Node 와 Topic 기본 개념 정리 ROS 노드(Node) 는 무엇인가? Node 는 필요한 연산을 실행하는 최소 프로세스이다. Node 는 Graph 로 결합되고, Streaming Topic, RPC 서비스 및 매개 변수 서버를 사용하여 서로 통신한다. 로봇 제어 시스템은 일반적으로 많은 Node 로 구성된다. (예를 들어) 하나의 Node1 은 레이저 거리 측정기를 제어하고, Node2 는 로봇의 휠 모터를 제어하고, 또 다른 하나의 Node3 은 로컬라이제이션을 수행하고, Node4 는 경로 계획을 수행하고, Node5 는 시스템의 시각화 를 담당할 수 있습니다. Node 들을 묶어서 Pacakge 를 만들 수 있다. 아래는 turtlesim package 를 검색하고 하위 Node .. 2021. 10. 12.
ROS Classic 에서 ROS2 로 넘어가야 하는 이유 II ROS2 Migration ROS2 로 넘어가야 하는 이유 (두번째) 지난 포스팅에서 ROS1 이 산업에 적용되는 과정에서 제기된 문제점 들에 대해서 정리를 해보았다. [ROS2] ROS2 로 넘어가야 하는 이유 I History ROS1 2007년 5월 개발 시작 (STAIR, STanford AI Robot) 2020년 5월 13번째 Noetic Ninjemys 마지막 배포판으로 릴리즈 중단 ROS2 2014년 3월 부터 개발 시작되었고, 2015년 첫번째 알파 버전을 릴리즈 2.. makepluscode.tistory.com 2007년 5월, 스탠포드 대학교 연구실에서 시작된 ROS 는 로봇 소프트웨어의 플랫폼화, 기능구현에 큰 성과를 얻지만, 고성능 워크스테이션에서 연구용으로 만들어진 프레임워크의.. 2021. 9. 14.
ROS Classic 에서 ROS2 로 넘어가야 하는 이유 I ROS2 Migration ROS2 로 넘어가야 하는 이유 (첫번째) ROS1 2007년 5월 개발 시작 (STAIR, STanford AI Robot) 2020년 5월 13번째 Noetic Ninjemys 마지막 배포판으로 릴리즈 중단 ROS2 2014년 3월 부터 개발 시작되었고, 2015년 첫번째 알파 버전을 릴리즈 2021년 Galatic Geochelone 까지 총, 7개의 공식 배포판 2007년 5월 스탠포드 대학교 연구실에서 시작된 ROS 는 로봇 소프트웨어의 플랫폼화, 기능구현에 큰 성과를 얻었다. 하지만, 고성능 워크스테이션에서 연구용으로 만들어진 프레임워크는 실제 산업 현장에 적용하는 과정에서 아래와 같은 문제점이 제기되었다. 성능의 문제 - 임베디드 시스템 포팅의 어려움, 소프트웨어 .. 2021. 9. 14.
Ubuntu 20.04 에서 ROS2 Foxy Fitzroy설치하기 Background 오픈소스 기반의 ROS (Robot Operating System)는 로봇 애플리케이션을 만들기 위한 라이브러리 및 도구 모음 입니다. 디바이스 드라이버에서 알고리즘에 이르기까지 강력한 개발자 도구를 갖춘 ROS는 로봇 프로젝트에 필요한 많은 것을 갖추고 있습니다. 2007 년에 시작된 이후로 로봇 공학 및 커뮤니티에서 많은 변화와 개선이 있었고, ROS1 이 탄생했지만 여러가지 기술적인 제약으로 상용화 까지는 어렵게 되었습니다. ROS2 프로젝트의 목표는 ROS 1의 장점을 활용하고, 기존 버전의 문제점을 최대한 개선하는 것을 목표로 합니다. ROS2 releases 최근 배포판을 살펴보면, 2019.05 Dashing Diademata (~2021.05) - 2 years supp.. 2021. 9. 11.
로스백, Rosbag 을 이용한 메시지 로깅 및 재생 Backgroud 오픈소스 기반의 ROS (Robot Operating System)는 로봇 애플리케이션을 만들기 위한 라이브러리 및 도구 모음 입니다. 디바이스 드라이버에서 알고리즘에 이르기까지 강력한 개발자 도구를 갖춘 ROS는 로봇 프로젝트에 필요한 많은 것을 갖추고 있습니다. ROS 의 두 번째 버전 ROS2 에서는 기존 버전에서 문제를 많이 개선해서 실시간 (Realtime) 성이 보장된 로봇 애플리케이션 프레임워크를 제공합니다. Goal 지난 포스팅에서 (ROS 에서 가장 기본이 되는) turtlesim 예제를 빌드하고 실행했습니다. [ROS2 ] Turtlesim 실행하기 Backgroud 오픈소스 기반의 ROS (Robot Operating System)는 로봇 애플리케이션을 만들기 위한 .. 2021. 1. 3.
반응형