ros-industrial / motoman

ROS-Industrial Motoman support (http://wiki.ros.org/motoman)
146 stars 195 forks source link

Problem of: ERROR: Service [/robot_enable] is not available. #340

Closed zhangOSK closed 4 years ago

zhangOSK commented 4 years ago

Dear Sir,

I am using FS100 controller and ROS kinetic. The problem is that Service [/robot_enable] is not available even thought I checked the pendant key switch is in Remote mode and the E-stop is released.

I firstly run the roslaunch as follow,

$ roslaunch motoman_sda5f_support robot_interface_streaming_sda5f.launch robot_ip:=192.168.255.1 controller:=fs100
... logging to /home/ang/.ros/log/2b90b930-bb80-11ea-878a-a0a4c56a2d95/roslaunch-ang-Lenovo-ideapad-720S-13IKB-3573.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ang-Lenovo-ideapad-720S-13IKB:46037/

SUMMARY
========

PARAMETERS
 * /robot_ip_address: 192.168.255.1
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /topic_list: [{'joints': ['arm...

NODES
  /
    joint_state (motoman_driver/robot_state_bswap)
    joint_trajectory_action (motoman_driver/motoman_driver_joint_trajectory_action)
    motion_streaming_interface (motoman_driver/motion_streaming_interface_bswap)

auto-starting new master
process[master]: started with pid [3583]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 2b90b930-bb80-11ea-878a-a0a4c56a2d95
process[rosout-1]: started with pid [3596]
started core service [/rosout]
process[joint_state-2]: started with pid [3606]
process[motion_streaming_interface-3]: started with pid [3614]
process[joint_trajectory_action-4]: started with pid [3622]

Then I tried robot_enable service.

$ rosservice list
/joint_path_command
/joint_state/get_loggers
/joint_state/set_logger_level
/joint_trajectory_action/get_loggers
/joint_trajectory_action/set_logger_level
/motion_streaming_interface/get_loggers
/motion_streaming_interface/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level
/sda5f/sda5f_b1_controller/joint_path_command
/sda5f/sda5f_b1_controller/stop_motion
/sda5f/sda5f_b2_controller/joint_path_command
/sda5f/sda5f_b2_controller/stop_motion
/sda5f/sda5f_r1_controller/joint_path_command
/sda5f/sda5f_r1_controller/stop_motion
/sda5f/sda5f_r2_controller/joint_path_command
/sda5f/sda5f_r2_controller/stop_motion
/stop_motion
$ rosservice call /robot_enableERROR: Service [/robot_enable] is not available.

I think the connection is okay because I can see the rosservice list and also 'rostopic echo joint_states'. The setting of pendant should be fine because I can successfully enable robot service in the other pc. Could you please help give me some hints to solve this problem?

gavanderhoorn commented 4 years ago

First: please do not post screenshots of terminals.

It's all text, so copy-paste the terminal text into your post here.

I've removed the screenshots for now, so you can replace them with the text itself. Edit your original comment to do that.

gavanderhoorn commented 4 years ago

I am using FS100 controller and ROS kinetic

Please provide us more information:

zhangOSK commented 4 years ago

Dear @gavanderhoorn , Thank you very much for the reply! I am trying to do experiment on sda5f and this 'motoman_sda5f_support' is created by myself. Following your reply, I found that I did not put motoman_driver and motoman_sda5f_support in the same workspace. After add motoman_driver, I can successfully enable the robot! Sorry for this silly mistake I made. I appreciate your help very much!