Movegroups error with joystick_control.launch
Hey everyone,
We just set our environment up and have a Yaskawa Motoman Mini working in RViz with the manufacturer generated URDF and moveit_config. I confirmed that the issue persists even after creating my own moveit_config. I have allowed external communication in RViz and ensured that "Query goal state" is enabled. I have confirmed that a separate issue arises when trying to use the panda example. I have included two error messages below. Error #1 pertains to the Motoman Mini and Error #2 applies to the Panda arm. Googling the error did not help much, but if you are aware of any sources or forum posts that I may have missed, a link would be appreciated.
System Info
- Ubuntu 16.04
- ROS Kinetic
- ROS Industrial Core
- Motoman_driver for kinetic
Error #1
roslaunch motoman_mini_moveit_config joystick_control.launch
... logging to /home/probotix/.ros/log/0581e0cc-c8f0-11e8-9c00-a417315c0139/roslaunch-probotix-14925.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://probotix:45889/
SUMMARY
========
PARAMETERS
* /joy/autorepeat_rate: 40
* /joy/coalesce_interval: 0.025
* /joy/deadzone: 0.2
* /joy/dev: /dev/input/js0
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
/
joy (joy/joy_node)
moveit_joy (moveit_ros_visualization/moveit_joy.py)
ROS_MASTER_URI=http://localhost:11311
process[joy-1]: started with pid [14942]
process[moveit_joy-2]: started with pid [14943]
[ INFO] [1538779445.850637416]: Loading robot model 'motoman_mini'...
[ INFO] [1538779445.952687373]: Loading robot model 'motoman_mini'...
[FATAL] [1538779445.988991]: Check if you started movegroups. Exiting.
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/moveit_ros_visualization/moveit_joy.py", line 42, in <module>
app = MoveitJoy()
File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_ros_visualization/moveitjoy_module.py", line 381, in __init__
self.updatePlanningGroup(0)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_ros_visualization/moveitjoy_module.py", line 405, in updatePlanningGroup
raise rospy.ROSInitException(msg)
rospy.exceptions.ROSInitException: Check if you started movegroups. Exiting.
[moveit_joy-2] process has died [pid 14943, exit code 1, cmd /opt/ros/kinetic/lib/moveit_ros_visualization/moveit_joy.py __name:=moveit_joy __log:=/home/probotix/.ros/log/0581e0cc-c8f0-11e8-9c00-a417315c0139/moveit_joy-2.log].
log file: /home/probotix/.ros/log/0581e0cc-c8f0-11e8-9c00-a417315c0139/moveit_joy-2*.log
Error #2
[ INFO] [1538781931.346304453]: Loading robot model 'panda'...
[ INFO] [1538781931.346419463]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1538781931.466305935]: Loading robot model 'panda'...
[ INFO] [1538781931.466422299]: No root/virtual joint specified in SRDF. Assuming fixed joint
panda_arm_hand ['/rviz/moveit/move_marker/goal_panda_hand']
[INFO] [1538781931.498685]: Changed planning group to panda_arm_hand
[INFO] [1538781931.499350]: Changed controlled end effector to panda_hand
[ERROR] [1538781938.359803]: bad callback: <bound method MoveitJoy.joyCB of <moveit_ros_visualization.moveitjoy_module.MoveitJoy instance at 0x7f67d86d43f8>>
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_ros_visualization/moveitjoy_module.py", line 473, in joyCB
raise Exception("Unknown joystick")
Exception: Unknown joystick
The joystick launch file cannot be launched in isolation. Did you start the rest of MoveIt?
Please also understand that "joystick control" does not equate to "real-time jogging of end effector". This is a common misconception, so I just wanted to mention it.
Hey @gvdhoorn, thanks for the heads up. I thought the joystick control launch file enabled real time jogging.
Is this something that is able to be achieved?
This is possible, but probably not in the way you are looking for.
motoman_driver
is trajectory based, with start and end state having 0 velocity. That is not a good architecture for jogging, unless it's implemented as an "infinite trajectory". That is what certain extension try to do, such as ros-industrial/motoman#215.A company called Xamla has also implemented a custom (and proprietary) jogging mode on-top of MotoROS, but that is not open-source.
Another is fs100_motoman. Status of that package is however unknown and I haven't used it myself, so I cannot comment on the compatibility with current drivers nor whether it still works.
Thanks for the info Gijs. I'm looking into making our own implementation of a teleop node. After some reading, it seems I should use the action interface to publish positions to trajectory_msgs/JointTrajectory. Are you able to confirm if I am on the right track?
So @hdemel how did you solve this? I am running demo.launch in moveit_config then running joystick launch and had same issue.I think move_group etc. will be launched in launch files so i didnt launch them.Move_group is running also because of demo.launch but i still have same issue.Thanks.