You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As the minimal SWD® Starter Kit config files do not exist on your IPC, you can install them manually as specified above or install them via a third package.
152
+
As the minimal SWD® Starter Kit config files do not exist on your IPC, you can install them manually as specified above or install them via a third package.
152
153
153
154
In this case, make sure you have added the ez-Wheel repository to your `/etc/apt/sources.list` as specified above.
154
155
@@ -201,9 +202,9 @@ This controller drives two ez-Wheel SWD® wheels as a differential-drive robot.
201
202
202
203
### Parameters
203
204
205
+
-`baseline_m` of type **`double`**: The distance (in meters) between the 2 wheels (mandatory parameter).
204
206
-`left_swd_config_file` of type **`string`**: Path to the `.ini` configuration file of the left motor (mandatory parameter).
205
207
-`right_swd_config_file` of type **`string`**: Path to the `.ini` configuration file of the right motor (mandatory parameter).
206
-
-`baseline_m` of type **`double`**: The distance (in meters) between the 2 wheels (mandatory parameter).
207
208
-`pub_freq_hz` of type **`int`**: Frequency (in Hz) of published odometry and TFs (default `50`).
208
209
-`command_timeout_ms` of type **`int`**: The delay (in milliseconds) before stopping the wheels if no command is received (default `1000`).
209
210
-`base_frame` of type **`string`**: Frame ID for the moving platform, used in odometry and TFs (default `'base_link'`) (see [REP-150](https://www.ros.org/reps/rep-0105.html) for more info).
@@ -217,34 +218,38 @@ This controller drives two ez-Wheel SWD® wheels as a differential-drive robot.
217
218
-`control_mode` of type **`string`**: This parameter selects the control mode of the robot, if `'Twist'` is selected, the node will subscribe to the `~cmd_vel` topic, if `'LeftRightSpeeds'` is selected, the node subscribe to `~set_speed` (default `'Twist'`).
218
219
-`left_encoder_relative_error` of type **`double`**: Relative error for left wheel encoder, used to calculate variances and propagate them to calculate the uncertainties in the odometry message. Each encoder acquisition **`DIFF_LEFT_ENCODER`** is modeled as: **`DIFF_LEFT_ENCODER +/- abs(left_encoder_relative_error * DIFF_LEFT_ENCODER)`** (default `0.05` corresponding to 5% of error).
219
220
-`right_encoder_relative_error` of type **`double`**: Relative error for right wheel encoder, used to calculate variances and propagate them to calculate the uncertainties in the odometry message. Each encoder acquisition **`DIFF_RIGHT_ENCODER`** is modeled as: **`DIFF_RIGHT_ENCODER +/- abs(right_encoder_relative_error * DIFF_RIGHT_ENCODER)`** (default `0.05` corresponding to 5% of error).
220
-
-`fine_odometry` of type **`bool`**: Use fine odometry (default `false`). See fine_odometry.md for procedure to follow.
221
221
222
222
### Subscribed Topics
223
223
224
-
-`~cmd_vel` of type **`geometry_msgs::Twist`**: Target linear and angular velocities (when `control_mode:='Twist'`, this is the default).
225
-
-`~set_speed` of type **`geometry_msgs::Point`**: Target speeds in rad/s for left (`Point.x`) and right (`Point.y`) wheels (when `control_mode:='LeftRightSpeeds'`).
226
-
-`~soft_brake` of type **`std_msgs::Bool`**: Activate or release the soft brake, send `false` to release the brake, or `true` to activate it.
224
+
-`/cmd_vel` of type **`geometry_msgs::Twist`**: Target linear and angular velocities (when `control_mode:='Twist'`, this is the default).
225
+
-`/set_speed` of type **`geometry_msgs::Point`**: Target speeds in rad/s for left (`Point.x`) and right (`Point.y`) wheels (when `control_mode:='LeftRightSpeeds'`).
226
+
-`/soft_brake` of type **`std_msgs::Bool`**: Activate or release the soft brake, send `false` to release the brake, or `true` to activate it.
227
227
228
228
### Published Topics
229
229
230
-
-`~odom` of type **`nav_msgs::Odometry`**: Odometry message based on wheels encoders, containing the pose and velocity of the robot with their's associated uncertainties. Unless disabled by the `publish_tf` parameter, TFs with the same information are also published.
231
-
-`~safety` of type **`swd_ros_controllers::SafetyFunctions`**: Safety messages communicated by the wheels via CANOpen, the message includes information about Safe Torque Off (STO), Safety Limited Speed (SLS), Safe Direction Indication (forward/backward) (SDI+/-), and Safe Brake Control (SBC).
230
+
-`/odom` of type **`nav_msgs::Odometry`**: Odometry message based on wheels encoders, containing the pose and velocity of the robot with their's associated uncertainties. Unless disabled by the `publish_tf` parameter, TFs with the same information are also published.
231
+
-`/safety` of type **`swd_ros_controllers::SafetyFunctions`**: Safety messages communicated by the wheels via CANOpen, the message includes information about Safe Torque Off (STO), Safety Limited Speed (SLS), Safe Direction Indication (forward/backward) (SDI+/-), and Safe Brake Control (SBC).
232
232
233
233
## Custom message types
234
234
235
235
### The `swd_ros_controllers::SafetyFunctions` message
236
236
237
-
This message encodes the safety functions read from the SWD via CANOpen.
237
+
This message provides information about CiA 402-4 CANopen safety drive functions.
238
+
True if the safety drive function is enabled.
238
239
239
240
```
240
241
Header header
241
-
bool safe_torque_off
242
-
bool safe_brake_control
243
-
bool safety_limited_speed
244
-
bool safe_direction_indication_forward
245
-
bool safe_direction_indication_backward
242
+
bool safe_torque_off # Safe Torque Off (STO)
243
+
bool safe_brake_control # Safe Brake Control (SBC)
0 commit comments