Python84 AttributeError: module 'pcl' has no attribute 'PointCloud' 위 문제는 자율주행차량을 돌리기 위해 ros의 rviz상에서 rosbag녹화딴거를 재생하는 시점에서 3차원데이터를 가공하기 위해 pcl라이브러리를 사용하기 위해 설치를 진행했으나, 계속해서 설치오류가 발생하여 이에 대해 기록한 부분이다. 분명 아래 절차를 통해 설치를 진행했다.sudo apt updatesudo apt install python3-pcl이렇게 설치가 완료된 후, PCL을 사용하여 포인트 클라우드 데이터의 처리를 진행했다.하지만 기존 오류가 계속 떠서 다른 방식으로 접근해보았다. 1. 소스 코드 다운로드`pcl.PointCloud` 메소드를 사용하기 위해서는 `v2.0` 버전의 pcl이 필요하다는 것을 알았다. 그래서 pip로 직접 해당 버전을 받는 것이 아닌, github에서 라이브러리의.. TroubleShooting 2024. 8. 3. 음수부호 표기가 잘 안되면? 이렇게 해결하자! 계측공학 문제를 파이썬 코드로 접근해서 풀려고 하다가 다음과 같은 문제가 생겼다. 일단 코드를 보면 이렇다. 이런 오류는 처음본다;ㄷㄷ;;찾아보니 Matplotlib이라는 패키지는 기본적으로 '-'(마이너스 부호)에 대한 표기에 있어서 제대로 출력되지 않는 고질적인 문제가 있다고 한다. 그래서 아래와 같은 오류를 종종 출력한다고 한다.UserWarning: Glyph 8722 (\N{MINUS SIGN}) missing from current font. 이럴 때에는 여느때처럼 matplotlib.pyplot를 임포트하고 나서 아래 코드를 추가하면 된다고 한다.plt.rcParams['axes.unicode_minus'] = False 나는 import구문 바로 아래에 아래와 같이 코드를 넣어주었다... matplolib/기본&입문 2024. 5. 18. CLI를 위한 간편하고 직관적인 도구, docopt에 대해 알아보자! 일단 제가 docopt에 대해 알아보게 된 계기는 동키카 프로젝트를 진행하면서 수집한 데이터를 기반으로 학습을 시키기 위해 train.py를 실행해야 되서 그 안에 뭐가 있나 들어가봤었는데 위에서 말한 docopt 모듈이 있었습니다. from docopt import docopt import donkeycar as dk from donkeycar.pipeline.training import train def main(): args = docopt(__doc__) cfg = dk.load_config() tubs = args['--tubs'] model = args['--model'] model_type = args['--type'] comment = args['--comment'] train(cfg, t.. 라이브러리&Module/깃허브 라이브러리 2024. 2. 9. 시스템의 정보를 알려면? - platform platform은 시스템의 정보를 확인할 때 사용하는 모듈이다. 내가 동키카 프로젝트를 진행하다가 config.py파일의 코드리뷰를 준비할때 의문이 든 코드가 있었다. 이 부분이다. import platform ... DONKEY_GYM = True # DONKEY_SIM_PATH = "/home/tkramer/projects/sdsandbox/sdsim/build/DonkeySimLinux/donkey_sim.x86_64" when racing on virtual-race-league use "remote", or user "remote" when you want to start the sim manually first. if (platform.system() == 'Windows'): #dspath .. 라이브러리&Module/표준라이브러리 2024. 2. 9. '넘파이'로 연립방정식과 고차방정식을 해결해보자! [자동제어] 수업을 들을때 연립방정식과 고차방정식을 해결해야 하는 경우가 종종 있습니다. 보통 상태공간에서 문제를 해결할때 연린방정식을, 그리고 전달함수에서 특성방정식의 근을 구할때 고차방정식을 사용합니다. 따라서 이번에는 파이썬코드를 통해 연립방정식 해법과 고차방정식 해법에 대해 알아보도록 하겠습니다. x와y에 대한 연립방정식 해결하기 문제) \begin{align*} 2x+y &= 8\\ 3x-2y &= -5\\ \end{align*} 위 연립방정식에서 x와 y의 값을 구하라. 이를 파이썬에서 넘파이를 써서 해결하기 위해 우선 행렬식 형태로 바꿔야 한다. $$A=\begin{bmatrix} 0 & 1 & 2\\ 3 & 4 & 5\\ 6 & 7 & 8 \end{bmatrix} $$ $ A = \begi.. 자료구조/numpy 자료구조 2023. 11. 26. 큰수의 법칙을 이해해보자! 큰수의 법칙?경험적 확률과 수학적 확률 사이의 관계를 나타내는 법칙, 표본집단의 크기가 커지면 그 표본평균이 모평균에 가까워짐을 의미.따라서 취합하는 표본의 수가 많아질수록 통계적 정확도는 상승주사위를 돌린다고 가정해보자.각 사건의 확률이 동일한 일반적인 주사위가 있다고 해보자. 이 주사위를 던질 경우 각각의 숫자가 나올 확률은 1/6이다.이를 백분율로 나타내보면, 16.67%이다.따라서 주사위를 6번 던진다면 모든 숫자가 1번씩 나와야 하는개 대략적인 논리이다.하지만 천운?이 따라서, 한평생 쓸 운을 모두 끌어다가 써서 20번 연속으로 1이 나왔다고 해보자.그럼에도 불구하고 총 시행횟수가 늘어나면 어쩔수없이 다른 숫자들이 나올 확률이 커져서 16.67%에 수렴한다는 것이 통계학 세계에서 통용되는 논리이.. A.I(인공지능)/Datascience 2023. 10. 22. RuntimeWarning: divide by zero encountered in scalar divide M[n, m] = num / den 해결방법 아래 코드를 실행했을때, 정상적으로 3d_plot이 나오기는 했지만, '런타임워닝'이 떴다. import numpy as np import matplotlib.pyplot as plt B = [1, -20] A = [1, 0, 100] S = np.zeros((50, 50), dtype=complex) for n in range(50): for m in range(50): S[n, m] = (n - 25) + 1j * (m - 25) M = np.zeros((50, 50), dtype=complex) for n in range(50): for m in range(50): s = S[n, m] num = B[0] * s + B[1] den = A[0] * s**2 + A[1] * s**1 + A[2] M[.. TroubleShooting 2023. 10. 20. 'figsize'라는 속성값을 써서 크기 조정하고 타이틀 겹침 문제를 해결하기 다음과 같이 삼각함수와 역삼각함수를 플롯에 도식화하는 코드와 결과가 있다. 코드> import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 200) x2 = np.linspace(-1, 1, 200) fig, axes = plt.subplots(3,2) #2행 2열 axes[0][0].plot(x, np.sin(x)) axes[0][0].set_title('Sine_func()') axes[0][1].plot(x2, np.arcsin(x2)) axes[0][1].set_title('ArcSine_func()') axes[1][0].plot(x, np.cos(x)) axes[1][0].set_title('Cosine_.. matplolib/기본&입문 2023. 10. 10. RuntimeWarning: invalid value encountered in arcsin axes[1][1].plot(x, np.arcsin(x)) 해결방법 삼각함수인 sin() / cos() / tan() 에 대해 다음과 역삼각함수로 표현하는 파이썬 코드를 짜보았다. 코드> import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 200) fig, axes = plt.subplots(3,2, figsize=(8,12)) #2행 2열 axes[0][0].plot(x, np.sin(x)) axes[0][0].set_title('Sine_func()') axes[0][1].plot(x, np.arcsin(x)) axes[0][1].set_title('ArcSine_func()') axes[1][0].plot(x, np.cos(x)) axes[1][0].set_title('C.. TroubleShooting 2023. 10. 10. TypeError: FigureBase.gca() got an unexpected keyword argument 'projection' 해결방법 아래 링크에서 matplotlib이라는 모듈을 써서 3차원 플롯을 그리는 법을 알게 되었다. http://www.gisdeveloper.co.kr/?p=7353 파이썬의 matplotlib 노트 – GIS Developer 파이썬의 matplotlib는 수치 데이터를 그래프로 효과적으로 표시해주는 API입니다. 이에 대해 간단한 활용 예시에 대한 코드를 기록해 둡니다. import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 2, 3, 4, 5] www.gisdeveloper.co.kr 위 링크에 따르면 코드와 그 결과는 다음과 같았다. 코드> import numpy as np from mpl_toolkits.mplot3d import Axes3D imp.. TroubleShooting 2023. 10. 9. yfinance를 이용하여 애플주식에 대한 차트를 그려보자! 일단 라이브러리 두개를 설치해야 한다. pip install matplotlib yfinance matplotlib: 차트그릴때 쓰는 용도 yfinance: 주식 데이터 가져올때 쓰는 용도 {yfinance로 반환된 결과는 dataframe의 형태를 띄고 있습니다. 데이터프레임과 관련된함수를 pandas에서 다양하게 지원하고 있기 때문에, yfinance를 자주 쓰게될 경우, 이에 맞는 데이터처리를 위해 pandas에 지원하는 함수도 어느정도 알고 있으면 도움이 될 것 같습니다:) } 코드> import yfinance as yf import matplotlib.pyplot as plt plt.rc('font', family='Malgun Gothic') #주식 데이터를 다운로드합니다. 예시로 애플(AA.. matplolib/함수그래프 2023. 9. 8. matplotlib에서 한글폰트가 깨지는 문제가 발생했을때, 한줄만 추가하자! 위와 같이 legend[범례]를 보면 사각형 모양이 뜨면서 깨져있는 것을 확인할 수 있다. 이는 해당 폰트를 찾지 못해서 발생하는 문제인데, 이를 해결하기 위해 다음 코드 한줄만 추가해주면 된다. plt.rc('font', family='Malgun Gothic') 그리고 matplotlib라이브러리안에 어떤 폰트들이 기본으로 내장되어 있는지, 즉 내장폰트들의 리스트를 확인해보고 싶다면 다음 코드를 복붙하여 돌려보면된다. import matplotlib.pyplot as plt # 가능한 font list 확인 import matplotlib.font_manager as fm f = [f.name for f in fm.fontManager.ttflist] print(f) # 확인 이후 plt.rc('fo.. matplolib/기본&입문 2023. 9. 7. 이전 1 2 3 4 5 6 7 다음