목록ROS1 & ROS2 (15)
Priceless

ROS의 패키지 만들기 Package란 - Package: ROS에서 개발하는 코드들을 묶어서 만든 파일 워크스페이스 내의 src 파일 내에 만든다 구조 워크스페이스의 전체적인 구조는 아래와 같다 package 내의 파일을 관리하는 과정이다 package는 src 폴더 내에 여러 개 있을 수 있다 과정 1. 워크스페이스(폴더)를 생성하고 내에 src 폴더를 생성한다 워크스페이스 내에서 catkin으로 빌드한다 그 결과 워크스페이스 내에 devel, build 폴더가 생성된다 # 워크스페이스 생성 mkdir -p ~//src cd ~// catkin_make 2. 워크스페이스 내의 src 파일로 이동한다 이후 아래 명령어를 통해 Package가 의존하고 있는 다른 package를 추가한다 cd #cd my..

실습 환경 OS: Ubuntu 20.04 ROS: ROS1 Noetic 실습 과정 1. 첫 번째 터미널에서 roscore로 마스터 노드 준비 roscore 2. 두 번째 터미널에서 어떤 노드가 동작 중인지 확인 rosnode list Subscriber(구독자) 3. 세 번째 터미널에서 tertlesim 라이브러리에 있는 turtlesim node 작동 (Subscriber) rosrun turtlesim turtlesim_node 4. 두 번째 터미널에서 작동 중인 node를 확인하여 turtlesim_node가 동작 중인지 확인 rosnode list Publisher(발행자) 5. 네 번째 터미널에서 turtlesim_node 를 제어하기 위한 teleop key node 작동 (Publisher)..

ROS 배경 지식 ROS 구성도 ROS는 OS 위에서 동작하는 프레임워크로 Linux/Windows 등 OS 위의 구조를 나타낸다 ROS가 제공하는 도구 RVIZ - 시각화 도구 - 센서를 통해 얻은 주변 환경의 데이터, 로봇의 움직임 데이터 등을 시각화 RQT - Qt 기반의 GUI 응용 개발 도구 - 노드 연결 정보를 그래프로 표현 - UI를 갖춘 개발 과정에 사용자 상호작용을 직접 확인 가능하다 - rqt_graph 명령어를 통해 노드와 토픽의 관계 정보를 그래프로 출력 GAZEBO - 물리 엔진 기반의 3차원 시뮬레이터 - 가상 공간에서 물리적 상호작용을 확인하여 시뮬레이터 제작 및 모델링에 이용 ROS에서의 통신 - Topic의 publish(발행) 와 subscribe(구독) 기반의 메시지 교..
helloworld_publisher.cpp#include #include #include #include #include "rclcpp/rclcpp.hpp"#include "std_msgs/msg/string.hpp"using namespace std::chrono_literals;class HelloworldPublisher : public rclcpp::Node{ public: HelloworldPublisher() : Node("helloworld_publisher"), count_(0) { auto qos_profile = rclcpp::QoS(rclcpp::KeepLast(10)); helloworld_publisher_ = this->create_publishe..

설치 환경PC: 맥북 프로(intel)VM: Virtual BoxOS: Ubuntu 20.04 설치 과정은 윈도우 환경과 크게 다르지 않다 Ubuntu 설치아래 사이트에서 우분투 이미지 파일 다운로드Ubuntu 20.04.5 LTS (Focal Fossa) Ubuntu 20.04.5 LTS (Focal Fossa)Select an image Ubuntu is distributed on three types of images described below. Desktop image The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently l..