[18] 모바일 베이스와 매니퓰레이터 기능 통합
https://www.youtube.com/watch?v=kgyu9tLndqo&t=66s&ab_channel=RoboticsLAB
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
[중간점검] 프로젝트 점검
진행 완료 - 로봇 구성 필수 센서 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
no image
[13]메카넘휠 로봇 IMU센서 작동 테스트(Ubuntu)
Ubuntu 20.04 LTS 환경에서 패키지 빌드 지난번 Window환경에서 exe실행파일을 통해 IMU센서 정삭작동을 확인하였다. Ubuntu에서 바로 테스트해보고자 하였으나 공식 Github 레포지토리에 AMD64 라이브러리가 잘못 올라와서 문의하고 수정된 걸 받고 하니 시간이 좀 걸렸다. [10] 메카넘휠 로봇 IMU센서 작동 테스트(Window) IMU센서 IMU센서는 엔티렉스에서 개발한 MW-AHRSv2를 사용하였다. MW-AHRSv1( 3축 가속도, 3축 자이로, 3축 지자기가 내장된 AHRS 모듈) 엔티렉스에서 2번째 선보이는 IMU 제품출시~!! 3축 가속도, 3축 자이로 merobot.tistory.com Ntrex에서 제공하는 ROS2 패키지를 빌드해본다. GitHub 레포지토리는 아..
2023.03.16
no image
[12] 메카넘휠 로봇 배터리 탑재 후 주행 테스트
소모전력 계산 로봇을 구성하는 각 부품들의 소비전력을 계산해보았다. 지난번 한이음 프로젝트를 할 때 로봇의 배터리 용량이 적어서 불편했던점을 감안하여 넉넉히 설계하였다. 전기를 먹는 부품들의 데이터시트에서 최고성능에서의 소비전력을 기준으로 하였다. DC모터같은경우 정상 작동 전류가 2.3A이지만 구동과 부하변화로 인해서 전류 피크를 찍을것을 대비해서 여유있게 설계해주어야 한다. 대략 5배 내외로 피크를 찍는다고 하니 단독으로 배정해주었다. Wh(시간당 소비전력)은 245.4로 계산이 되었다. 물론 로봇이 최고성능을 발휘할 때의 이야기고 이보다는 적게 소모될 것이다. 대략 5시간정도의 구동시간이면 충분할 듯 하였다. 따라서 다음과 같이 전력 분배도를 구성하였다. 배터리는 예상치와 비슷한 제품으로 선정을 하..
2023.03.14
no image
[11] 메카넘휠 로봇의 URDF 파일 만들기
URDF 파일이란? URDF는 Unified Robot Description Format의 줄임말이다. 로봇의 관절과 같은 Joint와 Link들 간의 관계를 정의하고 관성, 재료, 모델파일 등을 포함한다. 로봇을 제작하는 데 있어서 TF를 구성하는데 필수적인 요소이다. Fusion360 URDF export Fusion에서 컴포넌트로 전환 후 로봇의 Rotation와 Rigid 구속을 완료했다면 다음과 같은 화면일 것이다. 이제 Fusion360에서 URDF를 추출해 주는 애드온을 설치해주어야 한다. 애드온 파일은 깃허브에 있으며, "dheena2k2" 님께서 기존 ROS1에서의 Fusion2urdf를 수정하여 ROS2버전에 맞춘 것이라고 한다. ROS1 버전도 테스트해봤으며 정상적으로 작동했다. *R..
2023.03.14