Ros Matlab I/O joint_state publisher
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all, I am playing around with the Matlab ROS I/O and came across a problem when trying to publish joint state messages, i.e. of type sensor_msgs/JointState.
I can create the msg ok and add position, velocity, etc, values but I cannot fill in the joint names. For example:
...
>> msg = rosmatlab.message('sensor_msgs/JointState',node);
>> msg.setPosition(1,2,3,4);
>> msg.setVelocity(1,2,3,4);
>> msg.setName(['j1','j2','j3','j4'])
No method 'setName' with matching signature found for class 'org.ros.internal.message.$Proxy12'.
or
>> msg.setName('[j1,j2,j3,j4]')
No method 'setName' with matching signature found for class 'org.ros.internal.message.$Proxy12'.
Does anyone know how to set the joint names?
Thanks, Ioannis
0 Kommentare
Antworten (2)
Viktor Dluhos
am 17 Aug. 2017
Hi Ioannis,
I had the same problem and I found the solution. Its a bit crazy but it works. You have to create cell array of strings. So what have I done. First I created a string array. Then to each field I set names and then I created a cell from this string array. joints = java_array('java.lang.String',3); joints(1) = java.lang.String('Joint1'); joints(2) = java.lang.String('Joint2'); joints(3) = java.lang.String('Joint_GripperBase') joints_cell = cell(joints) msg.Name = joints_cell
I know you had older matlab and now its totally different, but If someone will have the same problem, then here is the answer.
Viktor D.
0 Kommentare
Leonardo Fabio M. Benítez
am 25 Okt. 2020
for me it work, but i have a big problem with parameter Header. :(
mensaje_articulaciones = rosmessage(publicador_robot);
%mensaje_articulaciones.Header = {'auto'};
mensaje_articulaciones.Name = {'joint_1', 'joint_2', 'joint_3', 'joint_4'};
mensaje_articulaciones.Position = [0,0,0,0];
mensaje_articulaciones.Velocity = [];
mensaje_articulaciones.Effort = [];
0 Kommentare
Siehe auch
Kategorien
Mehr zu Publishers and Subscribers finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!