-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
streamer crashing when sending trajectory #228
Comments
It would be great if you could provide a Be sure to build with |
As to the fix suggested: I'm not sure that should be required. The idea is that no changes to the node source are necessary to configure the driver for use with different robot configurations. If there are, that would be a sign of something not being implemented correctly. |
Looks like the "version0" T/F bool was intended to be passed down to this
node from launch. However, the node has "false" hard coded. Our temporary
fix was to change "false" to "true" hard coded and recompile. But that is
not a general solution--just a hint at the source of the problem.
Anyway, after making this change, we could follow the tutorial and use the
python test function, e.g.: rosrun motoman_driver move_to_joint.py
"[0,0,0,0,0,0]" ,
as well as a raw: rostopic pub /joint_path_command
trajectory_msgs/JointTrajectory ... to get the robot moving.
…On Tue, Jul 3, 2018 at 10:19 AM, G.A. vd. Hoorn ***@***.***> wrote:
As to the fix suggested: I'm not sure that should be required. The idea is
that no changes to the node source are necessary to configure the driver
for use with different robot configurations. If there are, that would be a
sign of something not being implemented correctly.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#228 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKAK2ASQvbxv8yzVx8hyekr2OmMuioXKks5uC32IgaJpZM4VBCW1>
.
--
Wyatt Newman, Ph.D., P.E.
Professor, EECS Dept
Case Western Reserve University
Cleveland, OH 44106
216-368-6432
[email protected]
|
Configuration of the driver is done using various Can you share your configuration? Did you create a configuration with the A backtrace would still be very welcome. |
Setting this parameter actually caused us different errors. Namely, a complaint about expecting DynamicJointTrajectory messages, when we were using JointTrajectory messages. Is this parameter meant to always be set? We spoke to a friend who has been through this process, and he suggested that it is just for the multi-robot case. Documentation is a little sparse on this topic, though. |
There are two sides to the driver:
the former will accept As most people will always use the If you want to bypass the JTA node, then you'll have to send the correct type of message. There is no way around that. Could you perhaps clarify a bit why you don't want to use the action server?
that is technically true, but it would work with single motion-group setups as well. |
In bringing up a robot for the first time, it is convenient to use
incremental steps. I liked the tutorial's explanation of how to do a
low-level test with rosrun motoman_driver move_to_joint.py ... However,
this no longer works, which was frustrating.
But we managed to reverse-engineer the barrier and get through it.
I likely will end up using the action server. But there was no
corresponding action-client test function (and no tutorial) to help us
bring up a new robot via the action server.
I suggest it would be useful to update move_to_joint.py and update the
tutorial. We did waste substantial time trying to get this to run. We are
probably not the only ones who will get frustrated by this.
However, we have motion now. So we're good. We do appreciate your
responses. Perhaps others will appreciate this thread.
…On Tue, Jul 3, 2018 at 10:44 AM, G.A. vd. Hoorn ***@***.***> wrote:
There are two sides to the driver:
1. single group
2. multi-group
the former will accept JointTrajectory msgs, the latter only
DynamicJointTrajectory msgs.
As most people will always use the joint_trajectory_action node to
interface with the driver, they are never exposed to this difference. The
action server accepts FollowJointTrajectory goals which it then sends to
the correct topics exposed by the driver, after converting trajectories to
the correct type.
If you want to bypass the JTA node, then you'll have to send the correct
type of message. There is no way around that.
Could you perhaps clarify a bit why you don't want to use the action
server?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#228 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKAK2IqglfAgpTP8tBMTM6b98nhtkkI0ks5uC4NWgaJpZM4VBCW1>
.
--
Wyatt Newman, Ph.D., P.E.
Professor, EECS Dept
Case Western Reserve University
Cleveland, OH 44106
216-368-6432
[email protected]
|
In general I would suggest to report this sort of issue earlier. We are all here to help, but if we don't know you are encountering problems, we cannot help you. We also cannot fix things. As to your suggestion: that is certainly a good idea.
In a way, not using the action server is actually discouraged. Even though there are separate nodes, they're really only typically used in combination. |
Tracking the suggestion to add an action client example in #229. |
It would still be very nice if you could add a backtrace to this issue, so we can debug the issue with the driver crashing with your configuration. |
I think I have a similar problem, but changing the line motionInterface.init("", FS100_motion_port, false); to "true" did not help. If I do:
I get back:
Any suggestions why that happens? I strictly followed the motoman_driver- Usage tutorial. Funny thing is, it worked a few weeks ago.. I just reinstalled ros-kinetic. Perhaps @gavanderhoorn you have a clue? |
Perhaps you fixed this already.
As you noted, we modified the motion streaming interface to set the
`version0` boolean to `"true"`
In addition, we modified the higher-level launch file (for DX200, in our
case) robot_interface_streaming.launch to comment out start-up of the
action server (which looks for a topic_list on the parameter server). I
modified as follows:
<!-- joint_trajectory_action: provides actionlib interface for
high-level robot control
-->
<!-- WSN: eliminate action server....
<node if="$(arg version0)" name="joint_trajectory_action"
pkg="industrial_robot_client" type="joint_trajectory_action" />
<node unless="$(arg version0)" name="joint_trajectory_action"
pkg="motoman_driver" type="motoman_driver_joint_trajectory_action" />
-->
I realize this is hideous and breaks code re-use and standardization. But
we had to move forward quickly, and this hack got us running.
I hope you have similar success.
|
Changing the code should not be necessary, and if it is, then something is wrong (and it should be fixed). Without a backtrace, I couldn't start to diagnose the problem reported by @wsnewman however. I don't believe you get a crash @Berti006, is that correct? I'll be able to take a look at all of this next week, right now I'm on travel. If you can make your configuration available @Berti006 that would help. Personally I always create an application-specific configuration package that contains the joint names to use and a wrapper launch file that loads everything (ie: the correct |
If I use the latest version I also get a crash when sending:
I tried to change the joint_names ( I also followed the tutorial to get the basic functionalities up and running. That's why I also use the But from your previous answer I think it might be better to use the Thanks for your help ;) |
The joint trajectory streamer is crashing with error code 11 when we try to manually send a joint trajectory via a rostopic pub.
On the recommendation of gvdhoorn, we are posting an issue based on this ROS Answers post.
Here are our steps to recreate the problem:
$roslaunch motoman_mh50_support load_mh50.launch
''Link to the above code's source
$roslaunch motoman_mh50_support robot_interface_streaming_mh50.launch robot_ip:=192.168.1.31 controller:=dx200
At this step, we get an error message on console:
[ERROR] [1530281183.991488318]: Failed to find topic_list parameter
And this error message results:
We have since fixed this issue by editing joint streaming node
and changing:
motionInterface.init("", FS100_motion_port, false);
to
motionInterface.init("", FS100_motion_port, true);
The text was updated successfully, but these errors were encountered: