
사용자 편의를 위해 웹에서 조작을 가해서 토픽을 발행할 수 있다면 좋을 것 같다고 생각이 들어 알아보았다.ROS에서는 rosbridge websocket 을 통해 웹에서 토픽을 발행할 수 있다고 한다. 웹 브라우저에서 웹소켓을 보내고 rosbridge를 통해서 ros2 토픽으로 전환하여 발행하는 방식이다. 패키지 설치먼저 rosbridge_suite를 설치해야 한다.sudo apt install ros-humble-rosbridge-server나는 ROS2 humble 버전에서 사용하기 때문에 humble 버전 패키지를 설치했다.다른 블로그에서 보이는 ros2-web-bridge 는 구 버전인듯 하다. rosbridge_suite (or rosbridge_server) is recommended for ..

이전 편에서 URDF로 로봇이라고 불러도 될지 고민될정도로 간단한 로봇을 만들었다. 로봇은 단순히 박스에 바퀴 두개만을 단 형태이다.해당 로봇을 가제보에서 움직이도록 할 것이다. 먼저 가제보에서 사용할 수 있는 플러그인인 diff_drive_controller 를 사용할 것이다.ros2 control을 사용할 수도 있는듯한데,,, 잘 모르겠다. 왜 안되는지는그래서 일단 가제보 플러그인 사용 🔷diff_drive_controller이 플러그인은 differential 구동 바퀴를 가진 로봇을 움직일 수 있게 도와준다. URDF의 gazebo 태그 안에 플러그인을 삽입할 수 있다.- 사용 방법URDF에서 바퀴가 연결된 joint를 플러그인에 알려줘야 한다.때문에 `left_joint` 태그와 `right_..
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..
- Total
- Today
- Yesterday
- 문서 스캔
- 카카오페이
- 파스타
- 알리익스프레스
- 배송기간
- f-94w
- 10만포인트
- 경북대
- 무어머신
- 티스토리챌린지
- 메쉬 밴드
- 네이버페이
- 밀리머신
- 맛집
- 방향장
- 오블완
- 북문
- f-91w
- a모바일
- mealy
- 계산방법
- 알뜰 요금제
- 할인
- 리브엠
- 카시오
- 교체
- 알뜰폰요금제
- 리브모바일
- Liiv M
- 시계 줄
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |