Skip to content

Commit 4fcae2f

Browse files
feat: better handling of RMW using environment variables + use any camera docker file
1 parent c37c846 commit 4fcae2f

25 files changed

Lines changed: 602 additions & 1062 deletions

.devcontainer/docker-compose.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ services:
22
devcontainer:
33
image: crisp_controllers_demos:base
44
build:
5-
context: ..
5+
context: ../docker
6+
dockerfile: Dockerfile.robots
67
args:
78
ROS_DISTRO: humble
8-
target: base
9+
target: kinova
910
container_name: crisp_controllers_demos_devcontainer
1011

1112
# === Tune this to your application ===

.env.example

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Robot configuration
2+
FRANKA_FAKE_HARDWARE=false
3+
ROBOT_IP=172.16.0.2
4+
LEFT_ROBOT_IP=172.16.1.2
5+
RIGHT_ROBOT_IP=172.16.0.2
6+
7+
# Camera configuration
8+
CAMERA_NAME=camera
9+
CAMERA_NAMESPACE=camera
10+
11+
# Middleware configuration
12+
# RMW=cyclone
13+
# RMW=zenoh
14+
# RMW=fastdd

.github/workflows/docker_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ jobs:
1212
steps:
1313
- uses: actions/checkout@v4
1414
- name: Build the Docker image
15-
run: docker build . --file Dockerfile
15+
run: docker build . --file docker/Dockerfile.robots

.github/workflows/docker_build_cameras.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ jobs:
1212
steps:
1313
- uses: actions/checkout@v4
1414
- name: Build the Docker image
15-
run: docker build . --file Dockerfile.cameras
15+
run: docker build . --file docker/Dockerfile.cameras
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<General>
44
<AllowMulticast>true</AllowMulticast>
55
<Interfaces>
6-
<NetworkInterface name="enx607d0937fb24" />
6+
<NetworkInterface name="${ROS_NETWORK_INTERFACE}" />
77
</Interfaces>
88
</General>
99
<Discovery>

crisp_controllers

Lines changed: 0 additions & 1 deletion
This file was deleted.

crisp_controllers_robot_demos/config/fr3/controllers.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,22 @@
176176
use_coriolis_compensation: true
177177
use_local_jacobian: true
178178

179+
torque_feedback_controller:
180+
ros__parameters:
181+
joints:
182+
- fr3_joint1
183+
- fr3_joint2
184+
- fr3_joint3
185+
- fr3_joint4
186+
- fr3_joint5
187+
- fr3_joint6
188+
- fr3_joint7
189+
190+
end_effector_frame: fr3_hand_tcp
191+
base_frame: base
192+
193+
k_fb: 0.6
194+
kd: 0.1
195+
joint_source_topic: target_joint
196+
torque_threshold: 0.1
197+

crisp_controllers_robot_demos/config/fr3/left_controllers.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ left:
2121
cartesian_impedance_controller:
2222
type: crisp_controllers/CartesianController
2323

24+
torque_feedback_controller:
25+
type: crisp_controllers/TorqueFeedbackController
26+
27+
external_torques_broadcaster:
28+
type: franka_force_feedback_controllers/ExternalTorquesBroadcaster
29+
2430
joint_trajectory_controller:
2531
ros__parameters:
2632
command_interfaces:
@@ -174,3 +180,31 @@ left:
174180
use_local_jacobian: true
175181
limit_error: true
176182
limit_torques: true
183+
184+
torque_feedback_controller:
185+
ros__parameters:
186+
joints:
187+
- left_fr3_joint1
188+
- left_fr3_joint2
189+
- left_fr3_joint3
190+
- left_fr3_joint4
191+
- left_fr3_joint5
192+
- left_fr3_joint6
193+
- left_fr3_joint7
194+
end_effector_frame: left_fr3_hand_tcp
195+
base_frame: left_base
196+
k_fb: 0.9
197+
kd: 0.1
198+
joint_source_topic: /right/external_torques_joint_state
199+
torque_threshold: 2.0
200+
201+
external_torques_broadcaster:
202+
ros__parameters:
203+
joints:
204+
- left_fr3_joint1
205+
- left_fr3_joint2
206+
- left_fr3_joint3
207+
- left_fr3_joint4
208+
- left_fr3_joint5
209+
- left_fr3_joint6
210+
- left_fr3_joint7

crisp_controllers_robot_demos/config/fr3/right_controllers.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ right:
2121
joint_impedance_controller:
2222
type: crisp_controllers/CartesianController
2323

24+
torque_feedback_controller:
25+
type: crisp_controllers/TorqueFeedbackController
26+
27+
external_torques_broadcaster:
28+
type: franka_force_feedback_controllers/ExternalTorquesBroadcaster
29+
2430
joint_trajectory_controller:
2531
ros__parameters:
2632
command_interfaces:
@@ -174,3 +180,31 @@ right:
174180
use_local_jacobian: true
175181
limit_error: true
176182
limit_torques: true
183+
184+
torque_feedback_controller:
185+
ros__parameters:
186+
joints:
187+
- right_fr3_joint1
188+
- right_fr3_joint2
189+
- right_fr3_joint3
190+
- right_fr3_joint4
191+
- right_fr3_joint5
192+
- right_fr3_joint6
193+
- right_fr3_joint7
194+
end_effector_frame: right_fr3_hand_tcp
195+
base_frame: right_base
196+
k_fb: 0.9
197+
kd: 0.1
198+
joint_source_topic: /left/external_torques_joint_state
199+
torque_threshold: 2.0
200+
201+
external_torques_broadcaster:
202+
ros__parameters:
203+
joints:
204+
- right_fr3_joint1
205+
- right_fr3_joint2
206+
- right_fr3_joint3
207+
- right_fr3_joint4
208+
- right_fr3_joint5
209+
- right_fr3_joint6
210+
- right_fr3_joint7

crisp_controllers_robot_demos/config/iiwa/controllers.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
- joint_a6
3232
- joint_a7
3333
gains:
34-
fr3_joint1: { p: 600., d: 30., i: 0., i_clamp: 1. }
35-
fr3_joint2: { p: 600., d: 30., i: 0., i_clamp: 1. }
36-
fr3_joint3: { p: 600., d: 30., i: 0., i_clamp: 1. }
37-
fr3_joint4: { p: 600., d: 30., i: 0., i_clamp: 1. }
38-
fr3_joint5: { p: 250., d: 10., i: 0., i_clamp: 1. }
39-
fr3_joint6: { p: 150., d: 10., i: 0., i_clamp: 1. }
40-
fr3_joint7: { p: 50., d: 5., i: 0., i_clamp: 1. }
34+
joint_a1: { p: 1000., d: 30., i: 0., i_clamp: 1. }
35+
joint_a2: { p: 1000., d: 30., i: 0., i_clamp: 1. }
36+
joint_a3: { p: 1000., d: 30., i: 0., i_clamp: 1. }
37+
joint_a4: { p: 1000., d: 30., i: 0., i_clamp: 1. }
38+
joint_a5: { p: 1000., d: 10., i: 0., i_clamp: 1. }
39+
joint_a6: { p: 1000., d: 10., i: 0., i_clamp: 1. }
40+
joint_a7: { p: 1000., d: 5., i: 0., i_clamp: 1. }
4141

4242
joint_state_broadcaster:
4343
ros__parameters:

0 commit comments

Comments
 (0)