30
—
SOFTWARE
GENERAL MANUAL — SEP 8, 2022 — RELEASE: V1.1.0
•
•
•
•
•
•
•
•
•
•
•
•
All the control modes are initialized in the same manner but with distinct command line arguments. The
default single-device control Node which brings everything up and simply waits for commands on the
above-mentioned Action topic is the following:
roslaunch qb_hand_control control.launch standalone:=true activate_on_initialization:=true
device_id:=<actual_device_id>
The arguments explained
activate_on_initialization [false]
: Activates the motor at startup (the device will not move
since the first command reference is received).
device_id [1]
: Each device has its own ID, you need to set the one of the actual device connect to
your system.
standalone [false]
: Starts the Communication Handler together with the control Node. If you set
this to
false
(or remove it since the default value is
false
), you need to launch the
Communication Handler in a separate terminal.
It is worth noting that the activation of the motor can be postponed to improved safety if you are not
aware of the state of the system at startup. To do so just set
activate_on_initialization:=false
(or
remove it since the default value is
false
) and make a call to the Communication Handler
activate_motors
Service, when your system is ready, e.g. as follows:
rosservice call /communication_handler/activate_motors {"id: <actual_device_id>, max_repeats: 0"}
Additional arguments
control_duration [0.01]
: The duration of the control loop expressed in seconds.
get_currents [true]
: Choose whether or not to retrieve current measurements from the device.
get_positions [true]
: Choose whether or not to retrieve position measurements from the
device.
get_distinct_packages [true]
: Choose whether or not to retrieve current and position
measurements from the device in two distinct packages.
max_repeats [3]
: The maximum number of consecutive repetitions to mark retrieved data as
corrupted.
set_commands [true]
: Choose whether or not to send command positions to the device.
set_commands_async [true]
: Choose whether or not to send commands without waiting for ack.
use_rviz [false]
: Choose whether or not to use rviz. If enabled you should see a virtual hand on
screen performing a similar behavior.
use_without_robot [true]
: Choose whether or not to bring up robot description (e.g. when using
with other robots is better to set it apart).