After a fresh install of Ubuntu, ROS and MoveIt I try to plan motions for the Fanuc M20IA Robot using the ROS-Industrial Repository.
When I launch the moveit_planning_execution.launch file, the move_group node immediately shuts down. Therefore, the other nodes that depend on it do not function correctly.
I think I tracked it down to be a MoveIt issue, since I also get errors when I try to start the official tutorials.
I installed Ubuntu in Dualboot mode beside Windows. Ubuntu has its own harddrive in the system with approx. 450 GB of space.
I get the same error regardless if I install from source or use apt.
catkin_makeroslaunch fanuc_m20ia_moveit_config moveit_planning_execution.launch sim:=true debug:=trueStartup of RVIZ, Startup of move_group node, load of the robot URDF into the parameter server.
System should be ready for planning with the RVIZ GUI, the MoveIt Commander or the API.
During the execution of the launch file, the move_group node immediately dies.
The robot description gets correctly loaded and displayed.
I am able to drag the robot around in RVIZ, using the interactive markers.
I am not able to choose planners (field is empty)
The console output can be found here
Thanks for reporting an issue. We will have a look asap. If you can think of a fix, please consider providing it as a pull request.
1) roslaunch fanuc_m20ia_moveit_config moveit_planning_execution.launch sim:=true expects a simulator like Gazebo to be running, as far as I know. Have you tried roslaunch fanuc_m20ia_moveit_config demo.launch?
2) If that does not work, have you tried running the tutorials in a docker container to confirm that it's not your system installation that is the issue?
As far as I am aware, the moveit_planning_execution.launch file does not use gazebo, rather it uses only rviz. I installed Ubuntu on a virtual machine using vm-ware and windows in dualboot mode as a host system on the same pc. Everything runs.
As I have not used docker before, I am a little unsure how to proceed: I started the MoveIt container with docker run -it moveit/moveit:melodic-release, initialized a workspace in the /home directory, git clone the ROS-I Fanuc repository, but when I follow its installation instructions here cannot install the dependencies.
Is the right way building a new container with the ROS-I software pre installed?
I observed, that after a system reboot, the fanuc_m20ia_moveit_config demo.launch works for one time, throwing an error due to a missing library. After that, the original error appears every time.
In the move_group.launch file from the _fanuc_m20ia_moveit_config_ folder from the ros industrial fanuc repository, I set the GDB debug option to true.
I pasted the output here.
I could see the issue comming from this error and having something todo with the EigenMatrix Class:
tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device
I followed the instuctions in the second answer of this threat and post here a detailed error description from xterm with bt.
As far as I am aware, the
moveit_planning_execution.launchfile does not use gazebo, rather it uses only rviz.
The moveit_planning_execution.launch file does not start Gazebo, but it connects to external controllers, so it would expect either real robots or robots simulated with Gazebo (most commonly) connected to the system. The demo.launch file includes fake controllers so you can move your robot and do planning out of the box.
I started the MoveIt container with
docker run -it moveit/moveit:melodic-release, initialized a workspace in the /home directory...
The container comes with a workspace built and initialized in /root/ws_moveit. Just clone your package into there, install the dependencies and build it again.
when I follow its installation instructions here cannot install the dependencies.
What keeps you from installing them? Is there an error? Try executing apt-get update && rosdep install --from-paths src --ignore-src -r -y in the ws_moveit directory to install all the dependencies of your packages.
Please also try roslaunch panda_moveit_config demo.launch in the docker, to confirm that things are generally working. I can't really tell what the other errors mean yet.
After a reinstall of Ubuntu and ROS / MoveIt, from the MoveIt Docker Package I started this gui enabled docker:
sudo ./gui-docker -it --rm moveit/moveit:melodic-source /bin/bash
I tried roslaunch panda_moveit_config demo.launch. Unfortunately it also crashed. I made a Gist with the Console output here.
A few error messages at the bottom part of the gist are related to missing ros packages of the
visual tools software set. The main error with the dying move_group process seems to be still present though.
Try apt-get update && rosdep install --from-paths src --ignore-src -r -y, then catkin build and roslaunch panda_moveit_config demo.launch. That should already be done in the docker container (which I see you're in), but still.
I am confused by these lines in your output. They did not appear in your original gist. Maybe they will be clearer after the other package errors are fixed, or if you set the logger level to DEBUG.
I ran the container again with
sudo ./gui-docker -it --rm moveit/moveit:melodic-source /bin/bash
then I installed the fanuc ros i packages again like so:
git clone -b indigo-devel https://github.com/ros-industrial/fanuc.git src/fanuc
rosdep update
apt-get update && rosdep install --from-paths src --ignore-src -r -y
catkin build
I then ran
roslaunch panda_moveit_config demo.launch .
Since I did not have the VisualTools installed I still got some errors, but importantly,
move_group did not crash. Here is the output:
Output before sourcing devel/seup.bash
I then sourced the devel/setup.bash to update my workspace after the install and to run fanuc packages. I tried the panda demo one more time. move_group crashed.
Output after sourcing devel/setup.bash
I am wondering if I am cloning a non workable version of the fanuc packages, which then destroy
my system somehow.
As far as I am aware, the
moveit_planning_execution.launchfile does not use gazebo, rather it uses only rviz.The
moveit_planning_execution.launchfile does not start Gazebo, but it connects to external controllers, so it would expect either real robots or robots simulated with Gazebo (most commonly) connected to the system. Thedemo.launchfile includes fake controllers so you can move your robot and do planning out of the box.
just an FYI: sim:=true makes moveit_planning_execution.launch use the industrial_robot_simulator. It does not depend on Gazebo or anything else.
sim:=false would set things up such that an external FollowJointTrajectory action server needs to be running.
[ INFO] [1564680395.989878878]: Using planning request adapter '@???]
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
this would seem to be the cause (or at least suspicious).
There is no '@???] planning request adapter. That string looks like random memory or an uninitialised pointer is being printed.
I am wondering if I am cloning a non workable version of the fanuc packages, which then destroy
my system somehow.
I regularly use packages from ros-industrial/fanuc on a Melodic system and do not encounter the described issue. That is n==1 as far as 'evidence', but I'm not aware of anything in those packages that could cause this.
You may want to take a look at the output of the rosdep install step you run. It may be installing 'strange' or unexpected packages.
The output of apt-get update && rosdep install --from-paths src --ignore-src -r -y command for reference
Output of rosdep install
$ root@9fc166a6fd67:~/ws_moveit# apt-get update && rosdep install --from-paths src --ignore-src -r -y
Get:1 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [4172 B]
Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [594 kB]
Get:8 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic InRelease [4669 B]
Get:9 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 Packages [520 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]
Get:11 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [5436 B]
Get:12 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [728 kB]
Get:13 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [10.8 kB]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [7235 B]
Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [905 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1250 kB]
Get:19 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B]
Get:20 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [3930 B]
Fetched 17.4 MB in 12s (1423 kB/s)
Reading package lists... Done
executing command [apt-get install -y ros-melodic-industrial-robot-client]
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libllvm7
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
ros-melodic-industrial-msgs ros-melodic-industrial-utils
ros-melodic-simple-message
The following NEW packages will be installed:
ros-melodic-industrial-msgs ros-melodic-industrial-robot-client
ros-melodic-industrial-utils ros-melodic-simple-message
0 upgraded, 4 newly installed, 0 to remove and 27 not upgraded.
Need to get 381 kB of archives.
After this operation, 2899 kB of additional disk space will be used.
Get:1 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-industrial-msgs amd64 0.7.0-0bionic.20190601.010415 [47.3 kB]
Get:2 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-industrial-utils amd64 0.7.0-0bionic.20190601.013242 [26.4 kB]
Get:3 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-simple-message amd64 0.7.0-0bionic.20190601.011442 [123 kB]
Get:4 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-industrial-robot-client amd64 0.7.0-0bionic.20190601.022244 [184 kB]
Fetched 381 kB in 2s (220 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package ros-melodic-industrial-msgs.
(Reading database ... 99860 files and directories currently installed.)
Preparing to unpack .../ros-melodic-industrial-msgs_0.7.0-0bionic.20190601.010415_amd64.deb ...
Unpacking ros-melodic-industrial-msgs (0.7.0-0bionic.20190601.010415) ...
Selecting previously unselected package ros-melodic-industrial-utils.
Preparing to unpack .../ros-melodic-industrial-utils_0.7.0-0bionic.20190601.013242_amd64.deb ...
Unpacking ros-melodic-industrial-utils (0.7.0-0bionic.20190601.013242) ...
Selecting previously unselected package ros-melodic-simple-message.
Preparing to unpack .../ros-melodic-simple-message_0.7.0-0bionic.20190601.011442_amd64.deb ...
Unpacking ros-melodic-simple-message (0.7.0-0bionic.20190601.011442) ...
Selecting previously unselected package ros-melodic-industrial-robot-client.
Preparing to unpack .../ros-melodic-industrial-robot-client_0.7.0-0bionic.20190601.022244_amd64.deb ...
Unpacking ros-melodic-industrial-robot-client (0.7.0-0bionic.20190601.022244) ...
Setting up ros-melodic-industrial-utils (0.7.0-0bionic.20190601.013242) ...
Setting up ros-melodic-industrial-msgs (0.7.0-0bionic.20190601.010415) ...
Setting up ros-melodic-simple-message (0.7.0-0bionic.20190601.011442) ...
Setting up ros-melodic-industrial-robot-client (0.7.0-0bionic.20190601.022244) ...
executing command [apt-get install -y ros-melodic-trac-ik-kinematics-plugin]
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libllvm7
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
libnlopt-dev libnlopt0 ros-melodic-trac-ik-lib
The following NEW packages will be installed:
libnlopt-dev libnlopt0 ros-melodic-trac-ik-kinematics-plugin
ros-melodic-trac-ik-lib
0 upgraded, 4 newly installed, 0 to remove and 27 not upgraded.
Need to get 466 kB of archives.
After this operation, 1522 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libnlopt0 amd64 2.4.2+dfsg-4 [162 kB]
Get:2 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-trac-ik-lib amd64 1.5.0-1bionic.20190601.013712 [94.1 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libnlopt-dev amd64 2.4.2+dfsg-4 [172 kB]
Get:4 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-trac-ik-kinematics-plugin amd64 1.5.0-1bionic.20190720.014619 [37.7 kB]
Fetched 466 kB in 1s (373 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libnlopt0:amd64.
(Reading database ... 100102 files and directories currently installed.)
Preparing to unpack .../libnlopt0_2.4.2+dfsg-4_amd64.deb ...
Unpacking libnlopt0:amd64 (2.4.2+dfsg-4) ...
Selecting previously unselected package libnlopt-dev:amd64.
Preparing to unpack .../libnlopt-dev_2.4.2+dfsg-4_amd64.deb ...
Unpacking libnlopt-dev:amd64 (2.4.2+dfsg-4) ...
Selecting previously unselected package ros-melodic-trac-ik-lib.
Preparing to unpack .../ros-melodic-trac-ik-lib_1.5.0-1bionic.20190601.013712_amd64.deb ...
Unpacking ros-melodic-trac-ik-lib (1.5.0-1bionic.20190601.013712) ...
Selecting previously unselected package ros-melodic-trac-ik-kinematics-plugin.
Preparing to unpack .../ros-melodic-trac-ik-kinematics-plugin_1.5.0-1bionic.20190720.014619_amd64.deb ...
Unpacking ros-melodic-trac-ik-kinematics-plugin (1.5.0-1bionic.20190720.014619) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up libnlopt0:amd64 (2.4.2+dfsg-4) ...
Setting up libnlopt-dev:amd64 (2.4.2+dfsg-4) ...
Setting up ros-melodic-trac-ik-lib (1.5.0-1bionic.20190601.013712) ...
Setting up ros-melodic-trac-ik-kinematics-plugin (1.5.0-1bionic.20190720.014619) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
executing command [apt-get install -y ros-melodic-industrial-robot-simulator]
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libllvm7
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
ros-melodic-industrial-robot-simulator
0 upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 11.3 kB of archives.
After this operation, 52.2 kB of additional disk space will be used.
Get:1 http://packages.ros.org/ros-shadow-fixed/ubuntu bionic/main amd64 ros-melodic-industrial-robot-simulator amd64 0.7.0-0bionic.20190601.022840 [11.3 kB]
Fetched 11.3 kB in 0s (26.7 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package ros-melodic-industrial-robot-simulator.
(Reading database ... 100146 files and directories currently installed.)
Preparing to unpack .../ros-melodic-industrial-robot-simulator_0.7.0-0bionic.20190601.022840_amd64.deb ...
Unpacking ros-melodic-industrial-robot-simulator (0.7.0-0bionic.20190601.022840) ...
Setting up ros-melodic-industrial-robot-simulator (0.7.0-0bionic.20190601.022840) ...
#All required rosdeps installed successfully
That all looks normal and expected.