raspbian buster(10) os 라즈베리파이 3B+ROS1 실행을 위함와이파이를 겨우 연결했다.. 우분투나 최신 라즈비안 os 같은 경우 와이파이 세세한 설정이 가능한데 옛날 os를 라즈베리파이에 설치하다보니 첫 단추부터 진이 빠진다.우선 기존 우분투에서 eduroam 와이파이에 연결하려면 TLS 터널링 클릭 -> 인증기관 인증서 불필요 체크 -> 학교 웹메일 아이디 입력 -> 비밀번호 입력 하면 연결된다.하지만 라즈베리파이 (라즈비안 10 버전?) 의 경우 해당 와이파이를 클릭하기도 전에 eduroam 와이파이가 비활성화 되어있었다. 때문에 터미널창에서 수동으로 연결하는 방법밖에 없었다. 다만 검색해도 일반적으로 만 입력하는 경우가 대다수였고 학교 와이파이같은 특수한 경우는 별로 없었다.우..

기록이 정말 중요하긴 한 것 같다. 오류가 발생해도 누군가의 기록 덕분에 해결이 되고 이런 경험을 또 겪는다면 두 번째엔 더 수월해지기 때문이다. 당연하지만.라즈베리파이 구동아무튼 터틀봇3를 라즈베리파이 3b+ 로 구동하기 위해 sd카드를 굽고 부팅을 시도했다.그런데 내가 알던 우분투나 라즈비안같은 gui 화면이 뜨지않고 검은 화면만 뜨는 것이었다. 위쪽에는 ubuntu tty 라고 떴고 cmd창만 쓸 수 있었다. 물론 문제는 없을 것 같긴한데 불편하기에 gui를 어떻게 설치하는지 알아보았다. https://velog.io/@takean 터틀봇3 구동시키면서 막힌 부분들 정리 [1]: sudo apt update 안됨https://emanual.robotis.com/docs/en/platform/turt..

ROS는 2007년 스탠포드 대학 AI LAB의 프로젝트에 사용된 인공지능 로봇의 개발을 위해 만든 Switchyard 에서 시작했다. 그리고 2008년 로봇 전문 기업 윌로우게러지가 이어받아 ROS라는 이름으로 개발하기 시작했다. 2010년 ROS Box Turtle이라는 이름으로 첫 ROS가 릴리즈되었고 새로운 버전이 이어지고 있다. 현재는 OSRF(Open Source Robotics Foundation)이 관리를 맡고 있으며 오픈 소스로 공개되어 있다. ROS1은 개발 당시 단일 로봇, 리눅스 환경, 실시간 제어 불가능, 안정된 네트워크 환경, 연구용 등과 같은 제한 사항이 있었다. 때문에 새로운 개발 환경이 요구되면서 ROS2가 개발되었다. ROS1과 비교하여 ROS2에는 다음과 같은 특징이 있..
로봇 경진대회에서 사용하기 위해 opencv를 처음 사용해보았는데 어떤 부분 위주로 사용했는지 기초부터 정리해봐야겠다.그냥 파이썬에서 실행하는 것과 ROS에서 opencv를 사용하는 게 섞여있다.이미지 불러오기img = cv2.imread('test.jpg')cv2.imshow('frame',img)cv2.waitkey(0)cv2.destroyAllWindows()#혹은while True: keycode = cv2.waitKey(0) if keycode == ord('x'): break비디오 불러오기video = cv2.VideoCapture('test.mp4')if not video.isOpened(): print("Video is unavailable :", filepath) exit(0)카메라에서..
서비스 서버, 클라이언트 만들기 (service_server.py)서비스 서버의 구조서버 노드 만들기(클래스)init 정의서버를 만드는 함수 self.create_service(만든 서비스 타입, 이름, 실행함수)callback 함수 정의 (response 반환)client 로부터 request 받으면 실행main 함수객체화spin 실행shutdownif 문서비스 서버 만들기구독, 발행 노드를 만들때는 create_subscription, create_publisher를 이용했던 것처럼 이번에는 create_service를 이용한다.multi_spawn이란 이름의 MultiSpawn 데이터 타입의 서비스를 호출?callback 함수에서는 request와 response를 받고from my_first_pa..

서비스 정의 만들기srv 폴더 만들기메시지 패키지 (my_first_package_msgs) 에 srv 폴더 만들기메시지 만들때는 msg 만들었다면 서비스는 srv 폴더를 만듦srv 파일 만들기원하는 .srv 파일을 만듦메시지 msg는 종류가 한 가지 이지만 서비스는 request와 response로 두 가지이기에 구분이 필요함--- 구분자 이용하여 구분을 하는 것임int64 num---float64[] xfloat64[] yfloat64[] thetaCMakeLists.txt 수정이전에 만들었던 msg 파일과 마찬가지로 srv 파일을 알려줌 find_package(rosidl_default_generators REQUIRED)rosidl_generate_interfaces(${PROJECT_NAME} ..

이전에 대회에 나갔을 때 기존에 있는 패키지를 바탕으로 코드를 수정하면서 원하는 방향으로 로봇이 움직이도록 만들었다. 이때 내가 처음부터 작성한 코드가 아니기에 조금만 수정해도 오류가 발생했다. 코딩, 프로그래밍을 한 것이 처음이었기에 이때부터 디버깅이라고 해야할지 로그를 남기는 것의 필요성이 중요하게 다가왔다. 하지만 ROS에서 로그를 남기는 방법이 다양해서 어떤 방법을 사용할지 몰라 그냥 print를 이용했었다. ㅎㅎ 이번에 로그 관련 강의가 올라와 이 부분이 궁금해 먼저 글을 써보려고 한다.우선 혹시 모르기 때문에 rqt 관련 파일?을 설치한다.sudo apt install ros-humble-rqt*터틀심 실행하고 rqt를 실행하자!플러그인 - 로깅 - 콘솔 선택rqt 플러그인으로 로그를 관찰할 ..
- Total
- Today
- Yesterday
- 배송기간
- 카시오
- 계산방법
- Liiv M
- 리브모바일
- mealy
- 리브엠
- 알리익스프레스
- 맛집
- 오블완
- 무어머신
- 알뜰폰요금제
- 북문
- 네이버페이
- 알뜰 요금제
- 교체
- a모바일
- 카카오페이
- 시계 줄
- 파스타
- 할인
- 경북대
- 티스토리챌린지
- 10만포인트
- 밀리머신
- 메쉬 밴드
- 문서 스캔
- f-94w
- 방향장
- f-91w
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |