Skip to content

First Teleoperation Demo

Édouard Denommée edited this page Mar 11, 2019 · 9 revisions

Teleoperation demo

This demo aims to get a first working prototype of the web interface and robot control.


THIS PAGE IS INCOMPLETE. CONTRIBUTIONS ARE WELCOME. Remote control buttons are still locked, video is working.


Requirements

  • Turtlebot platform
    • RasperryPi onboard computer running (ubuntu 16.04 xenial)
    • Kinect RBGD camera
  • Nodejs server running on commit 0e4b0135e2f86ffa7f5f63114510187d90720335

Intalation

Robot installation

  • Install Ubuntu 16.04 on the raspeberry-pi
  • Install the following packages:
$ sudo apt update && sudo apt install -y ros-kinetic-turtlebot-bringup ros-kinetic-desktop-full \
    libv4l-dev v4l2loopback-utils v4l2loopback-dkms
  • Create catkin workspace
$ mkdir -p worksace workspace/devel worspace/src
copy the contents of `Robot_Software` into the `workspace/src` directory
$ catkin_make
$ source workspace/devel/setupd.sh

Server installation

  • Checkout the following commit 86764f153160fd422e5c13f689d4216b46d29c18
  • Apply the following patch:
diff --git a/server/easyRTC_Node/static/index.html b/server/easyRTC_Node/static/index.html
index cc748d8..e052f44 100644
--- a/server/easyRTC_Node/static/index.html
+++ b/server/easyRTC_Node/static/index.html
@@ -3,7 +3,7 @@
     <head>
         <script src="/socket.io/socket.io.js"></script>
         <script type="text/javascript" src="../easyrtc/easyrtc.js"></script>
-        <script type="text/javascript" src="js/demo.js"></script>
+        <script type="text/javascript" src="demo.js"></script>
 
         <style type="text/css">
             #videoDemoContainer {
  • Install the required node packages. In server/easyRTC_Node directory
npm install

Usage

Robot execution

  • commands to run on robot
$ roslaunch turtlebot_bringup minimal.launch
$ ./workspace/src/securbot_pkg/scripts/createVirtualCamera.sh
$ roslaunch workspace/src/securbot_pkg/launch/virtualKinect.launch
$ roslaunch workspace/src/securbot_pkg/launch/3dsensor.launch
$ ./workspace/src/Electron_WebRTC/scripts/start_node.sh
$ ./workspace/src/securbot_pkg/scripts/electronTeleop.py

Server exection

  • Run the server startup command
npm start

Web interface

  • Use firefox browser to allow camera usage