본문 바로가기

기계공학부 시절의 기록/ROS일기47

210404 PC와 아두이노 포트를 연결문제 해결 막연하게 연결하고 ros돌리면 되겠지 생각했는데 오산이었다. 한스텝, 한스텝 시도해보고 해결방법을 찾으며 뚫어야했다. 요 며칠간 공부한 내용을 기록해보자. OS : ubuntu 18.04 ROS버전 : melodic OpenManipulator HW환경 : OpenCR 1.0사용 아래 링크를 중심으로 진행하고 있습니다. emanual.robotis.com/docs/en/platform/openmanipulator_x/quick_start_guide/#quick-start-guide ROBOTIS e-Manual emanual.robotis.com 1. 로봇팔제어방법에는 크게 두가지가 있다. 첫번째, PC중심 제어 PC(ROS)-ARDUINO-OpenManipulator로 내가 하고자 하는 제어방법이다. .. 2021. 4. 4.
rviz, gazebo에서 모델 붕괴 목표) 로보티즈의 Open-Manipulator X를 ROS를 이용해 움직여야 한다. www.youtube.com/watch?v=5c7s4jgB00k&t=3148s 로보티즈의표윤석박사님의강의와 아래의 블로그글을 참고해 잘따라하는 중이다. 43일차 - OpenManipulator 의존성 패키지 설치 및 RViz & Gazebo 테스트 OpenManipulator & MoveIt! 의존성 패키지 설치 https://emanual.robotis.com/docs/en/platform/openmanipulator_x/quick_start_guide/ sudo apt-get install ros-melodic-moveit* ros-melodic-gazebo* ros-melodi.. roomedia.tistory.c.. 2021. 3. 10.
OpenManipulator-X(1) 1. emanual.robotis.com/docs/en/platform/openmanipulator_x/overview/ ROBOTIS e-Manual emanual.robotis.com E메뉴얼을 보며 우분투 18.04 , ROS2로 시도했고 Quick Start Guide의 4.5.1에서 오류로 인해 중단하였다. 2. www.youtube.com/watch?v=5c7s4jgB00k&t=3530s roomedia.tistory.com/entry/43%EC%9D%BC%EC%B0%A8-OpenManipulator-%EC%9D%98%EC%A1%B4%EC%84%B1-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%84%A4%EC%B9%98-%EB%B0%8F-RViz-Gazebo-%ED%85%8C%EC.. 2021. 2. 25.
새로운 node 추가 : subscribe와 client 수행하기 지금까지 총 2개의 노드를 만들었는데 여기에 하나의 노드를 추가로 만들어 다른 2개의 노드로부터 message를 받는 실습을 했다. 새로운 노드를 추가하면 해야할 것이 있다. 1. 패키지 파일 안의 launch 파일에 있는 .launch를 수정해 새로운 노드가 roslaunch를 했을 때 실행되도록 수정한다. 2. 패키지 파일에 있는 CMakeList.txt 혹은 package.xml를 수정한다. (필요한 라이브러리, dependencies를 불러오기 위해?) 3. 최상위 파일에서 catkin_make로 build 한다. 4. 최상위 파일에서 $ source devel/setup.bash $ roslaunch 를 차례로 수행하여 모든 노드를 실행한다. 이렇게 새로운 노드인 look_away의 소스코드를 .. 2020. 8. 18.
간단한 node 작성, 실행해보기 오늘 오후 시간동안 한 것 1. simple_mover 노드 실행하기 2. arm_mover 노드를 실행하여 서비스를 통해 조인트 각도 조절하기 하나의 패키지 안에는 여러노드 그리고 서비스 등 여러 가지 것들이 들어있다. 오늘은 simple_arm이라는 이름의 패키지를 생성하고 그안에 simple_mover 노드와 arm_mover 노드를 만들었다. simple_mover노드는 미리 짜여진 움직임을 수행하는 노드였고 때문에 이 노드를 실행하면 로봇은 하나의 동작을 반복하였다. arm_mover노드는 GoToPosition.srv라는 서비스를 만들어 내가 원하는 대로 로봇움직임을 실행시킬 수 있었다. catkin_ws이름의 최상위 파일 아래로 src(source의 줄임) 파일이 있고 이 곳에 패키지를 생성.. 2020. 8. 16.
200813일기 c++과 ros [c++] -sololearn while, for, do-while 반복문 공부 int main(int argc, char** argv)의 의미, string의 의미, argument(인자)의 의미 공부. 완전히 이해 되지는 않는다. -삼성 코딩대회 참가신청 https://www.codeground.org/ codeground Codeground is a real-time coding website open to those interested in software development and algorithms. www.codeground.org [ROS] - udacity workspace 만들고 package추가하고 node를 쓰는 과정을 공부중 - 책 지난번 읽었을 땐 감이 안오던 내용들이 조금씩 .. 2020. 8. 13.
github에 push하기 이전에 github에서 다른사람의 코드를 보기위해 회원가입을 한적이 있다. 아직 내 파일을 올려본적은 없는데 오늘 올려보았다. 유다시티 첫 프로젝트인 가제보 프로젝트를 올렸다. https://github.com/needs-searcher/gazebo_tutorial needs-searcher/gazebo_tutorial Contribute to needs-searcher/gazebo_tutorial development by creating an account on GitHub. github.com 아래 영상을 참고하였다. https://www.youtube.com/watch?v=kHwkaw3AxtY https://www.youtube.com/watch?v=wTphObvEH9w&t=3s 2020. 8. 7.
[catkin] workspace와 package 8/6 catkin, workspace, package의 역할 일반적으로 프로젝트를 수행할 때, 프로젝트를 담을 파일을 만들고 이 안에서 관련 data들을 저장한다. 마찬가지로, ros를 할 때 프로젝트를 담을 workspace를 만들고 그안에 package를 추가한다. 이 때, 여러 package가 존재하는데 이를 관리하는 것이 catkin 인 것 같다. catkin : a powerful build and management system catkin workspace : 최상위 directory로써 모든 package를 담는다. catkin package : 모든 ros 소프트웨어는 catkin package로써 구성되고 분배된다. workspace와 마찬가지로 그냥 하나의 directory(파일)에.. 2020. 8. 6.
[ROS intro] turtlesim node 생성하고 ros와 소통하기 <ROS commandline 정리> 간단한 turtlesim node를 만들고 이것이 ros안에서 어떻게 작동하는지 살펴본다. node를 만들고 ros에서 어떤 node들이 있고 어떤 topic이 있으며 어떤 message가 전달되는지 알기위한 명령문을 소개한다. [node만들기] 먼저 nodes를 관장하는 rosmaster를 생성한다. $roscore 그리고 새로운 terminal창을 열고 노드를 생성한다. $rosrun (rosmaster와 node들은 모두 각각 다른 터미널 창에서 실행한다. 각 창들이 하나의 노드로서 작동하는듯하다.) [ros와 소통하기] 이 역시 새로운 터미널 창을 열고 실행하여야한다. $rosnode list : 작동하는 모든 node를 파악할 수 있다. $rostopic list : 존재하는 모든 topic을 .. 2020. 8. 6.
[ROS intro] node, rosmaster, topic, message 본래 로봇은 perception -> decision making -> actuate 단계로 이루어진다. ROS에서는 각 단계를 정확히 구분짓기보다 각기 하나의 특정 기능을 하는 nodes로 구성하고 이들의 연결을 통해서 로봇을 만든다. node : 특정 기능을 갖는 unit ex)모터동작, 센서작동 rosmaster : 이들 노드들간의 소통, 처리순서 등을 관리하는 것이 ROSMASTER이다. topic : node들간의 소통 통로로 생각하면 된다. message : topic을 타고 흐르는 node간의 소통 매개체 먼저 rosmaster가 있고 node들이 있으며 이들 사이의 통로로 topic이 있고 이 topic을 message가 흐른다! 2020. 8. 6.
udacity - robotics software engineer(20.8.01~) 유다시티 나노디그리 로보틱스 소프트웨어 엔지니어를 시작했다. 한달에 28만원이다. (간단한 설문지로 40%할인 받기) ROS를 이용해 내방에서 로봇을 자율주행시키는 것을 상상하며 큰마음먹고 신청했다. 지금 gazebo의 이용방법을 배우고 있는데 C++을 이용한 프로그래밍이 주를 이루고 있어 C++도 공부하고 있다. 아래의 링크는 유다시티에서 알려준 것인데 매우 좋다. 폰으로도 매우 쉽게 할 수 있어 대중교통 중에 하면 시간이 훅간다. https://www.sololearn.com/Play/CPlusPlus Welcome | SoloLearn: Learn to code for FREE! www.sololearn.com 이 강의의 매우 좋은점은 바로바로 질문을 전문가에게 질문할 수 있고 이에 6시간 안으로 .. 2020. 8. 3.