Through this guide, you will learn to connect to the robot via WebRTC, in order to exploit the following features:
Three packages from the robot software will be used:
madmuxthe video server
yawlthe WebRTC library
gizmo_webrtcthe high-level application implementing signaling, the ROS bridge and various connection lifecycle hookups
WebRTC is an open standard for real-time communication for browsers and other mobile applications. It is supported by most modern browsers, such as Firefox and Chrome.
The standard defines protocols and APIs to establish peer-to-peer connections, potentially through an intermediary.
In order for a WebRTC connection to be established between two peers, a third-party communication mechanism is needed to exchange the needed pieces of information needed by each peer to connect to the other. This is called signaling.
On the robot, there are two signaling mechanisms:
flubnub: a websocket-based local-network-only signaling
mqtt: an authenticated pub/sub mechanism using AWS IoT
The following steps have to be run from a development environment connected to the same network as Kuri. The following has been tested with recent versions of Firefox and Chrome.
git clone https://github.com/KuriRobot/kuri-documentation
cd kuri-documentation/examples/webrtc python3 -m http.server
The text box that appeared enables you to send commands and receive responses to and from the robot via the rosbridge protocol.