Skip to content

Commit f3c086c

Browse files
committed
2.1.0
1 parent ddbccc3 commit f3c086c

27 files changed

+390
-293
lines changed

README.md

+12-14
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ In addition, the single actuator fixed directly on the back of the hand barely a
3131
>This `README` is basically a mirror of the [_qb SoftHand_ ROS wiki](http://wiki.ros.org/Robots/qbhand) and it is supplied only for offline documentation. Please, refer to the online wiki whenever you can; it is our main and most updated reference for _qb SoftHand_ ROS related application.
3232
3333
## Installation
34-
>At the moment the _qb SoftHand_ related ROS packages have been tested only on Ubuntu Xenial 16.04. We are currently working to improve the compatibility with the major distributions of linux, this requires time though. We apologize for the inconvenience and we will be glad if you report any problem encountered with not yet supported distros.
35-
3634
### Requirements
3735
If you have never set it up, you probably need to add your linux user to the `dialout` group to grant right access to the serial port resources. To do so, just open a terminal and execute the following command:
3836
```
@@ -99,7 +97,7 @@ The Communication Handler Node has no parameters to be set, therefore it is alwa
9997
roslaunch qb_device_driver communication_handler.launch
10098
```
10199

102-
On start, it scans the serial communication resources connected to you system and shows a list of the devices it has found. By default it never scans again for new devices, apart from asking it explicitly during the initialization of a control Node.
100+
On start, it scans the serial communication resources connected to your system and shows a list of the devices it has found. By default, it never scans again for new devices, apart from asking it explicitly during the initialization of a control Node.
103101

104102
This is a simple example when starting the Communication Handler with two _qbrobotics®_ devices connected on two distinct USB ports:
105103
```
@@ -124,19 +122,19 @@ Regardless the control mode chosen for the given application, and apart form a c
124122
![overview_launch](qb_hand_media/overview_launch.svg)
125123

126124
### Control Modes
127-
For the sake of simplicity, we are going to cover all the control modes for a single _qb SoftHand_, but it is just a matter of putting things together and set the launch file parameters properly to control several devices together ([qb_chain_control](http://wiki.ros.org/qb_hand_control) is dedicated for such a scope).
125+
For the sake of simplicity, we are going to cover all the control modes for a single _qb SoftHand_, but it is just a matter of putting things together and set the launch file parameters properly to control several devices together ([qb_chain_control](http://wiki.ros.org/qb_chain_control) is dedicated for such a scope).
128126

129-
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:
127+
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:
130128
```
131-
roslaunch qb_hand_control control.launch standalone:=true activation_on_initialization:=true device_id:=<actual_device_id>
129+
roslaunch qb_hand_control control.launch standalone:=true activate_on_initialization:=true device_id:=<actual_device_id>
132130
```
133131

134132
###### The arguments explained
135-
- `activation_on_initialization [false]`: Activates the motor at startup (the device will not move since the first command reference is received).
133+
- `activate_on_initialization [false]`: Activates the motor at startup (the device will not move since the first command reference is received).
136134
- `device_id [1]`: Each device has its own ID, you need to set the one of the actual device connect to your system.
137135
- `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.
138136

139-
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 `activation_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:
137+
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:
140138
```
141139
rosservice call /communication_handler/activate_motors {"id: <actual_device_id>, max_repeats: 0"}
142140
```
@@ -145,13 +143,13 @@ rosservice call /communication_handler/activate_motors {"id: <actual_device_id>,
145143
- `control_duration [0.01]`: The duration of the control loop expressed in seconds.
146144
- `get_currents [true]`: Choose whether or not to retrieve current measurements from the device.
147145
- `get_positions [true]`: Choose whether or not to retrieve position measurements from the device.
148-
- `get_distinct_packages [false]`: Choose whether or not to retrieve current and position measurements from the device in two distinct packages.
146+
- `get_distinct_packages [true]`: Choose whether or not to retrieve current and position measurements from the device in two distinct packages.
149147
- `max_repeats [3]`: The maximum number of consecutive repetitions to mark retrieved data as corrupted.
150148
- `set_commands [true]`: Choose whether or not to send command positions to the device.
151-
- `set_commands_async [false]`: Choose whether or not to send commands without waiting for ack.
152-
- `use_rviz [true]`: Choose whether or not to use rviz. If enabled you should see a virtual hand on screen performing a similar behavior.
149+
- `set_commands_async [true]`: Choose whether or not to send commands without waiting for ack.
150+
- `use_rviz [false]`: Choose whether or not to use rviz. If enabled you should see a virtual hand on screen performing a similar behavior.
153151

154-
>Be aware that the _qb SoftHand_ is desensorized and therefore it is not possible to know exactly the position of each finger: the screen visualization is just the result of an estimation of the closure value and may differ form the real configuration of your _qb SoftHand_ (e.g. when grasping an object).
152+
>Be aware that the _qb SoftHand_ is desensorized and therefore it is not possible to know exactly the position of each finger: the screen visualization is just the result of an estimation of the closure value and may differ from the real configuration of your _qb SoftHand_ (e.g. when grasping an object).
155153
156154
The followings are particular control modes which are enabled with few parameters, but the concepts of this paragraph hold for all of them.
157155

@@ -178,7 +176,7 @@ To start this mode just add `use_waypoints:=true` to the general `roslaunch` com
178176
```
179177
where `robot_name` and `robot_package` are two additional launch file arguments.
180178

181-
###### Customization
179+
##### Customization
182180
You can modify the waypoint trajectory to replicate the behavior you want: either change the `<robot_package>_control/config/<robot_name>_waypoints.yaml` or add another custom application-specific file in the `config` directory. In the second case you need to set the argument `robot_name` properly when launching the command from the terminal.
183181

184182
The waypoint configuration is as follows:
@@ -216,7 +214,7 @@ waypoints:
216214
#### 3. API Control
217215
If you need a complex (i.e. real) control application, e.g. the _qb SoftHand_ is mounted on a robot which uses computer vision aid to grasp objects, the previous two control modes don't really help much. What we provide for real applications is the full ROS libraries to manage and control the _qb SoftHand_.
218216

219-
You have to dig into the [qb_hand](http://wiki.ros.org/qb_hand) package documentation and find what better suite for your needs, e.g. extend the `qbDeviceControl` class provided, or even redesign some of its parts by following an approach similar to ours.
217+
You have to dig into the [qb_hand](http://wiki.ros.org/qb_hand) package documentation and find what better suits for your needs, e.g. extend the `qbDeviceControl` class provided, or even redesign some of its parts by following an approach similar to ours.
220218

221219
>Our recommendation is to use as much as possible our resources, classes and macros to help you while developing your application. Don't reinvent the wheel!
222220

qb_hand/CHANGELOG.rst

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
Changelog for package qb_hand
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.1.0 (2018-08-07)
6+
------------------
7+
58
2.0.0 (2018-05-30)
69
------------------
710

qb_hand/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<package format="2">
22
<name>qb_hand</name>
3-
<version>2.0.0</version>
3+
<version>2.1.0</version>
44
<description>
55
This package contains the ROS interface for qbrobotics® qbhand device.
66
</description>

qb_hand_control/CHANGELOG.rst

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
Changelog for package qb_hand_control
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.1.0 (2018-08-07)
6+
------------------
7+
* Set safer default values
8+
59
2.0.0 (2018-05-30)
610
------------------
711
* Update README

qb_hand_control/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
2-
project(qb_hand_control VERSION 2.0.0 LANGUAGES CXX)
2+
project(qb_hand_control VERSION 2.1.0 LANGUAGES CXX)
33

44
# Dependency Settings
55
find_package(catkin REQUIRED)

qb_hand_control/launch/control.launch

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
<!-- read/write settings -->
1414
<arg name="get_currents" default="true" doc="Choose whether or not to retrieve current measurements from the device."/>
1515
<arg name="get_positions" default="true" doc="Choose whether or not to retrieve position measurements from the device."/>
16-
<arg name="get_distinct_packages" default="false" doc="Choose whether or not to retrieve current and position measurements from the device in two distinct packages."/>
16+
<arg name="get_distinct_packages" default="true" doc="Choose whether or not to retrieve current and position measurements from the device in two distinct packages."/>
1717
<arg name="max_repeats" default="3" doc="The maximum number of consecutive repetitions to mark retrieved data as corrupted."/>
1818
<arg name="set_commands" default="true" doc="Choose whether or not to send command positions to the device."/>
19-
<arg name="set_commands_async" default="false" doc="Choose whether or not to send commands without waiting for ack."/>
19+
<arg name="set_commands_async" default="true" doc="Choose whether or not to send commands without waiting for ack."/>
2020
<!-- initialization settings -->
2121
<arg name="activate_on_initialization" default="false" doc="Choose whether or not to activate the motors on node startup."/>
2222
<arg name="rescan_on_initialization" default="false" doc="Choose whether or not to rescan the serial ports on node startup."/>
2323
<!-- launch settings -->
2424
<arg name="standalone" default="false" doc="Choose whether or not to start the Communication Handler."/>
2525
<arg name="use_controller_gui" default="false" doc="Choose whether or not to use the controller GUI."/>
26-
<arg name="use_rviz" default="true" doc="Choose whether or not to use rviz."/>
26+
<arg name="use_rviz" default="false" doc="Choose whether or not to use rviz."/>
2727
<arg name="use_waypoints" default="false" doc="Choose whether or not to use the waypoint references."/>
2828

2929

qb_hand_control/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<package format="2">
22
<name>qb_hand_control</name>
3-
<version>2.0.0</version>
3+
<version>2.1.0</version>
44
<description>
55
This package contains the ROS control node for qbrobotics® qbhand device.
66
</description>

qb_hand_description/CHANGELOG.rst

+5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
Changelog for package qb_hand_description
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
2.1.0 (2018-08-07)
6+
------------------
7+
* Add left hand configuration
8+
* Add meshes and update right hand configuration
9+
510
2.0.0 (2018-05-30)
611
------------------
712
* Update README

qb_hand_description/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
2-
project(qb_hand_description VERSION 2.0.0 LANGUAGES CXX)
2+
project(qb_hand_description VERSION 2.1.0 LANGUAGES CXX)
33

44
# Dependency Settings
55
find_package(catkin REQUIRED)

0 commit comments

Comments
 (0)