목록dev/Ros (7)
To Be Develop
ArUco Markers의 감지에 대한 이해 ArUco Markers는 컴퓨터 비전과 로봇 비전에서 많이 사용되는 인식 가능한 패턴입니다. 이러한 마커들은 고유한 시각적 패턴을 가지고 있어 로봇이나 카메라 등에서 사용되는데, 주로 위치 추적이나 객체 식별에 활용됩니다. 이 블로그 글에서는 ArUco Markers의 감지에 대해 자세히 설명하겠습니다. 1. ArUco Markers가 무엇인가요? ArUco Markers는 ArUco 라이브러리에 의해 생성되는 시각적 패턴입니다. 이러한 마커는 블랙 앤드 화이트 패턴으로 구성되어 있으며, 일련의 고유한 패턴이 있습니다. 이러한 패턴은 카메라 이미지에서 쉽게 감지할 수 있으며, 각 마커는 고유한 식별자를 가지고 있습니다. 2. ArUco Markers의 활용 ..
ROS (로봇 운영체제)를 완전히 지우기 위해서는 다음과 같은 단계를 따를 수 있습니다. 아래의 지침은 일반적인 ROS 설치와 관련된 파일 및 디렉터리를 제거하는 방법을 안내합니다. 이 과정을 수행하기 전에 데이터를 백업하고, 신중하게 진행해야 합니다. ROS 패키지 및 관련 도구를 제거합니다. 터미널을 열고 다음 명령을 실행합니다. sudo apt-get remove ros-* sudo apt-get purge ros-* 설치된 ROS 패키지와 관련 파일들을 삭제합니다. sudo apt-get autoremove ROS 설치 디렉터리를 삭제합니다. 기본적으로 /opt/ros/에 설치됩니다. 아래의 명령으로 제거할 수 있습니다. sudo rm -rf /opt/ros/ ROS의 설정 파일과 캐시 파일을 삭..
에러 메세지: RLException: [rrbot_rviz.launch] is neither a launch file in package [rrbot_description] nor is [rrbot_description] a launch file name The traceback for the exception was written to the log file 에러 발생 상황: $ roslaunch rrbot_description rrbot_rviz.launch 위 명령어를 입력하였더니 에러가 발생하였다. https://classic.gazebosim.org/tutorials?tut=ros_urdf&cat=connect_ros Gazebo : Tutorial : URDF in Gazebo Tutorial..
에러 메세지: E: Unable to locate package ros-noetic-gazebo9 or E: Unable to locate package ros-noetic-gazebo11 상황: ROS 에서 가제보를 사용하기 위해서 연동을 시켜주려고 가이드를 따라 설치를 하려고 하는데 에러가 발생했다. sudo apt install ros-noetic-gazebo9 sudo apt install ros-noetic-gazebo11 내 ROS 버전은 noetic 이라서 버전 충돌은 아닌데 도대체 왜 패키지에 없다는 거지 ...?? 해결: 완전한 해결방법은 아니지만 이런 저런 시도를 다 해봤다. 일반적으로 ROS 연동을 위한 것이 아니라면 그냥 가제보를 설치하고자 하는 명령어를 사용하면 된다. https:..
발행-구독(Publish-Subscribe)은 소프트웨어 아키텍처에서 많이 사용되는 디자인 패턴 중 하나로, 여러 컴포넌트 간의 느슨한 결합을 가능하게 합니다. ROS에서도 발행-구독 패턴이 중요한 역할을 합니다. 발행-구독 패턴은 데이터의 생산자(발행자, Publisher)와 데이터의 소비자(구독자, Subscriber)를 분리하여 상호작용할 수 있도록 합니다. 발행자는 데이터를 발행하고, 여러 구독자가 해당 데이터를 동시에 수신할 수 있습니다. 이러한 방식으로 데이터의 생산과 소비가 분리되어 각 컴포넌트를 독립적으로 유지할 수 있습니다. ROS에서 발행-구독은 토픽(Topic)을 통해 이루어집니다. 토픽은 메시지(Message)의 흐름을 정의하고, 여러 발행자와 구독자 간의 통신을 가능하게 합니다. ..
ROS의 기본 구성 요소에는 노드(Node), 토픽(Topic), 메시지(Message), 서비스(Service), 액션(Action) 등이 있습니다. 이러한 구성 요소들은 ROS 시스템을 이루는 핵심적인 요소들이며, 각각의 역할과 기능을 이해하는 것이 ROS를 효과적으로 사용하는 데 중요합니다. 이제 각 구성 요소에 대해 자세히 살펴보겠습니다. 1. 노드 (Node) ROS에서 노드(Node)는 실행 가능한 프로세스로, 로봇 시스템에서 수행되는 개별적인 작업을 담당합니다. 노드는 다양한 기능을 수행할 수 있으며, 각 노드는 독립적으로 실행됩니다. 예를 들어, 로봇 팔을 제어하는 노드, 센서 데이터를 수신하는 노드, 로봇의 상태를 모니터링하는 노드 등이 있을 수 있습니다. 예시: 로봇 팔 제어를 위한 노..
로봇 운영 체제(ROS; Robot Operating System)는 로봇 소프트웨어 개발을 위한 오픈 소스 프레임워크로서, 로봇 응용 프로그램 개발을 용이하게 만들어주는 강력한 도구입니다. ROS는 초기에 스탠퍼드 대학에서 개발되었으며, 현재는 로봇 공학 커뮤니티에서 널리 사용되고 있습니다. ROS의 등장은 로봇 공학 분야에서 소프트웨어 개발을 단순화하고 표준화하기 위한 필요성으로부터 출발했습니다. ROS의 등장 배경: 로봇 공학 분야에서는 다양한 로봇 시스템이 다른 하드웨어와 소프트웨어로 개발되었습니다. 이로 인해 로봇 개발에는 다양한 언어와 플랫폼을 사용하는 것이 일반적이었습니다. 그 결과로 서로 다른 시스템 간의 통합과 공유가 어려워졌습니다. ROS는 이러한 문제점을 해결하기 위해 개발되었습니다...