Overview
Purpose
The imaging
service captures an image frame from a USB webcam using gstreamer
. It then does some processing and finds the edges of the NXP cup track. This data can be used by another service to then drive and steer on.
Installation
To install this service, the latest release of roverctl
should be installed for your system and your Rover should be powered on.
- Using roverctl
- Using roverctl-web
- Install the service from your terminal
# Replace ROVER_NUMBER with your the number label on your Rover (e.g. 7)
roverctl service install -r <ROVER_NUMBER> https://github.com/VU-ASE/imaging/releases/latest/download/imaging.zip
- Open
roverctl-web
for your Rover
# Replace ROVER_NUMBER with your the number label on your Rover (e.g. 7)
roverctl -r <ROVER_NUMBER>
- Click on "install a service" button on the bottom left, and click "install from URL"
- Enter the URL of the latest release:
https://github.com/VU-ASE/imaging/releases/latest/download/imaging.zip
Follow this tutorial to understand how to use an ASE service. You can find more useful roverctl
commands here
Requirements
- A USB camera should be connected to your Rover. By default, this service will attempt to read from a 30fps 640x480 camera on /dev/video2
- If you want to use another camera, you should modify this service's service.yaml and upload your service again.
Inputs
As defined in the service.yaml, this service does not depend on any other service.
Outputs
As defined in the service.yaml, this service exposes the following write streams:
path
:- To this stream,
CameraSensorOutput
messages will be written. Each message will be wrapped in aSensorOutput
wrapper message
- To this stream,