2024/01 4

RRT* 알고리즘을 이용한 경로 계산

1. 개요 맵-이미지 파일을 갈수 영역(free)을 255(백색), 갈 수 없는 영역(obstacle)을 0(검은색)으로 표현하고, 초기 위치와 목표위치를 설정하고, RRT* 알고리즘을 이용하여 장애물의 피하면서 갈 수 있는 최단 코스를 계산한다. 2. 파이썬 코드 # RRT STAR 알고리즘 import cv2 import numpy as np import random import heapq import os # image value 255: free area # image value 0: obstacle area class Node: """ RRT* 노드를 정의하는 클래스 """ def __init__(self, point): self.point = point self.parent = None sel..

카테고리 없음 2024.01.24

LIO-SAM을 이용한 3D Map 만들기(Foxy)

1. 개요 Lio-SAM프로그램은 Humble에서는 설치가 어렵다. Foxy에서 설치하면 설치가 용이하다. Lio-SAM프로그램은 GTSAM 라이브러리를 사용하는데 Foxy 바이너리 설치를 지원한다. 다른 버전은 소스에서 설치할 수 있는데 버전 문제 등 설치가 매우 어렵다. 결국 Foxy에서 Lio-SAM프로그램을 사용하였다. Lio-SAM프로그램을 이용하여 3D map인 PCD 파일을 만들어 본다. [참고] LIO-SAM(동영상) https://www.youtube.com/watch?v=NNR9RUNz5Pg 원본(github): https://github.com/TixiaoShan/LIO-SAM 2. 환경 구축하기 기본적으로 ROS2(Foxy)환경이 설치되었다고 가정한다. 아래 주소에서 다운로드를 받아..

카테고리 없음 2024.01.24

ROS2 Action 사용해보기

1. 개요 ros2 action server를 파이썬으로 작성한다. 목표값 n을 10으로 설정하면 1부터 10까지 누적합(55)을 계산한다. 중간중간 부분합을 feedback으로 보내준다. 2. workspace와 패키지 생성하기 > mkdir -p myross/src > cd myros_ws/src myaction과 myinterfaces 패키지를 만들어 본다. > ros2 pkg create myaction --build-type ament_python > ros2 pkg create myinterfaces --build-type ament_cmake > cd ~/myros_ws > colcon build 3. Action의 interface 정의하기 > cd ~/myros_ws/src/myinter..

카테고리 없음 2024.01.08

A* 알고리즘을 이용한 경로 계산

1. 개요 맵-이미지 파일을 갈수 영역(free)을 255(백색), 갈 수 없는 영역(obstacle)을 0(검은색)으로 표현하고, 초기 위치와 목표위치를 설정하고, A* 알고리즘을 이용하여 장애물의 피하면서 갈 수 있는 최단 코스를 계산한다. 2. 파이썬 코드 import cv2 import numpy as np import heapq # image value 255: free area # image value 0: obstacle area def draw_path_on_image(img, points, line_color=(0, 255, 0), line_thickness=1): for i in range(len(points) - 1): cv2.line(img, points[i], points[i+1]..

카테고리 없음 2024.01.05