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 moveitconfig. I confirmed that the issue persists even after creating my own moveitconfig. 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
Asked by hdemel on 2018-10-05 18:32:26 UTC
Comments
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.
Asked by gvdhoorn on 2018-10-06 03:29:29 UTC
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?
Asked by hdemel on 2018-10-09 07:17:51 UTC
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.
Asked by gvdhoorn on 2018-10-09 14:40:46 UTC
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?
Asked by hdemel on 2018-10-09 19:47:47 UTC
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.
Asked by Taylorson on 2018-11-22 22:26:07 UTC