전체 글69 SAJOGI M2: 부품 LIST 2021년 가을 시작했던 프로젝트. 기존 Raspberry Pi OS에서 진행했으나 Ubuntu Core 기반으로 혼자 처음부터 다시 제작하고자 한다. 이전에는 직진 보행만 성공했었다. 이번 프로젝트에서는 ROS 기반으로 시스템을 구현하고 카메라, LiDAR 센서를 적용한다. 필요한 부품 List이다. 제어부 품명 수량(ea) 단가(won/ea) 비고 Raspberry Pi4 4Gb 1 92,400 원래 Jetson Nano를 쓰려 했으나 국내 재고가 없어 파이로 변경 구동부 품명 수량(ea) 단가(won/ea) 비고 PCA9685 1 22,770 100μF per motor DM-CLS400MD 12 61,600 tower996 토크 이슈로 고출력으로 변경 - 센서부 품명 수량(ea) 단가(won/ea.. 2022. 10. 7. 이론 : Orientation in 3D Space 3차원 공간 상에서 로봇의 orientation, 특히 rotation을 나타내는 represenstation 두 가지를 정리한다. Euler Quarternion Euler Rotation Sequence 3축 환경에서 Euler rotation은 2개의 축에 대한 불연속적인 회전으로 모든 회전을 표현한다(repetitive, but not consecutive rotations around two axes). 예를 들어 X축에 대해 α, Z축에 대해 β, 다시 X축에 대해 γ만큼 회적을 적용하면 3축 모두의 회전이 일어난 것과 유사한 환경을 볼 수 있다는 컨셉이다. 혹은, 3차원 상에서의 회전은 공간의 어느 정점을 지나는 특정 축에 대한 하나의 회전으로 표현할 수도 있다. 이 경우 v 가 회전한 벡터.. 2022. 10. 6. Mapping with hector_slam : Troubleshooting lookupTransform base_link to laser_frame timed out. Could not transform laser scan into base_frame. base_link를 laser_frame으로 바꾸는 부분이 문제라는데 해당 부분을 찾아서 고쳐야겠다. 위 두 launch file을 실행했을 때 rqt_graph를 찍어보면 다음과 같은 node-topic 구조를 볼 수 있다. 아마 `~/ydlidar_ws/src/hector_slam/hector_mapping/launch/mapping_default.launch` 에서 해준 변경사항의 이슈일 것으로 판단된다. 날아가는 frame의 이름이 잘못되었을 것이라 판단되어 view_frame 기능을 이용해 확인한다. Ubuntu20.0.. 2022. 10. 4. Turtlebot3 : Camera Imaging 이전 포스트에서 카메라를 작동시켰다. 이번에는 Single Board Computer(RPi)의 카메라 이미지를 ROS를 이용하여 제어 PC에서 확인해본다. SBC Configuration : Raspberry Pi 4B 4Gb(8Gb는 Ubuntu server가 불안정하다) Ubuntu Server 20.04 + ROS Noetic Ninjemys PC Configuration : Samsung 9 always 900X5N Ubuntu Desktop 20.04 + ROS Noetic Ninjemys(on Orico portable SSD) 아래 ROBOTIS 사의 eManual을 따른다. ROBOTIS e-Manual ROBOTIS e-Manual emanual.robotis.com Raspberry .. 2022. 10. 3. 이론 : 2D & 3D Frame Transformation 로봇의 위치와 바라보는 방향을 합쳐서 Pose라고 한다. Pose는 position과 orientation으로 구성되며 기준이 되는 reference frame을 필요로 한다. 가령 world frame(F{w})을 상에 아래와 같은 로봇이 위치한다면 이는 F{w}의 (0,0)을 기준으로 그 위치와 orientation을 설명할 수 있다. 실제 로봇의 경우 센서를 통해 감지되는 물체를 판단할 때 스스로를 새로운 frame(F{R})의 중심으로 해당 물체의 위치를 판단한다. 이 때 global frame 상에서의 물체의 위치는 robot frame에서의 좌표와는 다를 것이다. 2D 환경에서 고정된 global frame을 기준으로 새로운 frame이 발생할 때 이동한 frame 은 Translation과 .. 2022. 10. 1. Turtlebot3 Camera + OpenCV installation 터틀봇 주행 시 차선 확인 및 표지판 인식을 구현하기 위해 카메라를 마운트해야 한다. 환경은 아래와 같다. - Raspberry Pi 4B 4Gb(8Gb는 Ubuntu server가 불안정하다) - Ubuntu Server 20.04 + ROS Noetic Ninjemys - YR-019 광각 카메라(추정) 일단 카메라 인식시키는 것부터 시작한다. Ubuntu 18.04 이미지의 경우 카메라 자체가 인식이 안된다. 이 경우 로보티즈에서 제공한 이미지 내부에 그래픽 커널이 없는 듯 했다. 리본 케이블로 카메라를 연결하고 인식 여부부터 확인한다. ssh로 접근해서 아래 명령으로 디바이스 인식을 확인할 수 있다. ls /dev/ | grep video video0이 잡히면 정상이다. 이제 OpenCV를 사용하.. 2022. 9. 30. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 반응형