로봇,ROS,SLAM
-
ROS2에서 노드 간에 주고받는 데이터의 구조를 정의 🚀 ROS 2 Interface 개요ROS 2 Interface(인터페이스)는 ROS 2 노드 간의 데이터 교환을 정의하는 메시지 타입(Message Type)을 의미합니다.ROS 2에서는 토픽(Topic), 서비스(Service), 액션(Action)을 통해 데이터를 주고받으며, 이러한 데이터의 형식을 정의하는 것이 Interface입니다. Interface는 .msg, .srv, .action 확장자를 가진 텍스트 파일로 정의 - 메시지 (msg): Topic을 통한 단방향 통신에 사용 - 서비스 (srv): 요청-응답 모델의 양방향 통신에 사용 - 액션 (action): 장기 실행 작업을 위한 비동기 양방향 통신에 사용 🔹 ROS 2 In..
[ROS2] ROS2 Interfac 알아보기ROS2에서 노드 간에 주고받는 데이터의 구조를 정의 🚀 ROS 2 Interface 개요ROS 2 Interface(인터페이스)는 ROS 2 노드 간의 데이터 교환을 정의하는 메시지 타입(Message Type)을 의미합니다.ROS 2에서는 토픽(Topic), 서비스(Service), 액션(Action)을 통해 데이터를 주고받으며, 이러한 데이터의 형식을 정의하는 것이 Interface입니다. Interface는 .msg, .srv, .action 확장자를 가진 텍스트 파일로 정의 - 메시지 (msg): Topic을 통한 단방향 통신에 사용 - 서비스 (srv): 요청-응답 모델의 양방향 통신에 사용 - 액션 (action): 장기 실행 작업을 위한 비동기 양방향 통신에 사용 🔹 ROS 2 In..
2025.01.31 -
패키지란? - ROS2에서 소프트웨어 구성의 기본 단위 - 특정 ROS2 프로그램에 포함된 모든 파일, 즉 모든 CPP 파일, Python 파일, 설정 파일, 파라미터 파일을 가지고 있음- ROS2 프로그램을 패키지로 구성하면 다른 개발자/사용자와 훨씬 쉽게 공유 가능함 - 패키지 유형 - Python Package - C++ Package 노드란? - 노드는 ROS2에서 연산을 수행하는 최소 단위의 실행 프로세스 - 전체 로봇 시스템은 많은 노드로 구성됨 - ROS2에서는 단일 launch 파일에 하나 이상의 노드(C++ 또는 Python 프로그램 등)가 포함될 수 있음- 각 노드는 특정 작업을 담당하며, 여러 노드가 서로 통신하며 복잡한 로봇 시스템을 구성 - 예: 휠 모터 제어용 노..
[ROS2] ROS2 Package, Node, Launch 개요패키지란? - ROS2에서 소프트웨어 구성의 기본 단위 - 특정 ROS2 프로그램에 포함된 모든 파일, 즉 모든 CPP 파일, Python 파일, 설정 파일, 파라미터 파일을 가지고 있음- ROS2 프로그램을 패키지로 구성하면 다른 개발자/사용자와 훨씬 쉽게 공유 가능함 - 패키지 유형 - Python Package - C++ Package 노드란? - 노드는 ROS2에서 연산을 수행하는 최소 단위의 실행 프로세스 - 전체 로봇 시스템은 많은 노드로 구성됨 - ROS2에서는 단일 launch 파일에 하나 이상의 노드(C++ 또는 Python 프로그램 등)가 포함될 수 있음- 각 노드는 특정 작업을 담당하며, 여러 노드가 서로 통신하며 복잡한 로봇 시스템을 구성 - 예: 휠 모터 제어용 노..
2025.01.30 -
colcon build는 ROS 2(로봇 운영 체제)에서 패키지를 빌드하는 명령어입니다.colcon은 ROS 2에서 기본적으로 사용되는 빌드 시스템이며, catkin을 대체하는 도구입니다.colcon build 개요colcon build 명령어는 현재 작업 디렉터리(보통 ros2_ws와 같은 워크스페이스) 내에 있는 ROS 2 패키지를 빌드합니다. 이 과정에서 CMake, Python setuptools, ament 등의 빌드 시스템을 자동으로 감지하여 적절한 방법으로 빌드합니다. ✅ 빌드 후 생성되는 주요 디렉터리colcon build를 실행하면 워크스페이스 루트에 다음 폴더들이 생성됩니다.디렉터리설명build/패키지별 빌드 결과 (임시 파일)install/실행 가능한 바이너리, 라이브러리, 설정 파일..
ROS2 패키지 만들고 Workspace에 colcon build 및 PAL Robotics의 TIAGo 사용하기colcon build는 ROS 2(로봇 운영 체제)에서 패키지를 빌드하는 명령어입니다.colcon은 ROS 2에서 기본적으로 사용되는 빌드 시스템이며, catkin을 대체하는 도구입니다.colcon build 개요colcon build 명령어는 현재 작업 디렉터리(보통 ros2_ws와 같은 워크스페이스) 내에 있는 ROS 2 패키지를 빌드합니다. 이 과정에서 CMake, Python setuptools, ament 등의 빌드 시스템을 자동으로 감지하여 적절한 방법으로 빌드합니다. ✅ 빌드 후 생성되는 주요 디렉터리colcon build를 실행하면 워크스페이스 루트에 다음 폴더들이 생성됩니다.디렉터리설명build/패키지별 빌드 결과 (임시 파일)install/실행 가능한 바이너리, 라이브러리, 설정 파일..
2025.01.30 -
ROS2(로봇 운영 체제 2, Robot Operating System 2)는 로봇 개발을 위한 오픈소스 프레임워크로, ROS의 차세대 버전입니다. ROS는 로봇 소프트웨어를 개발하기 위한 도구와 라이브러리의 집합입니다. ROS2는 Data Distribution Service (DDS) 기반의 통신 방식을 사용하기 때문에, 미들웨어적인 역할도 수행합니다.🔹 ROS2의 미들웨어적인 역할ROS2는 노드(Node) 간의 통신을 위해 **미들웨어 계층(RMW, ROS Middleware)**을 사용합니다. 이 계층은 여러 미들웨어 구현체(DDS)를 지원할 수 있도록 설계되었습니다.ROS Middleware (RMW) 계층ROS2는 RMW 계층을 통해 DDS(Data Distribution Service)와 ..
ROS가 뭘까?ROS2(로봇 운영 체제 2, Robot Operating System 2)는 로봇 개발을 위한 오픈소스 프레임워크로, ROS의 차세대 버전입니다. ROS는 로봇 소프트웨어를 개발하기 위한 도구와 라이브러리의 집합입니다. ROS2는 Data Distribution Service (DDS) 기반의 통신 방식을 사용하기 때문에, 미들웨어적인 역할도 수행합니다.🔹 ROS2의 미들웨어적인 역할ROS2는 노드(Node) 간의 통신을 위해 **미들웨어 계층(RMW, ROS Middleware)**을 사용합니다. 이 계층은 여러 미들웨어 구현체(DDS)를 지원할 수 있도록 설계되었습니다.ROS Middleware (RMW) 계층ROS2는 RMW 계층을 통해 DDS(Data Distribution Service)와 ..
2025.01.14 -
ROS에서 실시간으로 데이터를 주고 받는 방법- service- topic - action Action은 ROS2의 커뮤니케이션 유형 중 하나이며, 장기 실행 작업을 위한 것입니다.action은 goal, feedback, 그리고 result 세부분으로 구성됩니다. Action은 topic과 service를 기반으로 구축됩니다. action의 기능은 service와 유사하지만, action은 선점이 가능합니다 (즉, 실행 중 취소할 수 있음). 또한 단일 응답을 반환하는 service와 달리 꾸준한 feedback을 제공합니다. Action은 publisher-subcriber 모델과 비슷한 방식으로 client-server 모델을 사용합니다. "Action client" 노드는 목표를 "Action..
[ROS2] ROS2 action 알아보기ROS에서 실시간으로 데이터를 주고 받는 방법- service- topic - action Action은 ROS2의 커뮤니케이션 유형 중 하나이며, 장기 실행 작업을 위한 것입니다.action은 goal, feedback, 그리고 result 세부분으로 구성됩니다. Action은 topic과 service를 기반으로 구축됩니다. action의 기능은 service와 유사하지만, action은 선점이 가능합니다 (즉, 실행 중 취소할 수 있음). 또한 단일 응답을 반환하는 service와 달리 꾸준한 feedback을 제공합니다. Action은 publisher-subcriber 모델과 비슷한 방식으로 client-server 모델을 사용합니다. "Action client" 노드는 목표를 "Action..
2025.01.14 -
https://github.com/nasa-jpl/rosa GitHub - nasa-jpl/rosa: ROSA 🤖 is an AI Agent designed to interact with ROS1- and ROS2-based robotics systems using natural lROSA 🤖 is an AI Agent designed to interact with ROS1- and ROS2-based robotics systems using natural language queries. ROSA helps robot developers inspect, diagnose, understand, and operate robots. ...github.com 무려 나사에서 ROSA라는 프로젝트를 공개했는데 ..
[ROSA] ROSA로 turtlesim 작동시키기https://github.com/nasa-jpl/rosa GitHub - nasa-jpl/rosa: ROSA 🤖 is an AI Agent designed to interact with ROS1- and ROS2-based robotics systems using natural lROSA 🤖 is an AI Agent designed to interact with ROS1- and ROS2-based robotics systems using natural language queries. ROSA helps robot developers inspect, diagnose, understand, and operate robots. ...github.com 무려 나사에서 ROSA라는 프로젝트를 공개했는데 ..
2025.01.08