ros what the f…? http://wiki.ros.org/roswtf roswtf이란 사용중인 ROS 시스템의 문제점을 점검하는 툴이다. 사용법 1. 그냥 실행 $ roswtf 을 입력하게되면 현재 shell이 있는 위치의 package와 실행중인 roscore의 상태를 점검한다. 2. launch file을 체크.$ roswtf yourfile.launch roswtf 으로 launch파일을 실행하게되면 파일이 실행되었을 때 생길 수 있는 모든 잠재적인 이슈를 확인함. 3. 옵션 --all : ROS_PACKAGE_PATH에 존재하는 모든 package들을 모두 점검함. --no-plugins : roswtf의 플러그인을 사용 안함. --offline : 오프라인 테스트만 진행함. 정확히 ro..
ROS bags란 무엇인가? 실행중인 ROS의 주고받는 data들을 record 한뒤 다시 play 할 수 있다.즉 ) publisher가 발행한 값을 하나의 subscriber로서 다 인식해서 recording을 기록한뒤. play시 자신이 기록한 topic으로 같은 타이밍에 data를 publish하는 방식이다. 기본 예제인 turtlesim을 이용해서 테스트 했을 때, 잘나왔다. 직접 사용해보진 않았지만 일단 정리해본다. 우선 rosbag의 명령어들을 알아보자.check : 현재 세팅에서 rosbag을 play 가능한지 테스트한다. 내생각에는 msg의 형식이 바뀌거나 값이 바뀌게되면 record된 기록이 playable하지 않아져서 check를 하면 플레이가 불가능 하다고 뜰것같다. 라고 생각하였으..
ROS-Concepts에서 보면 알 수 있듯. 참고 : http://blog.rakjoon.net/entry/ROS-Concepts service와 message는 큰 차이점이 있다. 물론 message를 2개 잘섞어서 서버측에서 메시지를 받은후 내가 메시지를 다시 보내는 식으로 설정해 놓으면 결국 service와 같게 만들 수 있다.그렇다면 왜 service를 만든 것인가 ? 내생각에는.첫째로는 일반적으로 메시지를 보내고나서 response를 받아야 할 경우가 생각보다 굉장히 많고, 둘째로는 service를 이용하면 순차적으로 일을 처리하여 sync를 맞출 수 있기 때문이라고 생각한다. 메시지를 다닥다닥 보내고 ros::spin() 으로 대기타면서 메시지가 다닥다닥 돌아오기를 계속 기다리는 것 보다.하..
문제 : ros/ros.h 를 인식하지 못하는 상황 발생 해결 : CMakeLists.txt 파일에서 include_directories 를 안함. include_directories( ${catkin_INCLUDE_DIRS} ) 추가하니 해결됨.문제 : pose.msg파일을 추가하고나서 catkin_make시 빌드 에러가남. 해결 : msg파일에 Header 같은 경우 그냥 쓰면안됨 Header header 라고 쓰면 빌드에러 띄움. 빌드 로그 찾아봐도 무슨에러인지 잘모르겠음. (빌드 로그 분석하는 방법 좀 터득해야할 듯) 해결방법은 => std_msgs/Header header 로 정의해야함. 기본적인 int64 같은 형태가 아니라 struct 타입이라면 전체적으로 다 적어줘야함. (Pose (X),..
소스를 보다보니 launch 파일에 parameter를 넣는경우를 봤다. launch 파일 정보에 parameter가 있는것은 확인했는데. http://blog.rakjoon.net/entry/ROS-launch-file 전체적으로 파라미터를 어떤식으로 다루는지 알고 싶어졌다. 내가 파라미터가 필요한곳은 c++ 파일에서이다. 그렇다면 C++ 파일에서 전달받은 파라미터를 어떻게 사용할 것인가? 참고 : http://wiki.ros.org/roscpp/Overview/Parameter%20Server 위를 읽어보면 Param_Server를 C++에서 접근하는 방법은 크게 2가지 있다. handle 버젼 => NodeHandel을 통해서 접근하는 방법.bare 버젼 => ros::param을 통해 바로 접근하..
기본적으로 제공하는 msg 파일을 이용하지말고, 내가 원하는 msg파일을 만들어 publish 하고 subscribe하고 싶어졌다. 그래서 어떠한 설정을 해야할지 모르겠어서 이것저것 찾아서 해봤다.일단 msg 파일 만들기 http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv 패키지에 msg폴더를 만듬. 그안에 원하는 이름으로 .msg 파일을 만든다..그리고 내부에 원하는 양식을 적는다. (기본적인 양식은 여기 있다 http://wiki.ros.org/msg )ex) int64 numstring k (팁 : 내가 msg를 만들고 잘 연결하면 내가만든 msg형식을 다른 msg의 양식으로 쓸수 있다.http://answers.ros.org/question/60614/ho..
둘다 CMakeLists.txt에서 사용하는데 둘의 차이점에 대해서 찾아보았다. 참고 : http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/ find_package 는 빌드에 쓰일 모든 패키지를 가져오는것이고, 이는 CMakeLists.txt 안에 있는 다른 녀석들 like add_message_files, generate_messages 등에 쓰인다. 또한 catkin_package 안에도 쓰이는데. catkin이 빌드를 할경우 필요한 패키지들을 명시해 주는것이다. 따라서 find_package는 패키지를 다 찾아오는것이고 catkin_package는 catkin이 빌드할때 필요한 패키지 (find_package로 가..
이름.launch 파일로 만들어야하고,실행할때는 roslaunch 이름.launch로 실행해야함. launch의 장점이라 하면 여러개의 노드를 원하는 방식(?)으로 그룹을 묶거나 여러개를 실행하고 roscore도 같이 실행되는.. 딱 여러개 노드를 만들고 여러개의 터미널을 켜서 실행 시킬 필요 없이 launch파일 하나만 실행해도 원하는 메커니즘이 실행이 가능하도록 하는 파일이라고 보면된다.xml Layout 형식을 취하고있어서 맨 겉에 로 묶어줘야함. ( 쓰는것 처럼 ㅎㅎ)노드를 실행한다.http://wiki.ros.org/roslaunch/XML/node 디테일한 정보는 여기주로사용 하는것 pkg = “패키지명”type = “ 노드의 타입” (executable의 이름으로)name = “설정한 노드 ..
Required CMake Version (cmake_minimum_required) : 실행될 cmake의 최소버전 Package Name (project()) : 실행할 패키지의 이름 package.xml에 있는 이름 그대로씀.Find other CMake/Catkin packages needed for build (find_package()) : build 할때 필요한 다른 package들을 가지고옴.다른 package들의 CMake정보를 받아와서 그 패키지들도 실행 시킬 수 있는 환경을 만듬.catkin을 사용한다면 find_package(catkin REQUIRED COMPONENTS nodelet) catkin이 무조건 있어야됨. Message/Service/Action Generators(a..
ROS 의 package.xml은 manifest역활을 한다. 전체적인 패키지의 이름 제작자 라이센스 의존성을 적어놓았다. : 패키지의 이름. : 패키지의 버젼. : 패키지에 대한 설명. : 관리자에 대한 정보 이메일등. : 프로젝트 자체에 대한 라이센스. : 빌드할 때 쓰이는 툴 에 대한 dependency를 적어놓음 : 빌드할 때 있는 패키지의 의존성. : 실행할 때 있는 패키지의 의존성 build_depend 와 run_depend를 따로 두는 이융는 잘 모르겠지만. 따로 dependency를 사용하고있다.
- Total
- Today
- Yesterday
- ubuntu
- Node
- iptime 2000au
- 창숨김 다운
- C# 책
- 2000au
- C# 속으루..
- readonly
- ipTIME
- 디스크 쓰기 금지되어 있습니다
- 창숨김
- 블로그
- c#
- 창숨기기 프로그램
- ROS2
- C 책
- C#책
- ROS2 설치
- 블로그 개설
- c#.net
- c#ㄱㄱ
- USB
- 책 소개
- c#초보
- 블로그 이야기
- robot
- 창숨김 프로그램
- 블로그 공지
- 창숨기기
- C#입문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |