작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI LAB) 한양대학교 로봇공학과 홍윤기 학부생 (CAI LAB) 안녕하세요~~ 딥러닝 실습과 관련된 글은 정말 오랜만에 작성을 해보네요 ㅎㅎ 작년의 저는 Computer Vision 분야를 연구했다면, 올해의 저는 Reinforcement Learning 분야를 연구하고 있습니다!! 그래서 앞으로는 RL과 관련된 논문, 실습(github 코드) 게시물을 많이 많이 업로드하겠습니다~!! 강화학습 환경으로 OpenAI-GYM이 엄청 유명한데요, 그 중 Atari 2600 게임을 사용할 수 있는 gym 환경을 생성할 수 있는 환경 셋팅을 진행해보겠습니다! 저희는 Ubnutu보다 Window 환경을 선호해서, Window 10에서 설정하는 방법을 소..
간단한 Null space control 문제를 풀어보자. Task space가 2차원으로 주어진 경우에서 3자유도를 가진 로봇을 움직일 때를 생각해보자. 로봇팔의 자유도보다 Task space가 작기 때문에 redundant라고 볼 수 있으며, 여자유도가 남아 Null space control이 가능해진다. 간단하게 1번,2번 조인트를 최소로 움직이도록 하는 Target function을 정해보자. 앞선 글에서 말한 Target function이 추가된 pseudo inverse 식은 아래와 같아진다. 위 식을 풀어서 로봇 팔을 움직이게 되면 Target function을 optimal하게 풀게 되며, 이는 일반적인 pseudo inverse kinematic을 풀어서 움직인 로봇 팔과 비교했을 때 확..
작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI LAB) 정말 오랜만에!!! 작성하는 논문 리뷰입니다!ㅎㅎ 올해 저는 6축 협동로봇 UR5e에 강화학습을 적용하는 연구를 진행하고 있습니다! 첫 강화학습 연구다보니 감을 익혀보기 위해 action space의 차원을 간략화 시켜서, 앤드이펙터의 x, y 좌표, 즉 2차원의 action space를 가지고 DDPG 모델을 진행하고 있습니다ㅎㅎ 그런데... 학습을 진행할수록 x, y 좌표가 한 방향으로 증가 혹은 감소하는, 즉 한 point로 수렴해서 갇히는 문제가 발생하고 있습니다ㅜㅜ 그래서 DDPG의 한계점 및 해결책을 파악하고자, 이번 논문을 리뷰하고자 합니다! 그럼 시작하겠습니다~!! :) 1. 참고 링크 (원문) : https://ar..
Null space and Redundant 일반적으로 Redundant robot 이라고 하면 Task space에 비해 여자유도를 가진 로봇을 말한다. 쉽게 생각했을 때 6자유도가 아닌 7자유도 로봇 팔이라고 볼 수 있겠지만 이것은 틀린 표현이다. Task space와 비교했을 때 robot의 자유도가 큰 경우를 redundant한 상황이다 라고 표현하는 것이 맞다. 일반적으로 로봇 팔의 Task가 6자유도라고 생각할 수 있지만, 많은 경우 (단순한 페인팅, 그라인딩, peg in hole 등)들이 5자유도(x,y,z,r,p)만 필요하다. Optimization for redundant robot 여자유도가 있는 경우에는 torque, joint limits, manipulability, obstac..
PX4 Gazebo시뮬레이션 환경 구성 알고리즘 테스트할때마다 밖에 나가서하기 귀찮기도하고 마다할 이유가 없어서 구성하고 알고리즘 테스트용으로 사용하시면 좋을듯 합니다. 저도 검색하면서 자료찾아가며 테스트를 진행했는데요. 옛날 펌웨어기준으로 작성된 자료들이 많았습니다. Jetson이나 임베디드 보드 환경에서는 어떻게 될지 잘 모르겠습니다만(Jetson으로 최신버전 구버전 다 테스트해보았지만 결국 막혔습니다.) desktop or laptop 환경에서는 잘 되었습니다. 결국 아키텍쳐 호환문제가 아닐까 생각이드네요. ros_melodic으로 진행을 했고 설치가 되었다는 가정하에 쓰겠습니다. PX4 시뮬레이션 통신환경 1.mavros 설치 sudo apt-get update sudo apt-get instal..
임피던스 제어가 원시적이어도 간단한 임피던스 컨트롤은 안정성 문제를 해결하는 데 크게 도움이 된다. 또한 내재한 로봇의 임피던스가 줄어들 경우 컨트롤러의 성능 또한 좋아진다. 임피던스 컨트롤 적용은 몇몇 환경에서 잘 작동하지만 분명히 한계점은 존재한다. discrete-time 컨트롤러 구현과 모델링 되지 않은 actuator와 sensor들의 관계 같은 요소들이 컨트롤러의임피던스를 능동적으로 만든다. 이런 복잡한 기하학적 구조에서 안정성은 보장될 수 없다. 하지만 임피던스 컨트롤은 back-drivable design과 같이 사용 됐을 때 성공적인 성능을 보여주었다. https://www.youtube.com/watch?v=IxRg7iSvkkc Back Drivable에 대한 참고자료 Dircet Im..
최근 인텔이 리얼센스 사업을 접는다는 이야기가 나왔다. 개인적으로 Perception에 흥미가 있어서 (실력은 없다.) 포인트 클라우드를 공부하던 나에게는 아쉬운 소식이었고 그렇다면 리얼센스 대신 사용할 수 있는 카메라가 뭐가 있는지 찾던 중 페북에서 표박사님이 걸어둔 링크를 보게 됐다. https://discourse.ros.org/t/intel-cancelling-its-realsense-business-alternatives/21881 Intel Cancelling its Realsense business: Alternatives? Today it was let out that Intel is closing up shop in supporting robotics sensing with the Rea..
ROS 패키지, 스택은 어떻게 구조화하는 것이 좋을까? 요약 mobilerobot 패키지를 만든다면, mobilerobot_ros (repo) mobilerobot (metapackage) mobilerobot_bringup mobilerobot_description mobilerobot__naviagation mobilerobot__slam mobilerobot__teleop mobilerobot_simulation (repo) mobilerobot_simlation (metapackage) mobilerobot_gazebo mobilerobot_msgs (repo) 이런 식으로 작성한다. -끝- 도입 로봇 구동 ROS 스택(패키지 묶음)을 제작할 때, 항상 고민인 부분이 ROS 패키지의 디렉터리들을 ..