0
$\begingroup$

Rosanswers logo

Dear ROS developers & users,

Let me formulate my situation.

Aim :: To move the ur10 universal robot with respect to the updated action goals which are being published to its corresponding ROS topic "/follow_joint_trajectory/goal"

Things performed ::

For the sake of completeness, the complete message structure of "control_msgs/FollowJointTrajectoryActionGoal" looks in the following manner.

ros@rosPC:~$ rosmsg show control_msgs/FollowJointTrajectoryActionGoal

std_msgs/Header header

uint32 seq

time stamp

string frame_id

actionlib_msgs/GoalID goal_id

time stamp

string id

control_msgs/FollowJointTrajectoryGoal goal

trajectory_msgs/JointTrajectory trajectory

std_msgs/Header header
   uint32 seq
   time stamp
   string frame_id

string[] joint_names

trajectory_msgs/JointTrajectoryPoint[] points
  float64[] positions
  float64[] velocities
  float64[] accelerations
  float64[] effort
  duration time_from_start

control_msgs/JointTolerance[] path_tolerance

 string name
 float64 position
 float64 velocity
 float64 acceleration

control_msgs/JointTolerance[] goal_tolerance

 string name
 float64 position
 float64 velocity
 float64 acceleration

duration goal_time_tolerance

  • To be precise, I neglected the following parts of the above mentioned message while publishing the action goals to the ROS topic "follow_joint_trajectory/goal".

Field --- Object => Class (My interpretation of the message structure)

std_msgs/Header header => control_msgs/FollowJointTrajectoryActionGoal

time stamp ---- actionlib_msgs/GoalID goal_id => control_msgs/FollowJointTrajectoryActionGoal

std_msgs/Header header => trajectory_msgs/JointTrajectory trajectory

duration time_from_start ---- trajectory_msgs/JointTrajectoryPoint[] points => trajectory_msgs/JointTrajectory trajectory

duration goal_time_tolerance => control_msgs/FollowJointTrajectoryActionGoal

  • So far, the ROS topic "/follow_joint_trajectory/goal" is clearly published with the action goals

Typical action goal published to the ROS topic "/follow_joint_trajectory/goal" and the message looks in the following way.

header:

seq: 0

stamp:     

   secs: 0    

   nsecs: 0

frame_id: ''

goal_id:

stamp: 

   secs: 0

   nsecs: 0

 id: 0

goal:

trajectory: 

  header: 

    seq: 0

    stamp: 
      secs: 0
      nsecs: 0

    frame_id: ''

  joint_names: ['shoulder_pan_joint', 'shoulder_lift_joint', 'elbow_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint']

  points: 
    - 
      positions: [1.4770721197128296, -2.000670909881592, 1.7188003063201904, -2.132617950439453, -1.6139060258865356, -0.28640851378440857]

      velocities: [1.4770721197128296, -2.000670909881592, 1.7188003063201904, -2.132617950439453, -1.6139060258865356, -0.28640851378440857]

      accelerations: [0.7385360598564148, -1.000335454940796, 0.8594001531600952, -1.0663089752197266, -0.8069530129432678, -0.14320425689220428]

      effort: []

      time_from_start: 
        secs: 0
        nsecs: 0
    - 

      positions: [1.9598301649093628, -1.015956163406372, 1.7667968273162842, -2.3582887649536133, -1.60133957862854, -0.4801400899887085]

      velocities: [1.9598301649093628, -1.015956163406372, 1.7667968273162842, -2.3582887649536133, -1.60133957862854, -0.4801400899887085]

      accelerations: [0.9799150824546814, -0.507978081703186, 0.8833984136581421, -1.1791443824768066, -0.80066978931427, -0.24007004499435425]

      effort: []

      time_from_start: 
        secs: 0
        nsecs: 0

path_tolerance: -

  name: pt
  position: 0.0872664600611
  velocity: 0.0872664600611
  acceleration: 0.0872664600611

goal_tolerance: -

  name: gt
  position: 0.0872664600611
  velocity: 0.0872664600611
  acceleration: 0.0872664600611

goal_time_tolerance:

secs: 0
nsecs: 0

ros@rosPC:~$ rostopic echo /follow_joint_trajectory/goal

Result :: Even though the action goals are published on the desired ROS topic (i.e., "/follow_joint_trajectory/goal"), ur10 robot doesn't move at all

Conclusion drawn from the result :: May be I have to fill the neglected parts of the message structure in order to move the UR10 robot successfully

Query

In the above mentioned message, it consists of two header parts where the relevant information needs to be filled. One header is dedicated to the "control_msgs/FollowJointTrajectoryActionGoal" itself and other one belongs to the "trajectory_msgs/JointTrajectory".

Do I have to fill both the headers with relevant info (i.e., seq, stamp, frame_id)?

Has anyone encountered such kind of situation before? If yes, please give me your invaluable suggestions.

Thanking You,

BR,

Sriniwas


Originally posted by Sriniwas on ROS Answers with karma: 26 on 2015-07-15

Post score: 0


Original comments

Comment by JuanTelo on 2018-02-01:
Hi I'm also facing some problems with moving the ur10. I have one question though, are you using the position of joints to move? why not put a final position for say the end effector the make the robot move in order to get there?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I solved my problem regarding why the ur10 robot was not moving.

The conclusion which i stated before is right. The action goals which i am publishing in the first place has to be filled with relevant header info, stamp info of goal_id and time_from_start of the trajectory field present within the goal object of the action goal itself.

The thing which was really missing was the actionlib::SimpleActionCleint interface which is required to send the goal to the ur10 robot (here the ur10 robot acts like a server). I referred to this link Moving the arm using the Joint Trajectory Action to realize how to move the ur10 arm.

If anyone is facing a similar problem, please let me know.

BR,

Sriniwas


Originally posted by Sriniwas with karma: 26 on 2015-08-12

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by semmas on 2015-08-28:
Hi, I'm also face the similar problem. Can you please share your file because I'm also using the same model UR10?

Comment by Adolfo Rodriguez T on 2015-08-31:
Also, all of your waypoints have zero time_from_start. This field represents the time relative to the trajectory start at which the waypoint should be reached. Trajectory start time is given by the trajectory_msgs/JointTrajectory header timestamp. Zero timestamp (default) means start immediately

Comment by JuanTelo on 2018-02-05:
Hi, I'm facing a similar problem. Can you please contact me: [email protected] I'm facing problems with the structure of the message

Comment by _suresh on 2018-09-25:
hi, i am also facing similar problem with the message structure. i am also trying to publish message to the jointTrajectory to move the robot.Thank you. please contact me at [email protected] or if there is any other way to contact you regarding this problem.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.