-
Notifications
You must be signed in to change notification settings - Fork 2
/
visp.orogen
58 lines (49 loc) · 2.15 KB
/
visp.orogen
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
name "visp"
using_library "visp"
using_library "frame_helper"
import_types_from "base"
import_types_from "frame_helper/Calibration.h"
import_types_from "vispTypes.hpp"
import_types_from "auv_control"
import_types_from "apriltags"
task_context "Task" do
needs_configuration
# Select the visual servoing architecture: IBVS, PBVS or HVS(2 1/2D)
property("architecture", "visp/architecture")
# Set the gain of the visual controller
property("gain", "float")
# Switch between adaptive or manual gain
property("use_adaptive_gain", "bool")
# Switch between adaptive or manual gain
property("adaptive_gains", "visp/adaptiveGains")
# Camera calibration parameters
property("camera_parameters", "frame_helper/CameraCalibration")
# Defines the controlled degrees of freedom
property("expected_inputs", "visp::expectedInputs")
# Set the maximum absolute value for the output ports
property("saturation", "visp::saturationValues")
# In case of multiple detected objets, this properties set the target object
# in which the robot will perform the visual servoing
property("target_list", "/std/vector<visp::targetObjectParameters>")
# In case of multiple detected objects, this property set the target object
# in which the robot will perform the visual servoing
property("desired_target", "string", "").dynamic
# Adjust the calibration parameters if the image was scaled in the feature
# provider
property("scaling", "double", 1.0)
# Position setpoint in respect to the marker frame
input_port "cmd_in", "/base/LinearAngular6DCommand"
# Input data to the controlller
input_port "marker_corners", "std/vector<apriltags/VisualFeaturePoint>"
# The control signal, velocities.
output_port "cmd_out", "base/LinearAngular6DCommand"
# Output relevant information about the controller
# such as error, residual, desired and current position
output_port "controller_state", "visp/controllerState"
port_driven 'marker_corners'
transformer do
transform 'body', 'camera'
max_latency 0.1
end
runtime_states :WAITING_SETPOINT, :WAITING_CORNERS, :CONTROLLING
end