-
Notifications
You must be signed in to change notification settings - Fork 1
/
linda-mobile.html
executable file
·186 lines (154 loc) · 8.82 KB
/
linda-mobile.html
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!DOCTYPE html>
<html>
<head>
<title>Linda - Lincoln's Patrol Bot</title>
<link rel="icon"
type="image/png"
href="http://strands.acin.tuwien.ac.at/logos/strands2.png">
<meta charset="utf-8" />
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<!-- The default styling is provided by http://getbootstrap.com -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
<!-- jQuery and display.js are conveniences for interacting with the DOM -->
<script src="js/jquery.js"></script>
<script src="js/display.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
<!-- ROSLIBJS -->
<!-- EventEmitter2 is the sole dependency of roslibjs -->
<script src="roslibjs/include/EventEmitter2/eventemitter2.js"></script>
<!-- Roslibjs handles core ROS functionality in the browser -->
<script src="roslibjs/build/roslib.js"></script>
<!-- ROS2DJS -->
<!-- EaselJS is a dependency of ros2djs -->
<script src="ros2djs/include/EaselJS/easeljs.js"></script>
<!-- Ros2djs provides 2D scene support, including mapping and more -->
<script src="ros2djs/build/ros2d.js"></script>
<script type="text/javascript" src="mjpegcanvasjs/build/mjpegcanvas.min.js"></script>
<script type="text/javascript">
var hostname = location.hostname;
/**
* Setup all GUI elements when the page is loaded.
*/
function init() {
// Connecting to ROS.
var ros = new ROSLIB.Ros({
url : 'ws://'+hostname+'/linda/rosws'
});
// ----------------------------------------------------------------------
// Subscribing to the robot's Battery
// ----------------------------------------------------------------------
// The ROSLIB.Topic handles subscribing and publishing a ROS topic. This
// topic interacts with the /robot_pose topic, published by the robot.
var batteryTopic = new ROSLIB.Topic({
ros : ros,
name : '/webthrottle/battery_state',
messageType : 'scitos_msgs/BatteryState'
});
// Subscribes to the robot's battery state.
batteryTopic.subscribe(function(message) {
var estChargeTime=5*(85-message.lifePercent);
var estDischargeTime=11*(message.lifePercent-30);
var chargingText='';
if (message.charging) {
chargingText='Linda is currently <b>recharging</b> at a current of '+(-message.current.toFixed(1))+' Amperes. Her current charging level is <b>' + message.lifePercent + '%</b>. She will start patrolling again when charging level reaches 85% (in approx. '+estChargeTime+' minutes).';
} else {
chargingText='Linda is currently <b>running on battery</b> drawing a current of '+(message.current.toFixed(1))+' Amperes. Her current charging level is <b>' + message.lifePercent + '%</b>. She will go to recharge again when charging level drops to 30% (approx. '+estDischargeTime+' minutes of operation left).';
}
$('#battery').html(chargingText);
});
var myVar=setInterval(function(){myStatusTimer()},10000);
function myStatusTimer()
{
$.getJSON('http://lcas.lincoln.ac.uk/linda-stats/patrol_run.json', function (json) {
var s=json.length
$('#status').html('In her current run, Linda has been travelling <b>'+ (json[s-1].distance/1000).toFixed(3) + ' kilometres</b> so far. The total autonomous runtime in this tour is <b>'+(json[s-1].run_duration/3600).toFixed(2)+' hour(s)</b>. <b>' + json[s-1].successful_waypoints + ' waypoints</b> have been successfully visited during this tour.');
});
}
// ----------------------------------------------------------------------
// Create the camera viewer.
// ----------------------------------------------------------------------
var viewer = new MJPEGCANVAS.Viewer({
divID : 'mjpeg',
host : hostname,
port : '80/linda/video',
width : 560/2,
height : 420/2,
topic : '/image_blurrer/output_video'
});
}
</script>
</head>
<body onload="init()">
<div class="navbar navbar-inverse navbar-fixed-top">
<a class="navbar-brand" href="#"><img src="http://www.lincoln.ac.uk/home/media/universityoflincoln/styleassets/images/logo-white.png"/></a>
<ul class="nav pull-right">
<li><a href="http://lcas.lincoln.ac.uk">L-CAS</a></li>
<li><a href="http://www.strands-project.eu/marathon.html">STRANDS Robot Marathon</a></li>
<li class="active"><a href="linda.html">Linda Live</a></li>
<li><a href="linda-strands.html">Linda Information</a></li>
<!--<li><a href="navigation.html">Autonomous</a></li>-->
</ul>
</div>
<div class="container">
<div class="row">
<H1>
Welcome to Linda's homepage!
</H1>
<p>
Hello, my name is Linda. I am a research robot. I am situated in
the <a href="http://lcas.lincoln.ac.uk">Centre for Autonomous Systems</a> at
the <a href="http://www.lincoln.ac.uk">University of Lincoln</a>,
UK. My current job is to patrol our research lab. Below you can find some information of
what I am actually doing.
</p>
<p>
In general, I am a research platform in the context of
the <a href="http://www.strands-project.eu">STRANDS</a> project
(Spatio-Temporal Representations and Activities for Cognitive Control
in Long-Term Scenarios), a 4-year EU FP7 Integrating Project.
</p>
</div>
<br/>
<div class="row" id="misc-data">
<div class="col-span-6">
<h1><small>Linda's Current Patrol Tour</small></h1>
<p><div id="status">Status</div></p>
<p><div id="battery">Status</div></p>
</div>
<div class="col-span-6">
<h1><small>Robot live cam</small></h1>
<div id="mjpeg"></div>
<i>The video is blurred to protect the privacy of our staff in the L-CAS research lab. It is known that some version of firefox do not automatically update this video stream. Please use <a href="https://www.google.com/intl/en/chrome/browser/">Chrome</a> or reload this page.</i>
</div>
</div>
<br/>
<!-- <div class="row" id="pose-data">
<h4>Robot's Pose</h4>
<table id="poses" class="table table-condensed">
<thead>
<tr>
<th>Time</th>
<th>Position</th>
<th>Orientation</th>
</tr>
</thead>
<tbody>
<tr></tr>
</tbody>
</table>
</div>
-->
<div class="row">
<H2>"Linda" - Robots going public for the EU Robotics Week 2013</H2>
<p>
Researchers at the <a href="http://lcas.lincoln.ac.uk">University of Lincoln</a> are studying how mobile robots can learn from long-term experience to provide service in security and care scenarios. As part of the European <a href="http://www.strands-project.eu">STRANDS project</a>, they contribute to the development of robots that are able to operate autonomously, without the need of human intervention, in regular indoor environments like offices and homes over long periods of time. The 4 year project involving six academic partners from Lincoln, Birmingham, Leeds, Vienna, Aachen, and Stockholm has started in April this year. The <a href="http://www.eu-robotics.net/eurobotics-week/">EU robotics week</a> is the project's first major milestone to show their robots working continously and autonomously at the different sites.
Lincoln's robot "Linda" is patrolling its surrounding 24/7 during this week as part of the <a href="http://strands.acin.tuwien.ac.at/marathon.html">"STRANDS robot marathon"</a>. Linda faces the challenge to safely and reliably navigate an environment that is populated by people and not customised to a robot's needs. She will have to cope with changes that occur, such as lights being turned on and off, objects moved about, and people walking around.
During the whole week Linda will be streaming <a href="http://lcas.lincoln.ac.uk/linda/linda.html">live to the internet </a> where the public can follow Linda on her patrol routes every day and night. Linda can be seen patrolling, charging autonomously, and visiting checkpoints that have been defined by the researchers. While this is the first step towards autonomous robots that can assist and help people, the STRANDS project ultimately aims to deploy robots like Linda to other sites where they will complement human guards to increase security and help staff in care facilities, facilitated by the project partners <a href="http://www.g4stechnology.com/">G4S</a> and <a href="http://www.hausderbarmherzigkeit.at/home/?L=1">AAF</a>, respectively.
</p>
</div>
</div>
</body>
</html>