전체 글 118

Moveit과 isaac sim 연동

https://wikidocs.net/277532 -> issac sim 설치 방법 사이트https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/download.html -> issac sim 다운 공식 홈페이지mkdir ~/isaacsimcd ~/Downloadsunzip "isaac-sim-standalone@4.5.0-rc.36+release.19112.f59b3005.gl.linux-x86_64.release.zip" -d ~/isaacsimcd ~/isaacsim./post_install.sh./isaac-sim.selector.sh아래와 같은 오류가 뜰 경우아래의 자신의 컴퓨터 cpu가 AMD인지 Intel인지 확인 후 둘중에 하나로 코드..

ROS2 이론 정리 2025.10.17

Moveit 사용법

Moveit2 : 로봇 공학의 움직임 계획(Motion Planning), 제어, 조작, 3D 인식 등을 위한 오픈 소스 소프트웨어 프레임워크로 ROS2를 기반으로 동작한다.아래의 shell 파일을 따라 순차적으로 설치해야한다. Moveit-setup-assistant 사용법-> 기본적으로 역기구학 라이브러리를 제공하기 때문에 우리가 직접 로봇에 대한 역기구학 수식을 구할 필요없다.( 더 정확하게 구동시키고싶으면 추가해도되기는하다.)*아래의 영상에서 메모장에다 썼던 내용들을 아래에 써놨으니 참고바랍니다.~https://youtu.be/sQoQAOywk5Y rdf 경로로 이동해서 CAD로 기구 설계한 urdf파일에 오류가 없는지 확인한다. - okay -> 명령어 : check_urdf Robot.urd..

ROS2 이론 정리 2025.10.08

강화학습시 카메라의 위치

매니퓰레이터에 부착된 경우 (eye-in-hand)장점:팔 끝부분에서 보는 시점이기 때문에 작업 대상에 가까운 세부 정보를 얻을 수 있음카메라와 팔의 상대 위치를 정확히 알 수 있어, 3D 좌표 추정이 간단단점:팔이 움직일 때 시야가 계속 변해서 학습 안정성이 떨어질 수 있음전역적인 위치 정보(팔 전체나 환경 전체)는 얻기 어려움외부에 고정된 경우 (eye-to-hand)장점:팔 전체와 작업 환경을 한 번에 관찰 가능카메라 시야가 안정적이어서 CNN이나 3D point cloud 처리 시 피처 안정성이 높음단점:카메라와 팔의 위치 관계를 별도로 보정(외부캘리브레이션)해야 함객체가 팔 뒤로 가려질 경우 관측 불가외부 보정(Extrinsic Calibration) : 카메라와 로봇 팔 간의 위치 관계 정의→..

AI 정리 2025.09.30

LeRoBOT과 모방학습

🤖 LeROBOT이란?Hugging Face에서 개발한 오픈소스 로봇 머신러닝 플랫폼PyTorch 기반으로 실제 로봇과 시뮬레이션 환경에서 모방 학습(Imitation learning) 과 강화 학습(reinforcement learning, RL)을 직관적으로 구현할 수 있도록 하는 라이브러리 -> 로봇의 행동을 학습하기 위한 프레임워크https://dawon-project.tistory.com/92→ 강화학습 기초 정리한 자료🌐 모방학습이 나오게된 배경강화 학습에서는 에이전트(Agent, 예: 로봇)가 시행착오를 통해 좋은 행동을 스스로 학습해야 하지만 만약 사람이 로봇에게“어떤 행동이 좋은 행동인지 직접 알려줄 수 있다면? 더 빠르게 효과적인 정책(Policy)을 학습할 수 있지 않을까?”이러한..

AI 정리 2025.09.30

TF 생성 방법 및 더 깊은 개념

로봇의 다양한 센서와 링크의 좌표계를 시간에 따라 추적하고, 변환하는데 사용-> 이를 통해 로봇의 여러 부품 간의 위치와 방향을 일관되게" data-og-host="dawon-project.tistory.com" data-og-source-url="https://dawon-project.tistory.com/7" data-og-url="https://dawon-project.tistory.com/7" data-og-image="https://blog.kakaocdn.net/dna/d4JE2A/hyYMQYJdHK/AAAAAAAAAAAAAAAAAAAAAAx7qcqNDzWAYIJU2rZkxHTWJD2HME61BNqBJPJKUi9c/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1790780399&allow_ip=&allow_referer=&signature=O%2BsabU1pIEk4n%2Bx7kf1K5H%2FUREU%3D

카테고리 없음 2025.05.16

QoS(Quilty of service)

Qos(Quilty of Service) DDS -> 퍼블리셔-서브스크라이버 기반의 통신 미들웨어QoS -> 메시지 전달의 품질을 어떻게 보장할지를 설정하는 정책 집합즉, "어떻게 데이터를 보내고 받을 것인지"에 대한 규칙, 약속, 조건을 정의하는 것이 QoS이다.퍼블리셔 또는 서브 스크라이버 선언 시 Qos를 매개 변수로 지정하여 원하는 통신 방식 설정 가능Qos로 바꿀 수 있는 것은 데이터 전송 시 실시간성(real time) 설정 관련 부분, 대역폭 옵션, 데이터 지속성, 중복성 등이 있음TCP 또는 UDP 방식을 선택적으로 사용 가능TCP : 신뢰성(Reliability) 중심UDP : 속도 중심대표적인 Qos 항목 6가지 -> 현재 DDS에서 설정 가능한 Qos 항목으로는 22가지가 있다..

ROS2 이론 정리 2025.05.05

Lifecycle

Lifecycle : ROS 2에서 Lifecycle이란 노드의 생명주기(lifecycle)를 명확하게 관리할 수 있도록 해주는 상태 기반 노드 관리 기능-> ROS2에서는 노드의 상태 관리를 위해 Lifecycle 인터페이스 제공개발자가 노드의 상태 전이(state transition) 를 제어할 수 있게 하여, 시스템을 더 예측 가능하고 안정적으로 구성할 수 있게 해준다.노드는 주요 상태 (Unconfigured, Inactive, Active, Finalized)와 전환 상태(Configuring, CleaningUp 등)을 가진다.노드를 체계적으로 관리 및 상태 전환을 통해 노드를 구성, 활성화, 비활성화, 정리 가능-> 한마디로 노드가 비정상적으로 종료가 되면 다시 살아 날 수 있도록 관리해주고..

ROS2 이론 정리 2025.05.05

노드로 구성된 프로세스의 관리 방식(IPC와 Intra-process communication)

Inter-Process Communication : 서로 다른 프로세스 간 데이터를 주고받는 방식-> 일반적인 노드 개발 방식-> 너무 많은 노드 생성으로 인한 많은 프로세스가 생성 시 성능이 안 좋아짐ROS2는 복수 개의 node를 사용하여 개발이 이루어지고, 단일 컴퓨팅 시스템에서 복수 개의 node 실행 시 노드 하나당 하나의 프로세스가 할당되게 된다. 그때 각각의 프로세스들끼리 데이터를 원활하게 주고 받을 수 있도록하는 것이 IPC이다.shared memory, pipes, sockets, ROS 2 노드 간 일반 통신기본적인 데이터 복사 방식 -> 일반적으로 ROS2에서 노드 간에 데이터를 전달할 때의 방식퍼블리셔가 메세지를 생성사용자가 메세지를 생성하면 해당 데이터가 메모리에서 특정 주소에..

ROS2 이론 정리 2025.05.05

ROS2 CLI

CLI : Command Line InterfaceROS2 CLI 사용법ros2 [verbs] [sub-verbs] [options] [arguments]# verbs : 동작을 지정하며, 수행할 작업의 유형을 나타냄 ex) topic, service, node 등# sub-verbs : 특정 동작에 대한 세부 동작(sub-verb)을 지정 ex) Verbs가 topic인 경우 pub, echo, list 등이 해당# option: 명령어의 실행 방식을 설정하는 추가 파라미터 ex) -h, -r, --node-name, --qos, --ros-args 등# arguments : 실행할 때 필요한 인수를 지정하는 것으로 특정 노드의 이름이나 토픽의 이름, 서비스 이름 등이 올 수 있다. pkg 명령어 형식..

ROS2 이론 정리 2025.05.05

Hangman을 통한 통신 노드들 구현(Action, Topic, Service)

Hangman 설계도Node 별 기능letter_publisher : LetterPublisher 객체 생성 후 노드 실행 -> 매초마다 알파벳 순차적 발행progress_action_client : GameProgress 클라이언트 생성, goal 전송, 피드백 처리-> goal에 대한 응답을 받으면 결과를 비동기적으로 요청하여 결과 처리progress_action_server : GameProgress 기반으로 서버를 생성하여 수신, 게임 상태를 저장하고 데이터 수신-> 피드백 생성 및 현재 게임 상태와 시도 횟수 제공user_input : CheckLetter 클라이언트 생성 , 서비스 실행 전 대기, 서비스 요청을 저장하여 send_request 함수 호출-> 사용자가 enter를 누를시 lett..

ROS2 이론 정리 2025.04.30