로봇/ROS 21

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

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

Windows에서 Docker를 이용해 ROS2, Gazebo 설치하기

이 포스트는 로봇 시뮬레이션을 위해서 ROD2와 Gazebo를 Docker를 이용해서 Windows에 설치하는 방법에 대한 설명입니다. 이 과정은 다음 환경에서 구성했습니다. windows 11 Docker Desktop v4.19.0 이 포스트는 다음 과정을 완료한 후에 참고하시길 바랍니다. Windows에 Docker Desktop 설치하기 1. VcXsrv Windows X Server 설치하기 Docker에서 사용하는 Linux는 화면을 출력하기 위해서는 X11이라는 프로토콜을 이용합니다. X11을 Windows에서 사용할 수 있도록 하기 위한 VcXsrv라는 프로그램을 설치하는 과정입니다. VcXsrv Windows X Server 사이트에 접속 후 설치 프로그램을 다운로드합니다. 다운로드한 설..

로봇/ROS 2023.07.12

ROS1에 CygLiDAR 연동하기

LiDAR는 주변상황을 인식하기 위한 장비로 카메라와는 다르게 레이저를 이용해서 객체의 위치와 거리를 정확하게 측정할 수 있습니다. 라이다로 인식된 정보를 subscribe 하는 과정에 대한 설명입니다. 아래 과정은 모두 아래 명령을 통해 Docker Container에 접속한 이후 실행하는 내용입니다. $ docker exec -it ros1 /bin/bash 1. 시험환경 H/W: X86 계열 노트북 Host OS: Ubuntu-22.04-LTS Desktop Docker Container: Ubuntu에서 Docker를 이용한 ROS1, ROS2 설치 과정을 통해 실행된 docker 소스코드: ROS1에 YOLO v5 연동하기를 통해 카메라의 영상에서 Object Detection이 동작이 구현된 ..

로봇/ROS 2023.01.19

ROS1에 YOLO v5 연동하기

카메라는 로봇이 주변 상황을 인식하기 위해 사용되는 장비로 사람의 눈과 같은 역할을 합니다. 카메라로 인식된 영상을 YOLO v5를 이용해 Object Detection을 실행하고 그 결과를 publish 하고 subscribe 과정에 대한 설명입니다. 아래 과정은 모두 아래 명령을 통해 Docker Container에 접속한 이후 실행하는 내용입니다. $ docker exec -it ros1 /bin/bash 1. 시험환경 H/W: X86 계열 노트북 Host OS: Ubuntu-22.04-LTS Desktop Docker Container: Ubuntu에서 Docker를 이용한 ROS1, ROS2 설치 과정을 통해 실행된 docker 2. ROS1에 카메라 연동하기 2.1. roscore 실행 아래 ..

로봇/ROS 2023.01.18