Programmers / 공원 산책 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다.문제 제목: 공원 산책문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다.["방향 거리", "방향 거리" … ]예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행..
[Haptics] .wav 파일을 DAQ 에서 실행하기 / Python 파이썬
·
HCI/Haptics
오늘은 wav 파일을 바로 DAQ 에서 실행해보겠습니다. 예시 input wav는 macaron 에서 만들었습니다. :) https://hapticdesign.github.io/macaron/ Macaron Editor hapticdesign.github.ioIn [3]:import numpy as npimport soundfile as sfimport nidaqmximport timeimport matplotlib.pyplot as plt# DAQ 설정값samplingRate = 10000 # DAQ 샘플링 속도 (10kHz)duration = 1 # 신호 지속 시간 (초)# 1️⃣ WAV 파일 불러오기wav_file = "input.wav" # 사용할 WAV 파일 경로data, fs = sf.r..
[Haptics - Dynamic compensation] Calibration Using NI DAQ, Python and Matlab
·
HCI/Haptics
이번 게시글에서는 앞서 포스팅한 게시글https://sillon-coding.tistory.com/631 [Haptics - Dynamic compensation] Matlab에서 Chirp Signal 출력하기Chirp SignalChirp Signal은 주파수가 점진적으로 증가하거나 감소하는 특성을 가진 신호로, 다음과 같은 특징이 있다.Chirp-Up: 주파수가 점차 증가하는 신호Chirp-Down: 주파수가 점차 감소하는 신호넓은sillon-coding.tistory.com 에서 추출한 Chirp Signal을 바탕으로 30~ 300 Hz 주파수 대역에서 진동을 사용하도록 Calibaration 을 진행할것입니다. 간단히 코드만 짚고 넘어가겠습니다.chirp_test.m (matlab 코드입니다...
[Haptics - Dynamic compensation] Matlab에서 Chirp Signal 출력하기
·
HCI/Haptics
Chirp SignalChirp Signal은 주파수가 점진적으로 증가하거나 감소하는 특성을 가진 신호로, 다음과 같은 특징이 있다.Chirp-Up: 주파수가 점차 증가하는 신호Chirp-Down: 주파수가 점차 감소하는 신호넓은 주파수 대역 사용: 하나의 신호로 여러 주파수 응답을 동시에 확인 가능이번 실습에서는 30Hz에서 300Hz로 선형 증가(Chirp-Up)하는 신호를 Matlab에서 생성할 것이다.   CodeMatlab에서 30Hz에서 300Hz까지 주파수가 증가하는 Chirp Signal을 생성하는 코드% 샘플링 레이트 및 시간 벡터 설정Fs = 10000; % 샘플링 주파수 (Hz)T = 2; % 총 지속 시간 (초)t = linspace(0, T, Fs * T); % 시간 ..
[Haptics - Haptuator Single Frequency] Calibration Using NI DAQ and Python
·
HCI/Haptics
1. 실험 개요진동자를 활용한 가속도 측정에서는 신호의 정확한 보정이 필수적입니다. 본 실험에서는 Single Frequency Calibration을 수행하여, 특정 주파수에서 입력 전압과 출력 가속도 값의 관계를 정의하고 이를 보정하는 과정을 기록합니다. 이를 통해 측정 장비가 올바른 값을 출력하도록 교정할 수 있습니다.2. 사용 장비 및 구성DAQ (Data Acquisition Device): NI DAQ 장치가속도계: ADXL354/355진동자: HapCoil One HC121238O소프트웨어: Python (DAQ 제어 및 데이터 로깅), MATLAB (데이터 분석 및 FFT 수행)기본 설정:아날로그 인풋(AI) 0, 1, 2번 채널 사용아날로그 아웃풋(AO) 0번 채널 사용샘플링 속도 및 전..
[Haptics] 진동 측정 캘리브레이션 이론 정리
·
HCI/Haptics
진동 측정에서 캘리브레이션은 입력 신호와 측정된 신호 간의 왜곡을 보정하는 과정이다. 특히, 특정 주파수 대역에서 원하는 신호 특성을 유지하기 위해 필터링과 주파수 보정 과정을 거친다. 본 글에서는 진동 측정의 캘리브레이션 과정과 핵심 개념을 정리한다. 1. 주파수와 FFT 정의주파수(Frequency)주파수는 1초 동안 반복되는 신호의 횟수를 의미하며, 단위는 헤르츠(Hz)이다. 신호 처리에서는 주파수를 분석하여 특정 성분을 추출하거나 제거하는 과정이 중요하다. FFT(Fast Fourier Transform, 고속 푸리에 변환)FFT는 신호를 주파수 도메인으로 변환하는 알고리즘이다. 시간 도메인의 데이터를 주파수 성분으로 분석할 수 있으며, 진동 분석에서 매우 유용하게 사용된다. 처프 신호(Chirp..
[Haptics] Macaron 햅틱 디자인 툴
·
HCI/Haptics
https://hapticdesign.github.io/macaron/ Macaron Editor hapticdesign.github.io햅틱 피드백을 쉽게 디자인할 수 있도록 돕는 웹 기반 툴이다. 다양한 진동 패턴을 시각적으로 조작할 수 있으며, 간단한 드래그 앤 드롭 인터페이스를 제공한다. 사용자는 직관적인 UI를 통해 햅틱 강도, 지속 시간, 패턴 등을 조정할 수 있으며, 생성한 햅틱 피드백을 JSON 형식으로 내보낼 수도 있다. -> 복잡한 코딩 없이 햅틱 경험을 설계하고 테스트할 수 있다.
[Anaconda] 가상환경 필수 라이브러리만 추출하기
·
python/라이브러리
[Anaconda] 가상환경 필수 라이브러리만 추출하기Anaconda 가상환경에서 필수 라이브러리만 추출하는 방법을 작성하겠습니당  1. pipreqs로 필수 라이브러리 자동 추출하기pipreqs는 프로젝트에서 실제 사용된 라이브러리만 requirements.txt에 기록해줍니다.설치pip install pipreqs사용pipreqs /path/to/your/project/path/to/your/project를 프로젝트 폴더 경로로 변경하기현재 폴더에서 실행하려면:pipreqs .이렇게 그냥 프로젝트 파일이 있는 폴더 안에서 pipereqs 를 입력하면 requirements.txt 파일이 만들어집니당 기존 requirements.txt 덮어쓰기pipreqs . --force 2. 기존 requireme..
[Unity] Mesh 누르면 변형하기 / 물체 찌그러트리기 / 물체 매쉬 변형 / Mesh Deformation
·
HCI/Graphics
https://catlikecoding.com/unity/tutorials/mesh-deformation/ Mesh Deformation, a Unity C# TutorialA Unity C# scripting tutorial in which you will deform a mesh, turning it into a stress ball.catlikecoding.com여기서 있는 코드를 변형했습니당 방법은 초간단 3D 프로젝트 빌드 후, 위의 사이트에서 패키지를 받아주고, 임포트해줍니다 저는 Move Vertices 를 변형해서 써보겠습니다패키지 받고 더블클릭하면 자동으로 유니티에서 화면이 뜹니다. 그리고 해당 패키지에서 제공하는 샘플 Scene 을 켜줍니다이름은 그냥 Scene 이라고 돼있음 여기서 M..
[Geomagic Touch] Unity 환경에서 Open Haptics를 활용해 지오매직 터치 사용하기 (2) Unity Asset 설치하기
·
HCI/Graphics
지난 포스트에 이어 작성하는 글입니다! 먼저 유니티 3D 프로젝트를 빌드 해준 뒤, 아래의 SDK를 설치합니다.저는 2022년 버전 유니티로 빌드했습니다.  Haptics Direct for Unity V1 | 기능 통합 | Unity Asset StoreUse the Haptics Direct for Unity V1 from 3D Systems on your next project. Find this integration tool & more on the Unity Asset Store.assetstore.unity.com Asset 에 추가해줍시다 다운로드 하고 임포트 Import 해줍시다씬을 통해 테스트 해줍시다! 잘되네용 훗
[Geomagic Touch] Unity 환경에서 Open Haptics를 활용해 지오매직 터치 사용하기 (1) Haptics Device 연결하기
·
HCI/Graphics
Geomagic이란?Geomagic Touch의 주요 특징정밀한 촉각 피드백 제공Geomagic Touch는 포스 피드백(force feedback) 기능을 통해 사용자가 가상 물체를 "만지는" 것처럼 느끼게 합니다.이를 통해 사용자는 표면 질감, 저항력, 무게감을 실제처럼 느낄 수 있습니다.6자유도(DOF, Degrees of Freedom) 추적사용자의 움직임을 **3D 공간(위치 및 방향)**에서 정확히 추적하여, 가상 환경 내 상호작용을 가능하게 합니다.응용 프로그램 통합Geomagic SDK를 통해 Unity, OpenGL, 그리고 다른 그래픽 및 물리 엔진과의 통합이 가능하며, 햅틱 상호작용을 개발할 수 있습니다.다양한 활용 분야의료 시뮬레이션: 외과 의사들이 수술 전 시뮬레이션을 연습할 때 ..
[Oculus - Meta Quest 3] 오큘러스 메타퀘스트 3 에어링크 오류 / 가로메뉴에 치명적 오류 발생 / 무한 로딩 - 해결법
·
HCI
메타퀘스트 에어링크 연결하려는데 가로메뉴에 치명적 오류 발생 이라면서 새로고침을 눌러도 무한 로딩이 발생했다. 검색 해본 결과, 이 경우는 프로그램을 설치하고 지우기보단 서비스를 종료하기만 하면 해결된다.   방법은 서비스 관리자를 열어서 Oculus VR Runtime Serivce를 찾아서 우클릭후 재시작을 눌러주면 된다. 그 후, VR기기에서 다시 에어링크를 실행후 PC가 잡히는지 확인해 보면 된다.​서비스 관리자를 실행하는 방법은 윈도 시작버튼을 누르고, '서비스'라고 입력하거나, 실행창에서 services.msc 를 싫행하면 된다.​