목록Study (10)
hongtlee 님의 블로그
리눅스 설치해서 ROS2 사용하는게 로봇 관련 작업에 제일 편하다.하지만 어쩔 수 없는 이유로 윈도우 환경에서 로봇 시뮬레이션을 실행하고 싶을 수 있다. 이때 선택할 수 있는 선지 중 Mujoco가 있다. Mujoco가 무료라 사용에 용이해 보이지만 생각보다 시뮬레이터로 사용하기 까다롭다.간단하게 feasibility을 보기 위해서는 RoboDK를 사용하는 것이 좋다. 하지만 RobodDK는 유료라는 점...무료 버전으로도 적당히 테스트 할 수 있지만 규모가 커지면 유료 버전이 필요해진다. 또한 상업적 이용에 어렵다. Mujoco를 사용한지 4달 뿐이라 초보지만 느낀바로는,- 장점* mujoco는 상업적 이용이 가능한 라이센스를 갖고 있고, c++17 라이브러리로 사용 가능해 확장성이 뛰어나다.* 파이썬..
Linux환경에서야 ROS2를 사용해서 moveit도 사용하고 RVIZ도 사용하는 등 여러 좋은 도구가 있지만,윈도우에서 ROS2를 이용하려면 가상환경으로 리눅스를 설치해야 한다. 그런데 mujoco는 윈도우 기반에서 잘 돌아가고 무엇보다 무료이다. mujoco의 c++ api를 이용해서 위와 같이 실험실을 꾸렷다.적당한 타겟을 갖고 움직이며 충돌하는지 간단하게 테스트할 수 있다. 옆에 콘솔 창에 ( , ) 으로 출력되는데, geom index는 잘 갖고 오는데 왜 name을 못찾나 싶다. 해결해야 할 이슈가 추가됐다. 단기적인 목표로 open source로 풀려있는 PRM이나 RRT같은 알고리즘을 통해 능동적인 타겟 이동을 시도해보려 한다.

RoboDK의 내장 함수 중,moveLTest가 있다.시작점, 목표 SE3, step거리. 이렇게 3개의 input을 받고, 가능 여부에 대해 int를 반환하는 함수다. 지금까지 Robotics에서 다룬 내용으로 collision은 확인할 수 없지만, 나름대로 구현해보려 한다.따라서 틀린 내용 있을 수 있으니 유의해주시고 지적 환영합니다. Move초기 위치에서 목표 자세로 이동할 때 중요하게 고려할 사항에 대해 생각해보자.최소 유클리드 거리최소 에너지 소모최소 맨해튼 거리관절 가동 범위충돌 여부...다양한 사항이 있을 수 있는데, 이동 거리가 짧더라도 시작과 끝의 해의 분기가 달라진다면 각 관절이 이동하는 각도가 커질것이며, 로봇 자체가 움직이는 반경도 커질 것이다. 따라서, 좋은 움직임을 하기 위해 시..

1. Singularity협동로봇을 다룰 때, Singularity에 대한 고려가 빠질 수 없다. 간단하게 생각하면,연립방정식을 풀 때 얻어야 하는 미지수의 갯수보다 방정식의 갯수가 적어 해가 없거나 무한이 많아지는 경우가 생기는데, 이때가 singularity가 된다.이는 jacobian에서 rank를 잃었을 때와 동치이다. 위와 같은 상황에 빠지게 되는 기구학적 상황이 있다.shoulder singularityelbow singularitywrist singularity특정 축끼리 평행하거나 일직선 상에 놓여 rank를 잃어버리기 때문이다. 이외에 로봇의 작업영역 바깥 경계에 발생하는 특이점이 있는데, 이는 로봇의 작업 공간에서 벗어나지 않으면 해결된다.2. Manipulability실제로 로봇을 조..

로봇 용접에 용접선 추출 후 용접을 시작하더라도,추출한 용접선 자체에 노이즈나 에러가 있거나, 용접환경에 의해 실제 용접 궤적이 뒤틀릴 수 있다. 용접 궤적을 실시간으로 바로 잡을 필요가 있는데, 다양한 방법이 존재한다. 그 중 하나인 아크센싱을 적용하고자 한 자료조사 내용이다.스스로 공부한 내용이라 틀린내용 지적 환영입니다. 이론적 배경금속결합은 금속 원자들이 자유롭게 움직이는 전자(자유전자)를 공유하며 형성되는 결합. 금속 내부에서 원자들은 격자 구조를 이루고 있으며, 전자들이 자유롭게 이동하면서 전체 금속을 결속하는 역할두 금속을 결합하기 위해서는 표면의 불순물이나 산화막을 제거하여 금속의 순수한 표면을 노출시켜야 함. 이는 결합을 방해하는 요소들을 제거하고 금속 원자들이 가까이 접근할 수 있게 함..

Inverse Kinematics 종류기하학적 기법로봇의 기하학적 구조를 기반으로 삼각함수나 행렬 연산을 통해 해석적 해를 구함.특정 로봇 구조에서만 가능수학적 분석으로 정확한 해를 갖고 매우 빠른 방법구조가 단순한 로봇에 사용됨수치-해석적 기법반복적 계산으로 수렴하며 초가값을 기반으로 근사값 계산대부분의 로봇에 적용가능초기값이 적절하면 빠르게 수렴비선형 방정식 풀이에 적합하며 높은 정확도를 보임예시)역자코비안 풀기최적화 기반 방법(Optimization-Based Approach)휴리스틱 기법경험적 규칙과 데이터를 기반으로 복잡한 환경에서 작동다중 해를 자연스럽게 탐색하며 특이점 문제를 효과적으로 회피. 휴리스틱 기법이 자코비안을 사용한 수치해석적 기법에 비해 빠르다.ProcessNewton - Rap..

6R로봇의 경우 액추에이터에 가해진 토크로 Joint가 회전하게 되는데, 이로인해 링크가 움직이게 된다.링크의 선속도와 각속도는 조인트 속도와 Jacobian 행렬을 통해 연결되며, 이는 로봇의 기구학적 관계를 나타낸다.즉, Jacobian을 통해 미소 변위에서 비선형 변환을 선형 변환으로 근사시킬 수 있다. 따라서 Joint 좌표계에서 Cartesian 좌표계로 변환하기 위해서 Jacobian은 필수불가결한 내용이다. 그 역도 마찬가지다. 엔드 이펙터 컨피규레이션이 최소 좌표 집합(a minimal set of coordinates) x로 표현되고 속도 또한 $\dot x$로 표현되는 경우에, 정기구학 x(t)는 다음과 같이 표현할 수 있다.$$x \in \mathbb{R}^m, \quad \dot{x..

정기구학의 표현법D-H parameter을 이용한 표현법지수곱(PoE) 표현법지수 곱 공식(POE)스크류축 [S]을 4*4 행렬로 나타내면, 대부분의 6축 로봇은 6R로봇으로, 각 관절이 모든 외부 링크에 스크류 운동을 적용하는 것으로 볼 수 있다. 관절 n이 θn의 변위를 갖는다면, 엔드 이펙터 좌표계 M은 다음과 같다.$$ T=e^{[S_n]\theta_n}M $$ T∈SE(3)는 엔드 이펙터 좌표계의 새로운 자세이고, Sn = (wn,vn)은 관절 n의 스크류 축을 고정 기반 좌표계로 나타내 것. 마찬가지로 관절 n-1이 변화할 수 있는 상태라면, 이는 링크 n-1에 스크류 운동을 가한 것과 같다.즉,$$ T=e^{[S_{n-1}]\theta_{n-1}}(e^{[S_n]\theta_n}M) $$..

1. 강체 운동강체의 위치와 방향을 정의하기 위해 숫자 6개가 필요. 이를 체계적으로 서술하기 위해 4*4 행렬을 사용한다. 강체의 속도는 3차원 선속도와 3차원 각속도로 정의되는 R^6 위의 한 점으로 표현할 수 있으며,이 점을 공간 속도 또는 트위스트라 부름.→로봇의 상태 공간이 벡터 공간이 아니더라도, 상태 공간의 한 점에서 취할 수 있는 속도의 집합은 벡터 공간을 이룬다. 임의의 강체의 자세는 고정된 기준 좌표계로부터 출발해 일정한 트위스트를 특정 시간동안 적분해 얻을 수 있다.이런 움직임은 고정된 축을 따라 병진하며, 동시에 그 축을 중심으로 회전하는 스크류 운동과 비슷하다.→ 모든 강체의 자세를 스크류 운동으로 표현할 수 있으므로(샤를-모치 이론) 지수 좌표(6개의 매개변수로 이루어짐)으로 자..

리 군(Lie Group) & 리 대수(Lie Algebra)리 대수는 리 군의 무한소 구조를 표현하는 수학적 구조. 리 군은 연속적이고 매끄러운 대칭을 표현하는 군(Group)이다. 리 대수는 리 군의 미소 변화를 다루며, 리 군의 구조를 선형화한 대수적 도구로 볼 수 있다. 리 대수는 다음 두 조건을 만족하는 벡터 공간이다.반대칭성Jacobi 항등식대표적인 리 군으로 SO(3)와 SE(3)이 존재하며, 리 대수는 리 군의 접공간(Tangent Space)을 통해 정의된다. 리 군 G의 항등원(identity element)에서의 접공간은 리 대수를 g를 구성한다. 리 대수는 리 군의 곡선(지수 함수)을 선형화한 구조로 이해할 수 있음.exp : g → G : 리 대수에서 리 군으로 매핑(행렬지수 함수..