Root Time Lapse Facility
AutoMaker V4.02.00 in combination with Root introduces a new facility to take time lapse images of a print as it progresses.
The facility requires a Robox Pro, or a Robox connected to a Root, AutoMaker running on a personal computer, a USB camera such as a Logitech C920 connected to the Root or Robox Pro, and a USB memory stick connected to the Root or Robox Pro. When enabled on a print, an image is when each layer is completed, and stored on the connected memory stick. There are many applications, such as Time Lapse Creator that can convert these images to a video, which show the printed object growing out of the bed.
In AutoMaker, the Network page shows which connected Roots have connected cameras.
If a Root has detected that a camera is connected, then the symbol in the camera column will be . If no camera is detected, or the Root is not connected, it will be .
If the currently selected printer is associated with a Root with a connected camera, a snapshot panel with two combo boxes and an image captured from the camera will be displayed on the printer status page.
The left combo box selects a “camera profile”. The right combo box selects a camera. The image is updated every second or so.
A camera profile specifies a collection of settings for a camera. They can be inspected, created and edited in the Camera Profile page in the Library. Click the library button at the top right and select “Camera Profiles”.
Profiles supplied with AutoMaker cannot be changed, but copies are easily created and can be edited. Click “New” at the bottom of the screen. Type a unique name into the combo box at the top and press the tab key to complete the name. All the fields should now become editable. Click “Save” at the bottom to save the profile.
The settings are grouped in sections and are described below.
||Turns off the headlight before capturing an image, then turns it back on
|Ambient Light Off
||Turns off the ambient light before capturing an image, then turns it back on.
|Move Before Capture
||Move the head to a specified position in X and Y before capturing an image. (Z will increase as the print progresses.)
|Move To X
||X position to which the head is moved.
|Move To Y
||Y position to which the head is moved.
||Specifies the name of the camera for which this profile is intended. If set to (Any Camera), then it can be used with any camera. Otherwise, if selected, only cameras with the specified name will be available for selection in the Camera combo box.
||The width of the captured image in pixels.
||The height of the captured image in pixels.
Root uses a camera utility called “fswebcam” to capture images. This has a number of controls and settings. Exactly which controls are available, and the effect they have depends on the type of camera connected. The Control section is provided so that any required settings for a camera can be passed to the fswebcam facility.
In our experience, we have found that many USB cameras do not work well on the Raspberry Pi. One that does work well is the Logitech C920.
There are two types of control settings: command line settings for fswebcam are prefixed by “—“ and are passed to fswebcam as command line arguments. Control settings have no prefix and are passed to fswebcam as “—set setting=value”. For full details of all the available settings, please see the fswebcam documentation here: http://manpages.ubuntu.com/manpages/bionic/man1/fswebcam.1.html
Command line settings should be used with care as some settings may cause fswebcam to hang, return multiple images or none at all. Note that banners are always disabled. A couple of useful settings are described below.
||Specifies the number of frames to skip before capturing an image. Useful if, for example the camera automatically adjusts it exposure settings
||Number of seconds to delay before capturing an image. Useful if the camera requires a little time to settle before a reliable image is captured.
Below is a list of some available control settings. Exactly what these settings do depends on the connected camera and, is sadly often not documented. Experimentation to get the best results is probably the best approach.
||min=30 max=255 step=1 default=-8193 value=116
||min=0 max=10 step=1 default=57343 value=5
||min=0 max=200 step=1 default=57343 value=103
||min=0 max=2 default=2 value=2
||min=2500 max=10000 step=1 default=57343 value=4500 flags=inactive
||min=0 max=50 step=1 default=57343 value=25
||min=0 max=10 step=1 default=57343 value=0
||min=0 max=3 default=0 value=3
||min=1 max=10000 step=1 default=156 value=156 flags=inactive
||min=-529200 max=529200 step=3600 default=0 value=0
||min=-432000 max=432000 step=3600 default=0 value=0
||min=0 max=40 step=1 default=57343 value=0
||min=0 max=317 step=1 default=57343 value=0
Making Time Lapse Images of a Print
If the currently selected printer is associated with a Root with a connected camera, a time lapse panel with a checkbox, two combo boxes and an image captured from the camera will be displayed on the settings page:
To capture time lapse images of a print, check the “Enable Time Lapse” checkbox. Select a camera profile in the top combo box, and a camera in the bottom one. Only profiles for which there is a suitable camera connected to the currently selected printer will be available in the combo box. Only cameras that are compatible with the selected camera profile will be available in the camera combo box. The image from the selected camera is updated every second or so. Click on the “Make” button at the bottom right of the page to start the print.
As the print progresses, time lapse images will be captured when each layer is completed. If a USB memory stick is connected to the Root, the images will be stored in a folder /$PRINTER_NAME/$JOB_ID where $PRINTER_NAME is the name assigned to the printer, and $JOB_ID is a unique id generated for the print job. If a usb memory stick is not connected, the images will be stored on the Root itself in “/home/pi/CEL Root/time lapse/$PRINTER_NAME/$JOB_ID”. These will have to be retrieved from the pi using a file transfer tool such as FileZilla. To log onto Root, use the username “pi” and password “CELRoot”. Remember to regularly delete the contents of the time lapse directory to avoid running out of storage.
Disabling The Time Lapse Facility
The snapshot panel can be disabled by clearing the “Show Snapshot Panel” option in the “Preferences Advanced”. The timelapse panel will still be available on the print settings page.