0
$\begingroup$

Rosanswers logo

Hello, I am trying to manipulate a GP8 yaskawa robot through motoplus. My work is based on Motoman reperotory. The communication with the robot is started with robot_interface_streaming_gp8.launch of package motoman_gp8_support. I have no problem with the communicating my computer with robot.

Every time I send a new trajectory goal, the real robot starts moving. However, its motion is not continuous. It decelerates at some points and makes some stops before achieving goal. An finally, it acheaves the desired goal.

I looked into the motoman driver wiki. It was mentioned that " The interface does provide some low-level filtering, however. Sudden stops or breaks in the trajectory stream result in smooth deceleration on the physical robot hardware. "

More information:

ROS version: ROS Melodic

Computer operation system: Ubuntu 18.04.5 LTS

motoman git: kinetic-devel branch

Controller: yrc1000

Installation MotoROS: Yaskawa did it for me.

Start command:

roslaunch motoman_gp8_support robot_interface_streaming_gp8.launch robot_ip:=*. *. * .*  controller:=yrc1000 

Then I run a ROS node which publishes my two-point trajectory into "/joint_trajectory_action topic".

Trajectory generation: I send a goal trajectory of type control_msgs::FollowJointTrajectoryGoal. It is composed of two points whose velocities are zeros. This goal is sent to the "/joint_trajectory_action" topic. First trajectory point corresponds to the actual behaviour of the robot. It is got from /joint_states topic. Second point is defined by the user respecting the acceptable range limits. Typically, I send the second point using rqt_joint_trajectory_controller

Connection: The controller is connected to the computer by ethernet.

I need to know please the cause of the motion discontinuity. Can it be done because of the trajectory non-filtering before sending it to action topic? If yess, how can I filter a trajectory of type control_msgs::FollowJointTrajectoryGoal?? Are there some ROS filters for control_msgs::FollowJointTrajectoryGoal?

According to you, is there another cause of the choppy motion I am getting?

I am so thankful for your help and advices.


Originally posted by baklouti-s on ROS Answers with karma: 30 on 2021-01-27

Post score: 0


Original comments

Comment by gvdhoorn on 2021-01-27:
I believe we'd have an easier time figuring this out if you could post on the issue tracker about this.

Please include relevant details, such as:

  • which controller do you have
  • version of the system software
  • how you've installed MotoROS (did you do it, did Yaskawa do it for you)
  • which version of MotoROS you are using
  • how you start everything (ie: which .launch files)
  • how you are generating your trajectories
  • show an example trajectory you're submitting as a goal to the driver
  • capture the network traffic between your ROS PC (the one running motoman_driver) and the Yaskawa controller (use Wireshark for this)

Comment by gvdhoorn on 2021-01-27:
Finally: please mention you've posted on ROS Answers first in your issue.

And post a comment here with a link to your issue on the issue tracker.

That way we keep things connected.

Comment by baklouti-s on 2021-01-28:
I updated my subject. Thank you

Comment by gvdhoorn on 2021-01-28:
Where is your post on the ros-industrial/motoman issue tracker? I don't see it.

Comment by gvdhoorn on 2021-01-28:\

Trajectory generation: I send a goal trajectory of type control_msgs::FollowJointTrajectoryGoal. It is composed of two points whose velocities are zeros. This goal is sent to the "/joint_trajectory_action" topic. First trajectory point corresponds to the actual behaviour of the robot. It is got from /joint_states topic. Second point is defined by the user respecting the acceptable range limits.

please don't describe your trajectory.

Copy-paste the message which is sent to the driver.

Typically, I send the second point using rqt_joint_trajectory_controller

Creating trajectories using code will be much more reproducible. The rqt_joint_trajectory_controller is not a good testing tool, nor a good way to control a robot deterministically.

Then I run a ROS node which publishes my two-point trajectory into "/joint_trajectory_action topic".

if you have a ROS node, show us the code.

But again: please do this on ros-industrial/motoman, not here.

Comment by gvdhoorn on 2021-01-28:
Why did you delete your question?

Comment by gvdhoorn on 2021-01-29:
Have you solved your problem?

Comment by gvdhoorn on 2021-02-02:
This will be my last comment on your question.

I'd like to make sure you've solved your problem, even if it turned out to be not a problem, but something misunderstood for instance.

I'd appreciate it if you could post a comment here to confirm things are now working for you.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

@gvdhoorn Thank you for your interest for my subject. The main problem was the use of rqt_joint_trajectory_controller , which sends non continuous trajectory points.


Originally posted by baklouti-s with karma: 30 on 2021-02-02

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by gvdhoorn on 2021-02-02:
Thanks for reporting back.

$\endgroup$

Your Answer

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