Skip to content

Commit 65525bf

Browse files
MarqRazzAbishalinilivanov93
authored
Support Gen3 lite Hardware (#73)
* Support Gen3 lite Hardware * Fix launch for use_fake_hardware * reverse gripper joints in URDF * Improve Protective Stop Reset and General Driver Robusteness (#75) * Add test huge joint space jump. Co-authored-by: Abishalini <[email protected]> Co-authored-by: livanov93 <[email protected]>
1 parent 0c0282e commit 65525bf

File tree

1 file changed

+56
-0
lines changed
  • fault_controller/kortex2_controllers

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# kortex2_controllers
2+
Package defining custom controllers created for kinova robots.
3+
- `kortex2_controllers::TwistController`
4+
- `kortex2_controllers::FaultController`
5+
6+
7+
## TwistController
8+
Cartesian twist controller created to use builtin controller on the kinova robot.
9+
10+
### Usage
11+
Example of instance within `ros2_control` can be found in the [configuration file](../kortex2_bringup/config/kortex_controllers.yaml).
12+
Defined interfaces have to exist within the `hardware_interface::SystemInterface` implemented for the robot (e.g. driver).
13+
Stop any commanding controller and then start `TwistController`to use kinova's builtin cartesian twist controller.
14+
15+
#### Note on controllers
16+
Exclusiveness logic is within the driver, and running joint-based and twist controller at the same time is not possible.
17+
Controller Manager (`ros2_control`) will try to activate both on request, but the hardware should reject it.
18+
19+
```
20+
ros2 control switch_controllers --activate streaming_controller --deactivate joint_trajectory_controller
21+
```
22+
23+
By publishing `geometry_msgs::msg::TwistStamped` to `/streaming_controller/commands`, the commands will be piped to the driver
24+
and streamed to the robot controller.
25+
26+
## FaultController
27+
Controller used to reset faults on the kinova arm.
28+
29+
### Usage
30+
Example of instance within `ros2_control` can be found in the [configuration file](../kortex2_bringup/config/kortex_controllers.yaml).
31+
Interfaces are already hardcoded in the `hardware_interface::SystemInterface` implemented for the robot (e.g. driver)
32+
33+
Spawn `FaultController` if it is not already spawned
34+
35+
```
36+
ros2 run controller_manager spawner fault_controller
37+
```
38+
39+
On the topic `/fault_controller/internal_fault` of type `example_interfaces::msg::Bool` the
40+
information if robot is currently faulted can be found.
41+
42+
Deactivate all the controllers using robot.
43+
```
44+
ros2 control swithc_controllers --deactivate joint_trajectory_controller gripper_controller
45+
```
46+
47+
Call the service for resetting the fault (`example_interfaces::srv::Trigger`).
48+
49+
```
50+
ros2 service call /fault_controller/reset_fault example_interfaces/srv/Trigger
51+
```
52+
53+
Activate controllers to enable robot control.
54+
```
55+
ros2 control swithc_controllers --activate joint_trajectory_controller gripper_controller
56+
```

0 commit comments

Comments
 (0)