[H-mobility Robotics] [Forward Kinematics(정기구학)] 로봇기구학 실습2 1. 함수작성 (dh.hpp) #include static Eigen::Matrix4d DH(double alpha, double a, double d, double theta) //트위스트 앵글, 링크랭스, 옵셋디스턴스, 로테이셔널 앵글 { double cosT = cos(theta), sinT = sin(theta); double cosA = cos(alpha), sinA = sin(alpha); Eigen::Matrix4d T; T 카테고리 없음 2023.09.06
[H-mobility Robotics] [Forward Kinematics(정기구학)] 로봇기구학 실습1 (Eigen 라이브러리 사용) Forward Kinematics(정기구학) : ‘마지막 끝점(end-effector)의 위치를 어떻게 찾아낼 수 있느냐에 대한 것 ( θ(세타)가 주어졌을 때, 엑스(X)를 찾는 문제 ) Modified DH parameter Rx : 회전 ,Dx : 이동 즉, T는 X축으로 회전하고 이동한후 Z축으로 회전하고 이동하는 과정을 거친다. - 직접 코드를 작성하여 DH파라미터로 정기구학(FK) 문제를 풀어볼 것임. - 행렬 계산을 위해 '아이젠 라이브러리' 이용 - '함수 구현'과 '예제 적용'을 분리하여 보여 줄 것임. : linear algebra를 쉽게 다루기 위한 C++ 라이브러리 1) 공식 홈페이지 : https://eigen.tuxfamily.org/ 2) 공식 튜토리얼 : https://eig.. 대외교육/H-mobility Robotics 2023.09.06
[C++] 행렬 곱셈 int main() { matrix matA ={ {1,2,3}, {4,5,6}, {7,8,9} }; matrix matB ={ {1,2,3}, {1,2,3}, {1,2,3} }; matrix matC = multiply(matA, matB); for (int i = 0; i 카테고리 없음 2023.09.06
[H-mobility Robotics] [ROS] Publisher and Subscriber Catkin : make파일을 만들고 자동으로 ROS 패키지를 만들 수 있는 툴(ROS build system) ROS pakage - ros 프로그램 배포의 가장 작은 단위 - ROS nodes(실행 프로그램), ROS 라이브러리, 데이터셋, configuration files 등 기능을 수행할 수 있는 모듈을 모두 포함. 대외교육/H-mobility Robotics 2023.09.04
[프로그래머스 특강]1-3. 시뮬레이션 예제 - 청소로봇3 방법 1 def solution(board, k): dr = [-1, 0, 1, 0] dc = [0, 1, 0, -1] n = len(board) see = 1 r, c = 0, 0 cnt = 0 while k>0: k -= 1 nr = r + dr[see] nc = c + dc[see] if 0 = n or board[nr][nc] == 1 : #막혀있다면 회전 see = (see + 1) % 4 continue r = nr c = nc return [r, c] print(solution([[0, 0, 0, 0, 0], [0, 1, 1, 0, 0], [0, 0, 0, 0, 0], [1, 0, 1, 0, 1], [0, 0, 0, 0, 0]], 10)) 카테고리 없음 2023.08.25
[프로그래머스 특강]1-2. 시뮬레이션 예시 : 청소 로봇(기본) 1번방법 def solution(moves): r,c =0, 0 dr = [-1, 0, 1, 0] dc = [0, 1, 0, -1] dir = ['U', 'R', 'D', 'L'] for command in moves: #move문자열 갯수만큼 for k in range(4): #4방향 if command == dir[k]: #k의 방향 r = r + dr[k] c = c + dc[k] return [r,c] print(solution('RRRDDDLU')) #print(solution('DDDRRRDDLL')) #print(solution('RRRRRRDDDDDDUULLL')) #print(solution('RRRRDDDRRDDLLUU')) 2번방법 def solution(moves): dr = [-1.. 대외교육/코딩테스트 2023.08.25
[프로그래머스 특강]1-1. 시뮬레이션 개념과 기본 예제(웅덩이문제) 문제가 제시한 규칙에 따라 개체를 이동시키는 알고리즘. r = row = 행 c = column = 열 dr = [-1, 0, 1, 0] dc = [0, 1, 0, -1] #12시 방향에서 시계방향으로 for r in range(5): for c in range(5): #2차원 배열 기본 코드 for k in range(4): #특정 [행,열]의 4방향 탐색 nr = r + dr[k] nc = c + dc[k] if nr >= 0 and nr = 0 and nc 대외교육/코딩테스트 2023.08.21
[H-mobility Robotics][ROS]CMake - C프로젝트를 빌드하기 위해 필요한 파일을 생성하고 관리하는 툴 - 운영체제에 종속적이지 않고 사용중인 운영체제에 맞는 Make 파일 생성 윈도우 : Visual studio 솔루션파일 리눅스 : make를 위한 makefile 생성 - Makefile에 정의한 내용대로 컴파일 등을 수행해주는 명령어 - 컴파일에 필요한 경로, 라이브러리 링크 등의 정보를 Makefile이 가지고 있어 make로 컴파일 가능 - 윈도우에서 사용하는 Visual studio의 project 개념과 비슷 각 파일 생성후 $cd ~/build $cmake .. $make $./Cmke_example 헤더 파일들을 includes 폴더에 몰아서 넣어두고 관리 할수 있다 대외교육/H-mobility Robotics 2023.08.18
[H-mobility Robotics][ROS]WSL을 이용한 Ubuntu 18.04설치와 ROS Melodic 설치 WSL(Windows subsystem for Linux) - 리눅스용 Windows 하위 시스템 - 가상머신, 듀얼부팅 설정없이 Linux 이용 [설치과정] :https://ivyit.tistory.com/264 참 1) ROS install - 제어판 - 프로그램 - windows 기능 켜기/끄기 - Linux용 Windows 하위 시스템 체크 - 컴퓨터 재시작 - windows store에서 ubuntu 18.04, windows terminal 다운로드 - X server 다운로드 경로 : https://sourceforge.net/projects/xming/ - VS Code 다운로드 경로 : https://code.visualstudio.com (windows 버전으로 설치) - ROS(mel.. 대외교육/H-mobility Robotics 2023.08.17
[H-mobility Robotics, 정기구학(Forward Kinematics)] 정기구학 기초 및 2D-example 출처 : http://www.kmooc.kr/courses/course-v1:SEOULTECHk+SMOOC03k+2021_T01/video Forward Kinematics(정기구학) : ‘마지막 끝점(end-effector)의 위치를 어떻게 찾아낼 수 있느냐에 대한 것 ( θ(세타)가 주어졌을 때, 엑스(X)를 찾는 문제 ) Inverse linematics(역기구학) : 위치 점들에 가기 위해서 각각의 관절들의 각도들을 어떻게 꺾어 줘야지만 이 위치로 갈 수 있는지에 대한 것. ( 엑스(X)가 주어졌을 때, θ(세타)를 찾는 문제 ) 기구학은 위와 같이 위치기반, 속도기반으로 나타낼 수도 있다. 위치기반 : homogeneous transformation 속도기반 : Jacobian Degree of.. 대외교육/H-mobility Robotics 2023.08.16