[ROS] rosbridge, roslibjs 활용한 ROS 웹 연동
포스트
취소

[ROS] rosbridge, roslibjs 활용한 ROS 웹 연동

  1. rosbridge
    • 설치와 local에서의 실행
    • 실제 환경 실행
  2. roslibjs

1. rosbridge

설치와 local에서의 실행

rosbridge는 ROS와 JSON 형식으로 통신을 하는 패키지다.

rosbridge를 통해 우리는 java, javascript, python을 사용하는 클라이언트와 통신이 가능하게 된다.

javascript와 같이 사용하여 AI 교육과정 최종 프로젝트의 웹 서비스 구현에 사용하려 한다.

1
$ sudo apt-get install ros-melodic-rosbridge-suite

설치가 완료되면 다음 명령으로 웹소켓 서버가 돌아가는지 확인한다. roscore 실행은 필수다.

1
$ roslaunch rosbridge_server rosbridge_websocket.launch

스크린샷, 2021-12-01 11-33-09

콘솔로그의 마지막 라인의 Rosbridge WebSocket server started at ws://0.0.0.0:9090을 통해 웹소켓 서버가 시작되었음을 알 수 있다.

0.0.0.0:9090 으로 접속하여 다음과 같은 화면이 나오면 성공적으로 웹소켓 서버가 시작된 것이다.

1

실제 환경 실행

앞선 상황은 웹소켓 서버가 localhost:9090 포트로 제공되기 때문에, 실제 환경에서는 roscore를 실행하는 환경의 ip로 맞춰 주어야한다.

1
$ roslaunch rosbridge_server rosbridge_websocket.launch address:={프록시의 ip}

2. roslibjs

ROS 웹 통신을 위한 자바스크립트 라이브러리.

1
$ git clone https://github.com/RobotWebTools/roslibjs

이를 바탕으로한 ros2djs, nav2djs 등의 패키지가 존재한다.


참고

ros 공식 wiki

Robotwebtools (roslibjs 등 제공)

roslibjs 공식 wiki

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.