You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 9, 2026. It is now read-only.
S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete teleoperation interface written by the Semi-Autonomous Rescue Team for the S.A.R.T. rescue robots.
10
10
11
-

11
+

12
12
13
13
## Features
14
14
15
-
- All SIGHTS configuation is done through a single configuration file which can be edited visually from within the interface, even if the SIGHTSRobot service is stopped or has crashed
15
+
- All SIGHTS configuation is done through a single configuration file which can be edited visually from within the interface, even if the SIGHTS service is stopped or has crashed
16
16
- A powerful and extensible modular sensor system
17
17
- A sensor plugin system to allow new sensors to be added with ease
18
18
- Sensor wrapper classes that can use existing Python libraries to access sensors over I2C. No need to write libraries specifically for SIGHTS
@@ -32,12 +32,12 @@ S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete te
32
32
- Percentage circle chart
33
33
- Thermal camera with overlay features
34
34
- Text box (with optional uptime display box)
35
-
- An extremely powerful [web interface](https://github.com/SFXRescue/SIGHTSInterface)that allows the operator to control every aspect of the robot
35
+
- An extremely powerful that allows the operator to control every aspect of the robot
36
36
- Up to four video camera streams through [Motion](https://github.com/Motion-Project/motion)
37
37
- Integrated tabbed SSH console allowing advanced access to the underlying OS
38
38
- Full gamepad and keyboard support
39
39
- Full visual configuration file editor and an advanced text-based editor
40
-
- Configuration file management allowing you to swap the active configuration file at runtime, even if the SIGHTSRobot service is stopped or has crashed
40
+
- Configuration file management allowing you to swap the active configuration file at runtime, even if the SIGHTS service is stopped or has crashed
41
41
- Keep track of old revisions of your config file to easily restore to a previous version
42
42
- Light and dark themes
43
43
- Ability for the operator to safely shut down or restart the robot through the interface
@@ -47,7 +47,7 @@ S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete te
47
47
- Support for adding additional motor connection handlers in a similar manner to sensors
48
48
- Built entirely using open protocols and open-source software.
49
49
50
-
All configuration for SIGHTS is done in the `.json` files within the `configs/` directory, which can be edited through the web interface. The active configuration file can be changed through the interface at any time, even if the SIGHTSRobot service is stopped or has crashed. This gives you the ability to fix any configuration issue without physical access to the robot.
50
+
All configuration for SIGHTS is done in the `.json` files within the `configs/` directory, which can be edited through the web interface. The active configuration file can be changed through the interface at any time, even if the SIGHTS service is stopped or has crashed. This gives you the ability to fix any configuration issue without physical access to the robot.
51
51
52
52
## Requirements
53
53
@@ -64,7 +64,7 @@ Python >= 3.6 is required. All the officially supported distributions ship with
64
64
To install on a robot, just download and run the installer as root:
Copy file name to clipboardExpand all lines: docs/extending.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ SIGHTS is designed to be modular and extensible. There are a number of ways you
4
4
5
5
## Adding new sensors
6
6
7
-
New sensors can be added by creating a new sensor wrapper. These reside within the `SIGHTSRobot/src/sensors` directory and inherit from the `SensorWrapper` class.
7
+
New sensors can be added by creating a new sensor wrapper. These reside within the `sights/src/sensors` directory and inherit from the `SensorWrapper` class.
8
8
9
9
The purpose of a sensor wrapper is to implement a set of methods (`get_data()`, `get_initial()`, etc.) that are common to all sensor wrappers.
10
10
@@ -18,7 +18,7 @@ The purpose of a sensor wrapper is to implement a set of methods (`get_data()`,
18
18
19
19
The sensor wrapper class is designed to be pretty broad in what it will support. If you can access a sensor through Python, you can wrap it within a sensor wrapper.
20
20
21
-
Create a new file with an appropriate name in the `SIGHTSRobot/src/sensors` directory. It should follow the format of `<sensor_name>_wrapper.py`.
21
+
Create a new file with an appropriate name in the `sights/src/sensors` directory. It should follow the format of `<sensor_name>_wrapper.py`.
22
22
23
23
Here's a (untested) example for the Adafruit BME280 using [this Adafruit library](https://github.com/adafruit/Adafruit_Python_BME280). Your file should like something like this:
24
24
@@ -61,7 +61,7 @@ The purpose of a sensor wrapper is to implement a set of methods (`get_data()`,
61
61
62
62
3. Add a section to the config schema for your sensor.
63
63
64
-
The interface can generate the necessary configuration file additions for your new sensor if you specify requirements in the schema located at `SIGHTSInterface/js/sights.config.schema.js`.
64
+
The interface can generate the necessary configuration file additions for your new sensor if you specify requirements in the schema located at `sights/interface/js/sights.config.schema.js`.
65
65
66
66
Sensors are defined in the list`properties.sensors.items.anyOf`.
67
67
@@ -150,7 +150,7 @@ The purpose of a sensor wrapper is to implement a set of methods (`get_data()`,
150
150
151
151
A sensor graph is a JavaScript class that determines how sensor data is displayed on the interface. In many cases, you may be able to use an existing graph to display the data from your new sensor.
152
152
153
-
A new sensor graph class can extend the existing "abstract"class`Graph` (`SIGHTSInterface/js/graphs/graph.js`) for an easy framework to build your graph class around.
153
+
A new sensor graph class can extend the existing "abstract"class`Graph` (`sights/interface/js/graphs/graph.js`) for an easy framework to build your graph class around.
154
154
155
155
5. Add the sensor and it's corresponding graph to your config file.
Copy file name to clipboardExpand all lines: docs/getting_started.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete te
5
5
6
6
## Features
7
7
8
-
- All SIGHTS configuation is done through a single configuration file which can be edited visually from within the interface, even if the SIGHTSRobot service is stopped or has crashed
8
+
- All SIGHTS configuation is done through a single configuration file which can be edited visually from within the interface, even if the SIGHTS service is stopped or has crashed
9
9
- A powerful and extensible modular sensor system
10
10
- A sensor plugin system to allow new sensors to be added with ease
11
11
- Sensor wrapper classes that can use existing Python libraries to access sensors over I2C. No need to write libraries specifically for SIGHTS
@@ -25,12 +25,12 @@ S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete te
25
25
- Percentage circle chart
26
26
- Thermal camera with overlay features
27
27
- Text box (with optional uptime display box)
28
-
- An extremely powerful [web interface](https://github.com/SFXRescue/SIGHTSInterface) that allows the operator to control every aspect of the robot
28
+
- An extremely powerful web interface that allows the operator to control every aspect of the robot
29
29
- Up to four video camera streams through [Motion](https://github.com/Motion-Project/motion)
30
30
- Integrated tabbed SSH console allowing advanced access to the underlying OS
31
31
- Full gamepad and keyboard support
32
32
- Full visual configuration file editor and an advanced text-based editor
33
-
- Configuration file management allowing you to swap the active configuration file at runtime, even if the SIGHTSRobot service is stopped or has crashed
33
+
- Configuration file management allowing you to swap the active configuration file at runtime, even if the SIGHTS service is stopped or has crashed
34
34
- Keep track of old revisions of your config file to easily restore to a previous version
35
35
- Light and dark themes
36
36
- Ability for the operator to safely shut down or restart the robot through the interface
@@ -40,7 +40,7 @@ S.A.R.T. Integrated GUI and Host Teleoperation Service (SIGHTS) is a complete te
40
40
- Support for adding additional motor connection handlers in a similar manner to sensors
41
41
- Built entirely using open protocols and open-source software.
42
42
43
-
All configuration for SIGHTS is done in the `.json` files within the `configs/` directory, which can be edited through the web interface. The active configuration file can be changed through the interface at any time, even if the SIGHTSRobot service is stopped or has crashed. This gives you the ability to fix any configuration issue without physical access to the robot.
43
+
All configuration for SIGHTS is done in the `.json` files within the `configs/` directory, which can be edited through the web interface. The active configuration file can be changed through the interface at any time, even if the SIGHTS service is stopped or has crashed. This gives you the ability to fix any configuration issue without physical access to the robot.
44
44
45
45
## Requirements
46
46
@@ -57,7 +57,7 @@ Python >= 3.6 is required. All the officially supported distributions ship with
57
57
To install on a robot, just download and run the installer as root:
Copy file name to clipboardExpand all lines: docs/manual_install.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
# Manual Installation
2
2
3
-
> This page is maintained for posterity, however small changes in installation instructions may escape future revisions. The most up-to-date installation instructions can always be inferred by reading the current [install.sh](https://github.com/SFXRescue/SIGHTSRobot/blob/master/install.sh) script.
3
+
> This page is maintained for posterity, however small changes in installation instructions may escape future revisions. The most up-to-date installation instructions can always be inferred by reading the current [install.sh](https://github.com/SFXRescue/sights/blob/master/install.sh) script.
4
4
5
5
Installation is preferably done to the `/opt/sights/` directory. This was chosen to make it easier to manage running the software (e.g. making it run on boot) as putting it in the home folder can cause permission issues. Installing to other locations will require changes to various config files.
6
6
7
-
[Supervisor](http://supervisord.org/) is used to manage running the SIGHTSRobot software.
7
+
[Supervisor](http://supervisord.org/) is used to manage running the SIGHTS software.
Next, allow Motion to be run as a service by editing `/etc/default/motion` and changing `start_motion_daemon=no` to `start_motion_daemon=yes`.
@@ -157,7 +156,7 @@ To test it out, navigate to `http://<robot_ip>:4200`
157
156
158
157
## Running as a managed service with Supervisor
159
158
160
-
All we need to do now is ensure that `SIGHTSRobot`'s `manager.py` is run on boot as a managed service so we can start, stop and restart it at will.
159
+
All we need to do now is ensure that `manager.py` is run on boot as a managed service so we can start, stop and restart it at will.
161
160
162
161
For this, we'll use [Supervisor](http://supervisord.org/) which is a software package designed to manage (including starting/stopping/restarting) processes and also handle logging their output.
0 commit comments