Skip to content

Commit 5126b86

Browse files
Changed to JointTrajectoryController as webots doesn't have JointGroupPositionController installed by default.
1 parent 3b268b3 commit 5126b86

File tree

2 files changed

+32
-12
lines changed

2 files changed

+32
-12
lines changed

webots_ros2_tests/resource/connector_and_vacuum_gripper_test_ros2_control.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,28 @@
22
ros__parameters:
33
update_rate: 50
44

5-
connector_and_vacuum_gripper_position_controller:
6-
type: position_controllers/JointGroupPositionController
5+
connector_and_vacuum_gripper_trajectory_controller:
6+
type: joint_trajectory_controller/JointTrajectoryController
77

88
joint_state_broadcaster:
99
type: joint_state_broadcaster/JointStateBroadcaster
1010

11-
/robot/connector_and_vacuum_gripper_position_controller:
11+
/robot/connector_and_vacuum_gripper_trajectory_controller:
1212
ros__parameters:
1313
joints:
1414
- connector_motor
1515
- vacuum_gripper_motor
16+
17+
command_interfaces:
18+
- position
19+
20+
state_interfaces:
21+
- position
22+
23+
action_monitor_rate: 20.0
24+
25+
allow_partial_joints_goal: false
26+
interpolate_from_desired_state: true
27+
constraints:
28+
stopped_velocity_tolerance: 0.01
29+
goal_time: 0.0

webots_ros2_tests/test/test_connector_and_vacuum_gripper.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@
2323
import pytest
2424
import rclpy
2525
from math import isclose
26-
from std_msgs.msg import Bool, Float64MultiArray
26+
from std_msgs.msg import Bool
2727
from webots_ros2_msgs.msg import IntStamped
2828
from webots_ros2_msgs.srv import GetBool
2929
from sensor_msgs.msg import JointState
3030
from geometry_msgs.msg import PointStamped
31+
from trajectory_msgs.msg import JointTrajectory, JointTrajectoryPoint
3132
from launch import LaunchDescription
3233
import launch
3334
import launch_testing.actions
@@ -112,7 +113,7 @@ def generate_test_description():
112113
output="screen",
113114
prefix=controller_manager_prefix,
114115
arguments=[
115-
"connector_and_vacuum_gripper_position_controller",
116+
"connector_and_vacuum_gripper_trajectory_controller",
116117
"--param-file",
117118
robot_ros2_control_params,
118119
]
@@ -203,8 +204,8 @@ def tearDownClass(cls):
203204
def setUp(self):
204205
self.__node = rclpy.create_node("connector_and_vacuum_gripper_tester")
205206
self.joint_publisher = self.__node.create_publisher(
206-
Float64MultiArray,
207-
"/robot/connector_and_vacuum_gripper_position_controller/commands",
207+
JointTrajectory,
208+
"/robot/connector_and_vacuum_gripper_trajectory_controller/joint_trajectory",
208209
1,
209210
)
210211
self.wait_for_clock(self.__node, messages_to_receive=20)
@@ -223,11 +224,13 @@ def on_position_reached(message):
223224

224225
def testConnector(self):
225226

226-
joint_msg = Float64MultiArray()
227+
joint_msg = JointTrajectory()
228+
joint_msg.joint_names = ["connector_motor", "vacuum_gripper_motor"]
227229

228-
joint_msg.data = [-0.049, 0.0]
229-
joint_msg.layout.dim = []
230-
joint_msg.layout.data_offset = 1
230+
joint_target = JointTrajectoryPoint()
231+
232+
joint_target.positions = [-0.049, 0.0]
233+
joint_msg.points.append(joint_target)
231234

232235
time.sleep(5)
233236

@@ -259,7 +262,10 @@ def testConnector(self):
259262

260263
self.assertTrue(is_locked_future.result().value)
261264

262-
joint_msg.data = [0.049, 0.0]
265+
joint_target.positions = [0.049, 0.0]
266+
joint_msg.points.clear()
267+
joint_msg.points.append(joint_target)
268+
263269
self.joint_publisher.publish(joint_msg)
264270
self.wait_for_position(0, 0.049)
265271

0 commit comments

Comments
 (0)