motoman industrial ROS streamer crashing when sending trajectory
We are attempting to command a Motoman MH50 robot with ROS industrial. We were able to command the robot to arbitrary positions with a (Windows) test GUI from Motoman, so it appears our low-level communications is working. However, the ROS interface from Linux is not working. When sending trajectory commands, the streamer crashes (and leaves no log messages).
Here is our process:
1) we start up the Motoman controller with the INIT_ROS job running.
2) we run a launch file to load the robot model:
$roslaunch motoman_mh50_support load_mh50.launch
link to the package containing this file
3) we run a launch file for the streamer:
$roslaunch motoman_mh50_support robot_interface_streaming_mh50.launch robot_ip:=192.168.1.31 controller:=dx200
We get errors saying
"[ERROR] [1530281183.991488318]: Failed to find topic_list parameter"
But we think this is a red herring.
So far (other than the topic_list error), all seems OK, and we can do
$rostopic echo joint_states.
However, we still can't get the streamer to accept trajectory commands. We tried:
rostopic pub /joint_path_command trajectory_msgs/JointTrajectory \
"{joint_names: ['joint_1_s', 'joint_2_l', 'joint_3_u', 'joint_4_r', 'joint_5_b', 'joint_6_t'], \
points: [ \
{time_from_start: {secs: 0.1}, \
positions: [0.0, 0.0, -8.751316272537224e-06, 0.0, -1.917476038215682e-05, 0.0],
velocities: [0,0,0,0,0,0]},\
{time_from_start: {secs: 1}, \
positions: [0, 0, 0, 0, 1, 0],
velocities: [0,0,0,0,0,0]}\
]}" -1
but the streamer crashes with the message:
[motion_streaming_interface-2] process has died [pid 18220, exit code -11, cmd /home/wyatt/ros_ws/devel/lib/motoman_driver/motion_streaming_interface __name:=motion_streaming_interface __log:=/home/wyatt/.ros/log/ca41b9da-7ba4-11e8-8b21-d4bed9452afe/motion_streaming_interface-2.log].
log file: /home/wyatt/.ros/log/ca41b9da-7ba4-11e8-8b21-d4bed9452afe/motion_streaming_interface-2*.log
unfortunately, the referenced log file is empty, so no clues there.
We also tried using the python program:
$rosrun motoman_driver move_to_joint.py "[0,0,0,0,0,0]"
We had to edit this to make the joint names consistent with the URDF, controllerjointnames parameter and the names echoed from /jointstates. We also created a new parameter, /jointnames, with the same joint names, since the python code seems to require this. Anyway, the python code runs, after these changes, and it publishes what seems to be a viable trajectory command, an echo of which is:
$rostopic echo /joint_path_command
output:
header:
seq: 1
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names: ['joint_1_s', 'joint_2_l', 'joint_3_u', 'joint_4_r', 'joint_5_b', 'joint_6_t']
points:
-
positions: [0.0, 0.0, -8.751316272537224e-06, 0.0, -1.917476038215682e-05, 0.0]
velocities: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
accelerations: []
effort: []
time_from_start:
secs: 0
nsecs: 0
-
positions: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
velocities: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
accelerations: []
effort: []
time_from_start:
secs: 10
nsecs: 0
However, this causes streamer to crash with:
[motion_streaming_interface-2] process has died [pid 21021, exit code -11, cmd /home/wyatt/ros_ws/devel/lib/motoman_driver/motion_streaming_interface __name:=motion_streaming_interface __log:=/home/wyatt/.ros/log/47b9f908-7bab-11e8-a2bb-03f9c8d8cfb7/motion_streaming_interface-2.log].
log file: /home/wyatt/.ros/log/47b9f908-7bab-11e8-a2bb-03f9c8d8cfb7/motion_streaming_interface-2*.log
Does anybody know why or what we can do?
Asked by wsnewman on 2018-06-29 10:49:18 UTC
Comments
The fact that it crashes is not very nice.
-11
is basicallySEGFAULT
, so something is not right.Please report this as an issue over at ros-industrial/motoman. We'll diagnose this there.
Please include the output of
roslaunch --screen ..
.Asked by gvdhoorn on 2018-06-29 11:35:22 UTC
Btw: the trajectories you show are somewhat strange. The first makes
joint_b
rotate 1 rad in 1 sec, the second basically goes from almost0
to0
in 10 sec.I would also recommend to go through the
joint_trajection_action
, instead of directly publisingJointTrajectories
, but it ..Asked by gvdhoorn on 2018-06-29 11:40:58 UTC
.. it supported.
The
JointTrajectoryAction
server performs some additional checks that now fall under your responsiblity if you publish tomotion_streaming_interface
topics directly.Asked by gvdhoorn on 2018-06-29 11:41:39 UTC
Can you comment on the appropriate use of move_to_joint.py @gvdhoorn? We are currently working on an action client to test your advice, but would be interested in using this script as a diagnostic tool if possible.
Asked by KBradner on 2018-06-29 11:59:55 UTC
The trajectories we tested were unusual just because we wanted a safe but arbitrary motion to validate our ability to make commands from Ros to the dx200. If there is an easier way to accomplish this, we would be happy to know about it.
Asked by KBradner on 2018-06-29 12:03:52 UTC
re: action client: you could take a look at the script in
ros-industrial/universal_robot
. But it's a standard action client. Just make sure to include the currentJointState
of the robot as the first point.Asked by gvdhoorn on 2018-06-29 12:08:09 UTC
And again: please report this as an issue on the tracker, and include the output of a
roslaunch
with the--screen
parameter and agdb
backtrace. Be sure to compile withDebug
build type.And you should be able to compile
kinetic-devel
on Indigo.Asked by gvdhoorn on 2018-06-29 12:09:08 UTC
We will get that issue up shortly. The actual development PC is not on wifi at the moment. In the meantime, we just tried making up a topic list parameter to get rid of that complaint from the launch file. Could the -11issue be that joint_trajectory_action.cpp's loop after it checks for a topic list
Asked by KBradner on 2018-06-29 12:30:06 UTC
Have you had a chance to post that issue? I don't see anything on the
motoman
tracker.Asked by gvdhoorn on 2018-07-02 13:17:48 UTC
Here is the link to our issue: https://github.com/ros-industrial/motoman/issues/228
Asked by KBradner on 2018-07-03 09:31:21 UTC
Thanks.
If you can, please post a backtrace to the issue, it would help tremendously.
Asked by gvdhoorn on 2018-07-03 09:46:44 UTC