전체 글 53

ROS2 Transformation System (TF2)

이 포스트는 로봇의 위치와 방향을 표현하고 계산하는 데 사용되는 ROS2의 transformation에 대한 내용입니다. 이 포스트는 다음 영상의 내용을 기반으로 개발하고자 하는 로봇에 적합하게 수정했습니다. The ROS Transform System (TF) 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. Windows에 Docker Desktop 설치하기 Windows에서 Docker를 이용해 ROS2, Gazebo 설치하기 1. ChatGPT가 응답한 TF2 아래 내용은 ChatGPT에게 물어본 질문에 대한 답변입니다. Question: ROS2의 tf2에 대해서 설명해줘 Answer: ROS2의 tf2는 Transformation Library for ROS 2의 약어로, 로봇의 위치..

로봇/ROS 2023.07.19

라즈베리파이 AP(Access Point)로 사용하기

이 포스트는 라즈베리파이 4를 Wi Fi 환경에서 사용하기 위해서는 매번 WiFi SSID 및 Password를 설정해야 하고 이렇게 하기 위해서는 여러 가지 활용에 제약이 있기 때문에 라즈베리파이를 AP(Access Point)로 사용해서 별도의 설정 없이 노트북이나 핸드폰으로 쉽게 라즈베리파이에 접속할 수 있도록 하는 과정입니다. 이 과정은 다음 환경에서 구성했습니다. Windows 11 Raspberry Pi 4 Model B (8GB) 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. 라즈베리파이4 ssh를 이용해 세팅하기 1. 라즈베리파이 AP 모드 설정 라즈베리파이가 AP 모드로 동작하도록 설정하는 과정입니다. ssh 등 네트워크로 원격에서 진행할 경우 중간에 네트워크 변경으로 접속이..

URDF를 이용한 간단한 로봇 만들기 (3)

이번 포스팅은 이전 포스팅에서 구축한 환경을 기반으로 Gazebo를 이용해서 자동차 운전을 simulation 해보는 과정입니다. 이 포스트는 다음 영상의 내용을 기반으로 개발하고자 하는 로봇에 적합하게 수정했습니다. Creating a rough 3D model of our robot with URDF 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. URDF를 이용한 간단한 로봇 만들기 (1) URDF를 이용한 간단한 로봇 만들기 (2) 1. URDF를 Gazebo에서 로딩하기 이전 포스팅에서 URDF를 이용해서 만들었던 자동차를 Gazebo에서 로딩하는 과정입니다. 우선 아래 명령을 실행해서 'src/urdf_tutorial/urdf/robot_2.xacro' 파일을 'src/urdf_t..

로봇/ROS 2023.07.18

URDF를 이용한 간단한 로봇 만들기 (2)

이번 포스팅은 이전 포스팅에서 구축한 환경을 기반으로 간단한 자동차를 만들어보는 과정입니다. 이 포스트는 다음 영상의 내용을 기반으로 개발하고자 하는 로봇에 적합하게 수정했습니다. Creating a rough 3D model of our robot with URDF 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. URDF를 이용한 간단한 로봇 만들기 (1) 1. ROS 로봇 좌표계 로봇 또는 구성품의 위치와 각도를 3차원 공간에 표현하기 위한 좌표계에 대한 간단한 설명입니다. 위치에 대한 표현은 x, y, z 3개의 좌표로 표현하며 아래와 같습니다. 아래 그림과 같이 오른손을 기준으로 검지(x), 중지(y), 엄지(z)의 좌표계로 기억하면 좀 더 쉽습니다. 회전에 대한 표현은 x, y, z ..

로봇/ROS 2023.07.16

URDF를 이용한 간단한 로봇 만들기 (1)

URDF(Unified Robot Description Format)는 실제 물리적인 로봇이 아닌 가상환경에서 로봇의 규격을 정의할 수 있는 규칙이라 할 수 있습니다. URDF는 XML 형식으로 구성되며 ROS 및 Gazebo와 연동하여 가상환경에서 다양한 동작을 실험할 수 있습니다. 이번 포스팅에서는 간단한 URDF를 제작하고 ROS와 연동해서 Rviz에서 확인해 보는 과정입니다. 이 포스트는 다음 영상의 내용을 기반으로 개발하고자 하는 로봇에 적합하게 수정했습니다. Creating a rough 3D model of our robot with URDF 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. ROS2 Minimal Tutorial - Basic ROS2 Minimal Tutorial..

로봇/ROS 2023.07.15

라즈베리파이4 ssh를 이용해 세팅하기

이 포스트는 라즈베리파이4를 초기에 모니터나 키보드 없이 ssh를 이용해 초기 세팅하는 방법에 대한 설명입니다. 이 과정은 다음 환경에서 구성했습니다. Windows 11 Raspberry Pi 4 Model B (8GB) 1. 라즈베리파이 구성 및 준비물 온라인에서 구매한 라즈베리파이 4입니다. 아주 작은 보드에 오밀조밀 부품들이 구성되어 있는 것이 인상적입니다. 방열판도 함께 왔네요. 라즈베리파이를 구동하면 열이 제법 아는 편이기 때문에 우선 방열판을 부착했습니다. 라즈베리파이를 구동하기 위해서는 Micro SSD에 운영체제를 설치해서 라즈베리파이에 장착해야 합니다. PC에 연결할 Micro SSD 리더도 함께 준비해 주세요. 2. SSD에 라즈베리파이 운영체제 설치하기 Windows에서 라즈베리파이..

ROS2 Minimal Tutorial - Action

이 포스트는 이전 포스트에 이어서 ROS2의 Action에 대한 간단한 설명입니다. 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. ROS2 Minimal Tutorial - Basic ROS2 Minimal Tutorial - Topic ROS2 Minimal Tutorial - Service 1. Action Action는 실행 시간이 오래 걸리는 명령을 요청하고 결과를 수신하기 위한 목적으로 만들어진 통신방법입니다. Action은 Service와 비슷하지만 중간에 취소가 가능합니다. Action Server는 명령을 수행하는 중간 과정에 해당하는 feedback과 처리 결과인 result를 보낼수 있습니다. 1:1 통신 방식으로 요청을 보내고 중간 결과 및 처리 결과를 확인하는 통신..

로봇/ROS 2023.07.14

ROS2 Minimal Tutorial - Service

이 포스트는 이전 포스트에 이어서 ROS2의 Service에 대한 간단한 설명입니다. 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. ROS2 Minimal Tutorial - Basic ROS2 Minimal Tutorial - Topic 1. Service Service는 Node들 간에 통신을 위한 다른 요소입니다. Service는 call-and-response 방식으로 동작합니다. (vs Topic: publisher-subscriber) Service-Server는 특정 Service-Client가 요청을 한 경우에만 데이터를 제공합니다. 1:1 통신 방식으로 요청을 보내고 처리 결과를 확인하는 통신 방식입니다. 첫 번째 터미널에서 아래 명령을 실행해서 'turtlesim.lau..

로봇/ROS 2023.07.14

ROS2 Minimal Tutorial - Topic

이 포스트는 이전 포스트에 이어서 ROS2의 Topic에 대한 간단한 설명입니다. 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. ROS2 Minimal Tutorial - Basic 1. Topic Topic은 Node들 간에 정보를 주고받기 위한 필수 요소입니다. Topic은 N:N 통신방식으로 하나의 Node는 여러 개의 Topic을 발송할 수 있고, 여러 개의 Topic을 수신할 수 있습니다. Topic은 일방향 통신으로 Node가 Topic을 정상 수신했는지 여부 또는 정상 처리 했는지 여부 등을 관심을 두지 않습니다. 첫 번째 터미널에서 아래 명령을 실행해서 'turtlesim.launch.py'를 실행합니다. $ cd ~/Workspace/ros_ws $ source install..

로봇/ROS 2023.07.14

ROS2 Minimal Tutorial - Basic

이 포스트는 ROS2에 대한 기본적인 내용에 대한 간단한 설명입니다. 이 과정은 다음 환경에서 구성했습니다. ubuntu-22.04 ros2-humble Windows에 간단하게 시험을 하기 위해서는 과정을 완료한 후에 참고하시길 바랍니다. Windows에서 Docker를 이용해 ROS2, Gazebo 설치하기 1. ROS vs ROS2 ROS (Robot Operating System)은 운영체제가 아닙니다. 로봇 애플리케이션 구축에 필요한 SW 라이브러리와 툴의 모음입니다. ROS와 ROS2의 주요한 차이는 다음과 같습니다. ◦ ROS는 TCP/UDP 기반으로 Node들 간의 통신을 합니다. ROS2는 DDS를 기반으로 통신을 합니다. ◦ ROS는 roscore를 실행해야 합니다. ROS2는 별도의..

로봇/ROS 2023.07.13