분류 전체보기 730

[tello] RT창고 방문 전

import osimport cv2import numpy as npimport timeimport mathfrom datetime import datetimefrom djitellopy import Tello# =========================# ===== 설정 / 파라미터 =====# =========================FLOOR_MARKER_ID1_ALIGN = 1 # 시작 정렬 마커FLOOR_MARKER_ID3_ALIGN = 3 # 2.7m 이동 후 정렬 마커FLOOR_MARKER_ID5_ALIGN = 2 # 3.6m 이동 후 정렬 마커RC_PERIOD = 0.05EMA_ALPHA = 0.35CENTER_BAND_RATIO_X = 0.10CENTER_BAND_RATI..

코딩 및 기타 2026.03.13

[isaac sim] isaac sim과 ros의 파이썬 버전 관련

아무것도 source안했을때 파이썬 버전아무것도 source안했을때, isaac-sim 내부에서 버전확인 humble을 source했을때 파이썬 버전 isaacsim의 build_ws/humble에서 source했을때 source ~/IsaacSim-ros_workspaces/build_ws/humble/humble_ws/install/local_setup.bash위의 source는 "python 3.11로 빌드된 최소한의 ROS 2기반 환경"이다.쉘 자체의 python3는 3.10버전이다.하지만 source를 해서 import 경로에는 3.11용 ros패키지 경로가 들어갔다. isaacsim의 build_ws/humble/issac_sim_ros_ws에서 source했을때 source ~/IsaacS..

코딩 및 기타 2026.03.12

[isaac sim] ROS 2 Navigation 2

1. 우선 Window > Examples > Robotics Examples에서 ROS2 > Navigation > iw_hub예제를 불러온다. 2. 시뮬레이션을 시작하고 아래의 명령어를 입력한다.ros2 launch iw_hub_navigation iw_hub_navigation.launch.py 3. goal pose를 지정해준다. 4. Sending Goals Programmatically"isaac_ros_navigation_goal" ROS2 package는 python node를 사용해서, robot의 goal pose를 설정하는데 사용할 수 있다.해당 package는 goal pose를 무작위로 생성해서 Nav2로 보내는것도 가능하다.당연히 사용자가 지정한 goal pose로도 ..

코딩 및 기타 2026.03.11

[isaac sim] [node]Differential controller , Articulation Controller , issac read simulation time , isaac simulation gate

Differential controllerdifferential drive(차동구동) 로봇용 컨트롤러 노드이다.입력으로 "원하는 선속도/각속도"를 받으면, 로봇의 "좌/우 바퀴 속도"로 바꿔서 내보내준다.Desired Angular Velocity : 원하는 회전 속도. Desired Linear Velocity : 원하는 전진 속도dt : 시간 간격(초). 보동은 on playback tick.Delta seconds를 연결함.wheel Distance : 좌우 바퀴 사이의 거리wheel Radius : 바퀴의 반지름Max Linear Speed / Max Angular Speed: 속도 제한Max Acceleration / Max Deceleration: 선속도 가감속 제한Max Angular Ac..

코딩 및 기타 2026.02.28

[isaac sim] [node] on playback tick , ros2 context , subscribe twist , scale to stage units

on playback tick시뮬레이터가 play일때, 매 틱마다 이벤트를 쏴주는 트리거 노드이다.즉, "현재 시뮬레이터가 돌아가고 있으니, 매 스텝/프레임마다 해당 그래프 로직을 실행해라"하는 시계(클럭)역할이다.단, paused or stopped라면 tick이 안나감.Tick : 매 틱마다 실행 펄스가 나간다. 여기서 다른 노드들의 실행입력을 연결해서, "매 틱마다 실행"시키는 용도.Delta Seconds : 이전 틱부터 이번 틱까지 경과 시간.Frame : 프레임(틱) 카운트(정수).... 즉, 몇 번째 틱인지Time : 타임라인의 누적 시간(초). 즉, 현재 시각 Ros2 Contextisaac sim안에서 ros2를 사용하기 위한 "Ros 2 통신 컨텍스트(rcl/rclcpp context..

코딩 및 기타 2026.02.26

[tello] test 10 11 12

10. 비행중 각도만 변경import cv2import numpy as npimport timefrom djitellopy import Tello# ===== 설정 =====TARGET_IDS = {7, 8}MARKER_LENGTH_M = 0.20 # 20cm = 0.20m# 종료 시 자동착륙(원인분리용). 필요하면 True로AUTO_LAND_ON_EXIT = False# RC 전송 주기(초) - 0.05 = 20Hz 정도RC_PERIOD = 0.05# yaw 제어 파라미터YAW_DEADBAND_DEG = 2.0 # 목표: ±2도 이내YAW_KP = 2.0 # 비례게인 (deg -> rc)MAX_YAW_RC = 40 # yaw RC 최대치 (0~..

코딩 및 기타 2026.01.30

[tello] test5 6 7 8 9

5. aruco 마커를 탐지import cv2from djitellopy import Tello# 아루코 마커 검출기 준비aruco_dict = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_50) # 이는 4x4 비트 패턴을 쓰는 maker 50종이다.params = cv2.aruco.DetectorParameters() # 아루코 검출 파라미터 설정 객체를 설정. 기본값으로도 동작한다. 환경에 따라서 튜닝가능detector = cv2.aruco.ArucoDetector(aruco_dict, params) # 실제 aruco를 detect하는 객체를 생성# tello드론 연결 및 스트리밍 시작tello = Tello() # 텔로 객체 생성tello.con..

코딩 및 기타 2026.01.30

pycharm tello

1. pycharm --> new project 2. interpreter에서 venv를 선택 3. 새 프로젝트 생성후 Settings/Preferences → Project → Python Interpreter에서 venv가 선택되어 있는지 확인 4. 다음을 설치python -m pip install --upgrade pippip install djitellopy opencv-python numpy 5.from djitellopy import Tellotello = Tello()tello.connect()print("battery:", tello.get_battery(), "%") 6.from djitellopy import Telloimport cv2tello = Tello()tello.co..

코딩 및 기타 2026.01.28

[isaac sim] ROS2 tutorials 2

unset PYTHONPATH AMENT_PREFIX_PATH COLCON_PREFIX_PATH ROS_PACKAGE_PATH 1. window --> viewports --> viewport 2도 선택 2. 다음과 같이 graph를 만든다. 3. isaac create render product에서 input의 cameraPrim을 수정 ( sim에서 camera를 추가해야함. ) 4. ros2 camera helper node에서 아래와 같이....이렇게 하면 카메라의 render product가 자동으로 생성된다.render product란?...==> isaac sim에서 "camera가 실제로 rendering한 결과를 뽑아내기 위한 출력 대상"을 뜻한다.다시 말하면, camera pri..

코딩 및 기타 2026.01.15

Control Strategies for Pursuit-Evasion Under Occlusion Using Visibilityand Safety Barrier Functions

[2411.01321] Control Strategies for Pursuit-Evasion Under Occlusion Using Visibility and Safety Barrier Functions Control Strategies for Pursuit-Evasion Under Occlusion Using Visibility and Safety Barrier FunctionsThis paper develops a control strategy for pursuit-evasion problems in environments with occlusions. We address the challenge of a mobile pursuer keeping a mobile evader within its fie..

논문 2026.01.14