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
* Add more details on how to setup the logger from source, like that you will need Git, Java, and Gradle. Added the commands to install them to make things easier for the user
* Added a note on how logs are viewed in SCS2 to make it more clear to the user
Copy file name to clipboardExpand all lines: README.md
+65-24Lines changed: 65 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,45 +6,73 @@ IHMC Robot Data Logger
6
6
## Logger computer system requirements
7
7
8
8
- Tons of hard drive space
9
-
- The logger can take 100GB/hour easily, depending on the number of variables and video streams.
9
+
- The logger can take 100GB/hour easily, depending on the number of variables and video streams.
10
10
- 4 GB RAM (8 GB when more than one video stream is captured)
11
11
- 2.5GHz or faster Intel i7 or Xeon E3, E5 or E7
12
-
- 1 + n cores, where n is the number of video streams
13
-
- Capture cards to record video feeds (optional)
14
-
-[Magewell Pro Capture Card](https://www.magewell.com/products/pro-capture-sdi)
15
-
- BlackMagic Decklink Mini Recorder Capture Card (Deprecated)
16
-
- This is deprecated because [https://github.com/ihmcrobotics/ihmc-java-decklink-capture](https://github.com/ihmcrobotics/ihmc-java-decklink-capture) only works on Ubuntu 20.04 and is no longer supported by the maintainers of this repository. And that is required to use the BlackMagic Capture Card
12
+
- 1 + n cores, where n is the number of video streams
13
+
-[Optional] Capture cards to record video feeds
14
+
-[Magewell Pro Capture Card](https://www.magewell.com/products/pro-capture-sdi)
15
+
-[Deprecated] BlackMagic Decklink Mini Recorder Capture Card
16
+
- This is deprecated because [https://github.com/ihmcrobotics/ihmc-java-decklink-capture](https://github.com/ihmcrobotics/ihmc-java-decklink-capture)
17
+
only works on Ubuntu 20.04 and is no longer supported by the maintainers of this repository. And that is required to use the BlackMagic Capture Card
18
+
19
+
---
20
+
21
+
## Setting up the Logger from source (Ubuntu 22.04 / Magewell)
17
22
18
-
## Ubuntu 22.04 (recommended)
19
23
- Install Ubuntu Desktop 22.04 LTS (it's convenient to have a GUI to work with)
20
-
- Make sure to install OpenSSH
24
+
- Make sure to install OpenSSH
25
+
- Install Git:
26
+
-`sudo apt install git`
27
+
- Install Java:
28
+
-`sudo apt update`
29
+
-`sudo apt install openjdk-17-jdk`
30
+
- Install Gradle: (we will install curl to help with this)
- Reboot the computer for Magewell Capture Card drivers to take effect
42
+
- Note: In order to capture from the camera feed you need to setup those yaml files, ensure the right capture card type is being specified when making those
43
+
files
24
44
25
45
---
46
+
26
47
## Publishing and configuring the logger
27
48
28
49
- Navigate to where you have cloned ihmc-robot-data-logger: `cd ihmc-robot-data-logger`
29
50
- From there you can use `gradle deploy`. This will show a deploy GUI which allows installation and setup of a logger on a remote computer.
30
-
- This GUI allows you to select several options for the deployed logger
51
+
- This GUI allows you to select several options for the deployed logger
31
52
32
-
### Logging to a Network volume
53
+
### Logging to a Network volume
33
54
34
-
If you would like to log to a network volume, ~/robotLogs can be a symbolic link to a mount point. The IHMC convention is to create a RobotLogs/incoming directory on the network storage volume, auto-mount this volume using the OS's fstab, and then symlinking the "incoming" directory to be the ~/robotLogs directory
55
+
If you would like to log to a network volume, ~/robotLogs can be a symbolic link to a mount point. The IHMC convention is to create a RobotLogs/incoming
56
+
directory on the network storage volume, auto-mount this volume using the OS's fstab, and then symlinking the "incoming" directory to be the ~/robotLogs
57
+
directory
58
+
59
+
### Customizing the logging location
60
+
If you would like to log somewhere other than ~/robotLogs, you can change the directory using the "-d" command line flag when you launch the logger
35
61
36
-
### Customizing the logging location
37
-
If you would like to log somewhere other than ~/robotLogs, you can change the directory using the "-d" command line flag when you launch the logger
38
62
---
63
+
39
64
## <pstyle="text-align:center;">Starting the Logger</p>
40
65
41
66
Depending on how the logger is deployed, it can be setup to automatically start when the computer boots, or restart at the beginning of each day.
42
-
To start the logger navigate to `/opt/ihmc/logger/bin/` and run `./IHMCLogger`. This will start the logger manually if you have it configured to not run on boot or restart at the beginning of each day.
67
+
To start the logger navigate to `/opt/ihmc/logger/bin/` and run `./IHMCLogger`. This will start the logger manually if you have it configured to not run on boot
68
+
or restart at the beginning of each day.
43
69
The Logger can also be run as a service, to see if thats the case this command `ps aux | grep java` tells you if java processes are running.
44
70
The service should be `ihmc-robot-data-logger.service`.
45
71
46
-
Before starting the logger, you need to setup the camera file, and the host file. These are important to capturing video feeds, as well as logging from specific hosts.
47
-
The steps below walk through how to set those two files up. They should be setup on the remote computer that is doing the logging. This is why we recommend using Ubuntu Desktop because setting these up are much simpler if you have access to the GUI.
72
+
Before starting the logger, you need to setup the camera file, and the host file. These are important to capturing video feeds, as well as logging from specific
73
+
hosts.
74
+
The steps below walk through how to set those two files up. They should be setup on the remote computer that is doing the logging. This is why we recommend
75
+
using Ubuntu Desktop because setting these up are much simpler if you have access to the GUI.
48
76
49
77
---
50
78
@@ -66,20 +94,23 @@ cameras:
66
94
name: Another-User-Friendly-Name
67
95
identifier: /stream_topic
68
96
```
69
-
97
+
70
98
This adds two cameras to the logger, a capture card and a stream. The following fields are needed for each camera:
71
99
72
100
- type: CAPTURE_CARD_MAGEWELL or CAPTURE_CARD for capture cards or NETWORK_STREAM for streaming over DDS/RTPS
73
101
- camera_id: An unique id from 0 to 127 to refer to the camera in the static hosts section
74
102
- name: A user friendly name used to name the file of the recorded video when logging
75
-
- identifier: For capture cards, this is the numeric id of the device, for NETWORK_STREAM this is the DDS topic name
103
+
- identifier: For capture cards, this is the numeric id of the device, for NETWORK_STREAM this is the DDS topic name
76
104
77
105
---
106
+
78
107
## Setting up hosts
79
108
80
-
This file contains the hosts that will be logged when a server starts on that device. It is possible to configure the cameras from the `gradle deploy` but since they get changes often its important to know how to change it manually.
109
+
This file contains the hosts that will be logged when a server starts on that device. It is possible to configure the cameras from the `gradle deploy` but since
110
+
they get changes often its important to know how to change it manually.
81
111
82
112
Create a new file `~/.ihmc/ControllerHosts.yaml`. A basic setup looks like this:
113
+
83
114
```
84
115
disableAutoDiscovery: false
85
116
hosts:
@@ -90,7 +121,17 @@ hosts:
90
121
cameras: [1, 2]
91
122
```
92
123
93
-
This adds the host `10.0.0.10` without cameras and the host `10.0.0.11` with two cameras with camera_id 1 and 2.
124
+
This adds the host `10.0.0.10` without cameras and the host `10.0.0.11` with two cameras with camera_id 1 and 2.
125
+
126
+
Alternatively, you can start `SCSVisualizer` from `ihmc-robot-data-visualizer` and add hosts using the GUI. After you close the visualizer, the hosts you added
127
+
will be saved `~/.ihmc/ControllerHosts.yaml`. You can copy that file to the logger if it is on a different computer.
128
+
129
+
---
130
+
131
+
## Viewing Logs in SCS2
94
132
95
-
Alternatively, you can start `SCSVisualizer` from `ihmc-robot-data-visualizer` and add hosts using the GUI. After you close the visualizer, the hosts you added will be saved `~/.ihmc/ControllerHosts.yaml`. You can copy that file to the logger if it is on a different computer.
96
-
133
+
Simulation Construction Set 2 (SCS2) is used to view logs. This repository lives
134
+
at [Simulation Construction Set 2](https://github.com/ihmcrobotics/simulation-construction-set-2).
135
+
The Blackmagic capture cards will work with any version of SCS2. However, the Magewell capture card requires a newer release of SCS2. If videos are recorded in
136
+
logs with Magewell, please use [release 17-0.27.3](https://github.com/ihmcrobotics/simulation-construction-set-2/releases/tag/0.27.3-java-17)
137
+
or any release after this one. The 17-0.27.3 release is when support for Magewell was added to SCS2.
0 commit comments