Readthedocs_Sphinx
본 post는 git repository형태의 프로젝트 문서인 quadruped-robot-docs를 readthedocs로 빌드하는 과정을 정리하기 위해 작성되었다. readthedocs는 Sphinx(of MkDocs)를 사용하여 빌드를 수행할 수 있다. 따라서 Sphinx가 사용하는 conf.py를 이용해서 문서 빌드의 세부 사항을 결정한다. ...
본 post는 git repository형태의 프로젝트 문서인 quadruped-robot-docs를 readthedocs로 빌드하는 과정을 정리하기 위해 작성되었다. readthedocs는 Sphinx(of MkDocs)를 사용하여 빌드를 수행할 수 있다. 따라서 Sphinx가 사용하는 conf.py를 이용해서 문서 빌드의 세부 사항을 결정한다. ...
roslaunch aidin_arm gazebo.launch rosrun aidin_arm arm_command
public key(대칭키) and private key(공개키, 비대칭키) 대칭키 암호화와 복호화에 사용하는 키가 동일한 방식 비대칭키 암호화에 사용하는 키(public key)와 복호화에 사용하는 키(private key)가 다른 방식 public key는 공개적으로 배포가 가능. ssh? 원격지의 셸에 접속하기 위해 사용되는 네트워...
본 post는 aidin_arm package를 이용할 때, gazebo simulator상에 load된 모델을 제어하는데 필요한 제반사항을 이해하기 위해 작성되었다. gazebo classic gz classic tutorial1 gz classic tutorial2 gz classic tutorial source gz classic source ...
ROS1은 shell environment를 사용하는 combining spaces의 개념에 의존하기 때문에, shell environment가 제대로 setup되는 것이 중요하다. 다음 명령으로 ROS_PACKAGE_PATH, ROS_ROOT 등 유용한 변수들을 확인할 수 있다. printenv | grep ROS ws의 src에서 catkin_...
이전포스트: 1_ros1_in_m1_mac 이번 포스팅에서는 pre build된 conda-forge를 사용해서 native한 m1 macos 환경에서 다시 noetic설치를 시도해볼 것이다. conda-forge추천 robostack_pkg gazebo docs rviz, gazebo같은 gpu context가 필요한 visualisation과 ...
내 환경: m1, macos 13.3 목표: docker내에서 noetic실행 (패키지 실행시 host display에 출력까지) 결론 docker내에서 x11 server에 TCP socket통신까지는 성공했지만, turtlesim을 실행할 때 segmentation fault가 떳고, docker-for-mac이 m1 칩(arm64)을 지원하는...
개요 RL은 policy를 따르는 agent가 environment과 상호작용하면서 최대의 누적 reward를 얻는 것이 목표이다. agent는 environment에 대한 state를 갖고, policy에 기반하여 action하며, action의 결과로 reward를 받고 new state로 transition한다. 그러나 teaching proc...
개요 본 포스팅은 “Intro to Optimization in Deep Learning: Busting the Myth About Batch Normalization”에 대한 정리입니다. 결론 논문 How Does Batch Normalization Help Optimization?(2018)에 따르면, BN은 ICS를 해결해주지않는다. (BN이...
coordinate_free_algebra
로보틱스에서의 3차원에서의 회전행렬은 3d rotation group SO(3)의 원소이며, SO(3)는 Lie group이다. 회전을 다루려면, Lie algebra를 사용해야한다. group, ring, field What is Lie group/algebra? Lie group Lie algebra 모든 Lie group에 기본 선형 공간...
ml_refined교재를 공부하면서 Lipschitz parameter(=Lipschitz constant)가 2번(ex1, ex2)이나 나왔다. 중요한 개념 같아서 정리해본다. 결론 Lipschitz constant는 미분값의 상한을 의미한다. Rayleigh quotient는 상한/하한을 통해 symmetric Hermitian mat...
feature selection을 위해 cross validation을 사용할 때, boosting, regularization을 사용하여 early stopping할 수 있다. 통상 사용되는 universial approximator의 종류에 따라, 아래와 같이 model의 복잡도를 결정(cross validation 중 early stopping...
RBF(radial basis function) radial function은 property \({\textstyle \varphi (\mathbf {x} )={\hat {\varphi }}(\left\|\mathbf {x} \right\|)}\)를 만족하는 어떤 function \(𝜑{\textstyle \varphi }\)이다. 즉 input ...
batch 전체 training set을 말할 때도 있지만 엄밀하게는 다음과 같다. 모델을 학습할 때 한 iteration당 사용되는 example set. 본 post에서 batch는 통상 mini batch라고 하는 batch size를 상정한다. batch를 사용하는 이유 memory access 측면에서 효율적이다....
메타휴리스틱 알고리즘 (Metaheuristic Algorithms) 메타휴리스틱 알고리즘은 복잡한 최적화 문제를 해결하기 위해 자주 사용되는 방법입니다. K-means 클러스터링에도 적용할 수 있으며, 대표적인 알고리즘으로는 유전자 알고리즘(GA), 시뮬레이티드 어닐링(SA), 입자 군집 최적화(PSO) 등이 있습니다. 유전자 알고리즘 (Gene...
참고문서 dynamic programming
참고문서에 다음과 같은 내용을 참조하자. 벡터, 행렬, 스칼라에 대한 경우 별 미분 방법 실제 계산 및 공식 테이블 참고문서 다크프로그래머 - 벡터 미분과 행렬 미분
왠만한 sass는 관리자도구로 태그 id찾아서 변경해주면 된다. 특별한 변경이 필요한 경우, 다른 블로그를 참고하고, jekyll, liquid, js를 공부해서 구현하도록하자. jekyll docs 변경이 필요한 경우 default.html의 전반적인 layout변경 블로그 전체 배경, 특정 sidebar-nav-item에 특정 내용...