-
Notifications
You must be signed in to change notification settings - Fork 13
First Teleoperation Demo
Édouard Denommée edited this page Mar 30, 2019
·
9 revisions
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.
- Turtlebot platform
- RasperryPi onboard computer running (ubuntu 16.04 xenial)
- Kinect RBGD camera
- Nodejs server running on commit
0e4b0135e2f86ffa7f5f63114510187d90720335
- Install Ubuntu 16.04 on the raspeberry-pi
- Install the following packages:
# apt update && apt install -y ros-kinetic-turtlebot-bringup ros-kinetic-desktop-full \
libv4l-dev v4l2loopback-utils v4l2loopback-dkms sudo
- 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
- Add the user that will launch the ROS nodes to the list of sudoers. Make sure to specify
NOPASSWD
. This step is necessary to allowroslauch
to interact with kernel modules.
$ echo "$USER ALL=(ALL:ALL) NOPASSWD:ALL" | sudo sh -c 'cat >> /etc/sudoers'
To set allow another user than the current one, replace $USER
by the name of the desired user. Or to specify a user group, add a percent sign before the group name (%group
).
- 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
- commands to run on robot
$ roslaunch turtlebot_bringup minimal.launch
$ roslaunch securbot_pkg virtualKinect.launch
$ roslaunch securbot_pkg 3dsensor.launch
$ ./workspace/src/Electron_WebRTC/scripts/start_node.sh
$ ./workspace/src/securbot_pkg/scripts/electronTeleop.py
- Run the server startup command
npm start
- Use firefox browser to allow camera usage