스터디 노트
article thumbnail
ydlidar python code
maengkyun/Robotics 2021. 7. 8. 14:30

두번째 버전 수정했다 나름 괜찮게 나오는거 같고? 대충 형상에 맞게 나온다. import serial import serial.tools.list_ports as sp import math import numpy as np import struct from matplotlib import pyplot as plt import time class LCcali: lx=[] ly=[] def connect(comport,baudrate): open_com=serial.Serial(comport,baudrate) open_com.isOpen() return open_com def scan(serial): open_com=serial value=bytearray([int('a5',16),int('60',16)])..

article thumbnail
ROS ydlidar
maengkyun/Robotics 2021. 7. 8. 14:28

python으로 그냥 직접 짰을때는 sample rate 속도를 고려 안해줘서 그런것인지 형상이 제대로 찍히지 않음. C++로 짰을때도 같은 문제가 있어서 sampling 하는 함수의 속도를 높였더니 제대로 찍혔었음. sample rate parameter를 맞춰줘야 하는것은 ros ydlidar 설치하면서 알았음. https://github.com/YDLIDAR/ydlidar_ros YDLIDAR/ydlidar_ros ydlidar ros package. Contribute to YDLIDAR/ydlidar_ros development by creating an account on GitHub. github.com 해당 git에서 ydlidar 제품 선택하고 다운받으면 기본 세팅은 다 맞춰져있음. ca..

ros package build
maengkyun/Robotics 2021. 7. 7. 14:35

make workspace mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make sudo sh -c 'echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc' package build $ cd ~/catkin_ws/src $ git clone ~~ $ cd ../ $ catkin_make image_width: 1280 image_height: 960 camera_name: camera camera_matrix: rows: 3 cols: 3 data: [1303.054674930781, 0, 608.6776302586392, 0, 1288.12048606189, 477.9716766287648, 0, 0, 1] disto..

pseudo inverse, svd
maengkyun/Robotics 2021. 7. 6. 11:18

https://bskyvision.com/256 [선형대수학] 의사역행렬(Pseudo inverse) 기본적으로 역행렬은 행렬이 정방행렬일 때만 구할 수 있다. 따라서 행렬이 직사각형 행렬이면 역행렬을 구할 수 없다. 이때는 대신 의사역행렬이라는 것을 구한다. ▶ 의사역행렬(pseudo inverse) bskyvision.com https://bskyvision.com/251 [선형대수학] 직사각형 행렬의 대각화: 특이값 분해(Singular value decomposition, SVD) 선형대수학에서 고유값과 고유벡터를 구하는 것은 매우 중요한 일이다. 그런데 고유값과 고유벡터는 정방행렬일때만 가능하다. 행렬이 직사각형 모양일 때는 고유값을 구하는 것이 불가능하다 bskyvision.com

article thumbnail
Jetson Xavier NX's GPIO setting
maengkyun/Robotics 2021. 6. 30. 21:39

Jetson's series have 40 PIN GPIO header These GPIOs can be controlled for digital input and output using Python library provided through Jetson GPIO package $sudo apt install python3-pip $sudo pip3 install Jetson.GPIO import Jetson.GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(33,GPIO.OUT) GPIO.setmode(33,GPIO.HIGH) GPIO.setmode(33,GPIO.LOW) If error is generated $sudo groupadd -f -r gpio $sudo userm..