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
To simulate the 7 DoF Kinova Gen3 robot arm with mock hardware:
182
+
The accepted arguments are:
183
+
184
+
*`robot_type` : Your robot model. Possible values are either `gen3` or `gen3_lite`, the default is `gen3`.
185
+
186
+
*`gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85` or `robotiq_2f_140`. For the Gen3 Lite, the only option is `gen3_lite_2f`. Default value is an empty string, which will display the arm without a gripper.
187
+
188
+
*`dof` : Degrees of freedom of the arm. Possible values for the Gen3 are either `6` or `7`. For the Gen3 Lite, the only option is `6`. Default value is `7`.
189
+
190
+
### Gen 3 Robots
191
+
192
+
The `gen3.launch.py` launch file is designed to be used for Gen3 arms. The typical use case to bringup and visualize the 7 DoF Kinova Gen3 robot arm (default) with mock hardware on Rviz:
185
193
186
194
```bash
187
195
ros2 launch kortex_bringup gen3.launch.py \
188
196
robot_ip:=yyy.yyy.yyy.yyy \
189
197
use_fake_hardware:=true
190
198
```
191
199
192
-
To generate motion plans and execute them with a simulated 7 DoF Kinova Gen3 arm with mock hardware:
You can specify the following arguments if you wish to change your arm configuration:
207
+
208
+
*`robot_type`: Your robot model. Default value (and only one) is `gen3`.
209
+
210
+
*`gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85`, `robotiq_2f_140` or `""`. Default is `robotiq_2f_85`. An empty string will not initialise any gripper.
211
+
212
+
*`gripper_joint_name` : Name of the controlled joint of the gripper attached to the arm. Default value is `robotiq_85_left_knuckle_joint`.
213
+
214
+
*`use_internal_bus_gripper_comm` : Use internal bus for gripper communication. Default value is `true`.
215
+
216
+
*`gripper_max_velocity` : Max velocity for gripper commands. Default value is `100.0`.
217
+
218
+
*`gripper_max_force` : Max force for gripper commands. Default value is `100.0`.
219
+
220
+
*`dof` : Degrees of freedom of the arm. Possible values are either `6` or `7`.Default value is `7`.
221
+
222
+
*`robot_ip` : IP address by which the robot can be reached. No default is specified, this is a required argument. All arms are shipped with address `192.168.1.10`, but if you have reassigned your physical arm's robot IP address, then you will need to assign that ip address.
223
+
224
+
*`use_fake_hardware` : Start robot with fake hardware mirroring command to its states. Default value is `false`.
225
+
226
+
*`fake_sensor_commands` : Enable fake command interfaces for sensors used for simple simulations. Used only if 'use_fake_hardware' parameter is true. Default value is `false`.
227
+
228
+
*`robot_controller` : Robot controller to start. Possible values are `twist_controller` and `joint_trajectory_controller`.Default value is `joint_trajectory_controller`.
229
+
230
+
*`controllers_file` : Ros 2 control configuration file to use. Default value is `ros2_controllers.yaml`
231
+
232
+
*`launch_rviz` : Start an Rviz window to visualize the robot. Default value is `true`.
233
+
234
+
#### Robotiq gripper
235
+
236
+
The Robotiq 2f 85 (or 2f 140) Gripper will be available on the Action topic:
237
+
238
+
```bash
239
+
/robotiq_gripper_controller/gripper_cmd
198
240
```
199
241
200
-
Alternatively, if you wish to use the Kinova Gen3's 6 DoF variant:
242
+
You can test the gripper by calling the Action server with the following command and setting the desired `position` of the gripper (`0.0=open`, `0.8=close`)
Alternatively, if you wish to use the Kinova Gen3_lite's 6 DoF variant:
257
+
Alternatively, if you wish to use the physical robot:
218
258
219
259
```bash
220
-
ros2 launch kortex_bringup gen3.launch.py \
221
-
robot_ip:=yyy.yyy.yyy.yyy \
222
-
use_fake_hardware:=true \
223
-
robot_type:=gen3_lite \
224
-
gripper:=gen3_lite_2f \
225
-
dof:=6
260
+
ros2 launch kortex_bringup gen3_lite.launch.py \
261
+
robot_ip:=192.168.1.10 \
226
262
```
227
263
228
-
To simulate the 7dof Kinova Gen3 robot with ignition run the following:
264
+
You can specify the following arguments if you wish to change your arm configuration:
265
+
266
+
*`robot_type`: Your robot model. Default value (and only one) is `gen3_lite`.
267
+
268
+
*`gripper` : Gripper to use. Default value (and only one) is `gen3_lite_2f`.
269
+
270
+
*`gripper_joint_name` : Name of the controlled joint of the gripper attached to the arm. Default value (and only one) is `right_finger_bottom_joint`.
271
+
272
+
*`use_internal_bus_gripper_comm` : Use internal bus for gripper communication. Default value is `true`.
273
+
274
+
*`gripper_max_velocity` : Max velocity for gripper commands. Default value is `100.0`.
275
+
276
+
*`gripper_max_force` : Max force for gripper commands. Default value is `100.0`.
277
+
278
+
*`robot_ip` : IP address by which the robot can be reached. No default is specified, this is a required argument. All arms are shipped with address `192.168.1.10`, but if you have reassigned your physical arm's robot IP address, then you will need to assign that ip address. If you're using an USB to Ethernet interface to connect your robot to your machine instead of USB via RNDIS, the ip address will be `192.168.2.10`.
279
+
280
+
*`use_fake_hardware` : Start robot with fake hardware mirroring command to its states. Default value is `false`.
281
+
282
+
*`fake_sensor_commands` : Enable fake command interfaces for sensors used for simple simulations. Used only if 'use_fake_hardware' parameter is true. Default value is `false`.
283
+
284
+
*`robot_controller` : Robot controller to start. Possible values are `twist_controller` and `joint_trajectory_controller`.Default value is `joint_trajectory_controller`.
285
+
286
+
*`controllers_file` : Ros 2 control configuration file to use. Default value is `ros2_controllers.yaml`
287
+
288
+
*`description_file` : URDF/XACRO description file with the robot. Default value is `gen3_lite_gen3_lite_2f.xacro`.
289
+
290
+
*`launch_rviz` : Start an Rviz window to visualize the robot. Default value is `true`.
291
+
292
+
293
+
## Simulation
294
+
The `kortex_sim_control.launch.py` launch file is designed to simulate all of our arm models, you just need to specify your configuration through the arguments. By default, the Gen3 7 dof configuration is used :
*`sim_ignition` : Use Ignition for simulation. Default value is `true`.
303
+
*`sim_gazebo` : Use Gazebo Classic for simulation. Default value is `false`.
304
+
*`robot_type` : Your robot model. Possible values are either `gen3` or `gen3_lite`.Default is `gen3`.
305
+
*`robot_name` : Name you would like your robot to have. Default value is `gen3`.
306
+
*`dof` : Degrees of freedom of the arm. Possible values are either `6` or `7`.Default value is `7`.
307
+
*`vision` : Use arm mounted realsens. Possible values are either `true` or `false`. Default value is `false`. This option does not generate simulated images, it only loads up the robot's URDF that includes the vision link.
308
+
*`robot_controller` : Robot joint controller to start. Default value is `joint_trajectory_controller`.
309
+
*`robot_pos_controller` : Robot position controller to start. Default value is `twist_controller`.
310
+
*`robot_hand_controller` : Robot gripper controller to start. Default value is `robotiq_gripper_controller`.
311
+
*`controllers_file` : Ros 2 control configuration file to use. Default value is `ros2_controllers.yaml`
312
+
*`description_package` : Description package with robot URDF/XACRO files. Default value is `kortex_description`.
313
+
*`description_file` : URDF/XACRO description file with the robot. Default value is `kinova.urdf.xacro`.
314
+
*`prefix` : Prefix of the joint names, useful for multi-robot setup. If changed, then also joint names in the controllers' configuration have to be updated. Default value is `""` (none).
315
+
*`use_sim_time` : Use simulated clock. Default value is `true`.
316
+
*`gripper` : Gripper to use. Possible values for the Gen3 are either `robotiq_2f_85`, `robotiq_2f_140` or `""`. Default is `robotiq_2f_85`. An empty string will not initialise any gripper.
317
+
318
+
#### MoveIt2
319
+
320
+
To generate motion plans and execute them with a simulated 7 DoF Kinova Gen3 arm with mock hardware:
To generate motion plans and execute them with an ignition simulated 7 DoF Kinova Gen3 arm (previously launched with the command at the [simulation](#simulation) section):
**Note: If you have reassigned your physical arm's robot IP address, then you will need to assign that ip address to `robot_ip`**
251
349
350
+
**Note: Currently, MoveIt configs are only provided for Gen3 6 and 7 dof configurations. If you wish to use the Gen3 Lite with MoveIt, you can generate it with MoveIt's setup assisstant.**
351
+
352
+
353
+
## Commanding the arm (physically and in simulation)
252
354
You can command the arm by publishing Joint Trajectory messages directly to the joint trajectory controller:
Depending on your robot type and its DoF, you will need to adapt the `joint_names` and `positions` properties accordingly. For the Gen3 Lite arm, the integrated gripper is considered as a joint, so to command it, it must be included in the `joint_names` array. (`0.0=open`, `1.0=close`):
You can also command the arm using Twist messages. Before doing so, you must active the `twist_controller` and deactivate the `joint_trajectory_controller`:
263
377
```bash
264
378
ros2 service call /controller_manager/switch_controller controller_manager_msgs/srv/SwitchController "{
@@ -291,18 +405,6 @@ ros2 service call /controller_manager/switch_controller controller_manager_msgs/
291
405
}"
292
406
```
293
407
294
-
The Robotiq 2f 85 Gripper will be available on the Action topic:
295
-
296
-
```bash
297
-
/robotiq_gripper_controller/gripper_cmd
298
-
```
299
-
300
-
You can test the gripper by calling the Action server with the following command and setting the desired `position` of thr gripper (`0.0=open`, `0.8=close`)
0 commit comments