[18] 모바일 베이스와 매니퓰레이터 기능 통합
https://www.youtube.com/watch?v=kgyu9tLndqo&t=66s&ab_channel=RoboticsLAB
2023.05.29
no image
6-DOF Manipulator Using PSO Algorithm
https://www.youtube.com/watch?v=uHHGWq__U_s&ab_channel=RoboticsLAB 매니퓰레이터 DH Table D1, D2는 Dummy Frame이다.
2023.05.29
[17] Navigation Using Nav2
https://youtu.be/cqKsZHMePQ4
2023.05.29
no image
[16] Odometry 구성하기
OdometryOdometry는 각종 센서의 데이터를 사용해서 시간의 경과에 따른 로봇의 위치 변화를 추정하는 것이다. 3차원 공간상에서 로봇의 위치를 추정하긴 어렵다. 눈에 보이지 않는 곳에서는 어느 정도 시각정보를 바탕으로 추정 가능하지만 그렇지 않은 곳에서라면? 사고가 난 곳에 로봇을 투입해야 한다면? 그리고 로봇의 위치를 추정해야 SLAM과 Navigation이 가능해진다. 로봇의 위치를 알지 못하는데 어떤걸 기준으로 로봇을 움직일 수 있을까. 그래서 정확한 Odometry를 구성하는것은 중요하다. 센서에만 의존하여 점점 오차는 누적되기 때문에, 애초에 조금의 오차라도 덜 생기면 좋을 것이다. 특히 전방향 이동이 가능한 Mecanum OmniDirectional 구동 방식은 Odometry 구현이..
2023.05.22
no image
[15] Robot Static Publisher와 Robot Joint Publisher로 TF시각화
로봇 시각화 ROS에서 로봇을 시각화 하는데 쓰이는 대표적인 툴이 Rviz와 Gazebo이다. Rviz는 센서 데이터등을 자유롭게 다루고 시각화 하기에 좋다. Gazebo는 동역학 시뮬레이션을 구성하고 테스트하기에 좋다. 각각의 장단점이 있고 Rviz를 이용한 로봇 시각화를 한다. 로봇 시각화를 위해서 필요한 것은 아래와 같다. 1. 로봇의 URDF파일 단순히 URDF파일만 있으면 TF2에 있는 패키지로 로봇의 각 조인트, 링크구조를 시각화 하고 모델을 띄울 수 있다. 주의할점은 robot_state_publisher는 로봇의 링크로 정의한 파트만 시각화를 해준다. 바퀴같이 Joint 특성으로 지정해준 경우에는 joint_state_publisher로 불러와야 모든 구조가 불러와진다. Launch파일로 ..
2023.05.22
no image
PSO(Particle Swarm Optimization)을 이용한 매니퓰레이터의 최종 위치 추정
매니퓰레이터 매니퓰레이터는 엑추에이터의 각도의 변화를 이용하여 자세를 변화한다. 우리가 목표로 하는 3차원 공간상의 좌표가 있다면, 로봇팔이 그 위치까지 도달할 수 있도록 제어해야 한다. 3차원 공간에서 매니퓰레이터가 6-DOF를 가지는 non-redunduncy 한 문제에서는 Inverse Kinematics(IK)를 사용하여 목표점까지 제어가 가능하다. 하지만 매니퓰레이터가 6-DOF를 초과하는 redunduncy한 상황은 조금 다르다. Redunduncy상황에서 IK를 풀기 위해서는 Jacobian이 정방행렬이 아니어서 pseudo inverse를 이용하여 계산을 한다. 이때 pseudo inverse를 이용하다 보니 수치계산으로 인한 singularity가 발생하곤 한다. 이러한 singulari..
2023.05.08
no image
[1] 매니퓰레이터 재료 선정
자유도 매니퓰레이터의 자유도는 4자유도로 결정하였으며, 로보티즈의 오픈매니풀레이터를 레퍼런스로 하였다. 4자유도는 6자유도에 비해서 엔드이펙터의 orientation 조작이 제한된다. 6자유도는 Spherical Wrist구조가 있기 때문에 엔트이펙터의 orientation 조작성이 매우 좋긴하다. 하지만 주어진 시간이 짧았으며, 추후 설계를 보완하여 6자유도로 디벨롭 기회가 있었기 때문에 우선 4자유도를 선택하게 됐다. 엑추에이터 국내 로봇기업 로보티즈에서 꽤 오랫동안 개발해온 다이나믹셀이라는 스마트 엑추에이터다. 로보티즈에 애정을 가지고 있기도 했고 제어가 쉽고 정밀도가 뛰어나서 연구개발과 교육용으로 많이 쓰이므로 1순위로 선정을 했다. 매니퓰레이터는 대부분이 산업현장에서 이용되고 있는만큼 실제로 다..
2023.03.31
no image
[중간점검] 프로젝트 점검
진행 완료 - 로봇 구성 필수 센서 ROS2 패키지 확보 완료 - 엔코더 DC모터 PID 제어기 구성 완료 - Teleop를 이용한 원격제어 완료 - IMU센서, LIDAR센서 Jetson Nano에서 구동 완료 - 로봇의 Description인 URDF를 이용하여 Robot State Publisher, IMU, LIDAR Launch파일 구성 완료.(bringup) 진행 예정 - 메카넘휠 특성상 슬립 현상을 줄이기 위한 해결책 필요 - 엔코더 데이터와 IMU센서를 이용하여 Odometry를 구성하고 TF2를 real-time update. - Cartographer 패키지로 2D SLAM 구성 - NAV2 패키지로 Navigation 세부 계획 - 4월 中 SLAM구현, NAV2 리서치 - 5월 中 ..
2023.03.31
no image
[14] 메카넘휠 로봇 DC모터 PID제어
PID제어를 구현하는 과정에서 많은 시행착오와 데이터 통신 이슈로 인하여 프로젝트 일정이 늦어졌다. 모터의 속도를 정확하게 제어하는 것은 로봇의 Odometry를 구성하는데 꼭 필요하다. 모터의 정확한 속도를 기반으로 로봇이 어디까지 갔는지 위치를 추정할 수 있기 때문이다. PID 제어 기본적으로 피드백 형태를 가지며 비례(Proportional), 적분(Integral), 미분(Differential) 제어를 이용하는 방법 중 하나이다. 구현이 쉽고 경제적 이점 때문에 다양한 분야에서 광범위하게 사용되고 있는 제어 기법이다. 위 식은 순서대로 비례항, 적분항, 미분항이 더해진 형태이다. 비례항은 오차값에 Kp 게인을 곱한다. 오차값이란 [목표 값 - 실제 출력되는 값]이다. 그래서 오차값의 크기에 비례..
2023.03.26