ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

move-group not working because "Cylinder dimensions must be non-negative."

asked 2020-06-02 13:09:31 -0500

dimitri gravatar image

I am simulation a UR3e robot in gazebo together with rviz moveit. I get the following error upon launching:

[ WARN] [1591114719.159732243]: Link 'Load' is not known to URDF. Cannot disable collisons.
[ INFO] [1591114719.161109044]: Loading robot model 'Rokubi'...
[ WARN] [1591114719.161164691]: Skipping virtual joint 'fixed_base' because its child frame 'base_link' does not match the URDF frame 'world'
[ INFO] [1591114719.161183782]: No root/virtual joint specified in SRDF. Assuming fixed joint
terminate called after throwing an instance of 'std::runtime_error'
  what():  Cylinder dimensions must be non-negative.
[ INFO] [1591114719.513265950]: rviz version 1.13.12
[ INFO] [1591114719.513324036]: compiled against Qt version 5.9.5
[ INFO] [1591114719.513338308]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1591114719.535686766]: Forcing OpenGl version 0.
[move_group-9] process has died [pid 4230, exit code -6, cmd /opt/ros/melodic/lib/moveit_ros_move_group/move_group roku/roku/IMU:=roku/IMU /follow_joint_trajectory:=/arm_controller/follow_joint_trajectory __name:=move_group __log:=/home/dimitri/.ros/log/b6eaa3ce-a4ec-11ea-9134-c0b6f9fd3f63/move_group-9.log].
log file: /home/dimitri/.ros/log/b6eaa3ce-a4ec-11ea-9134-c0b6f9fd3f63/move_group-9*.log

But the mentioned log file does not exist. I checked the urdf files in the ur_e_description folder but I did not find any negative dimensions.

My launch file looks like this (the importan part comes after "if launching with manipulator"):

<?xml version="1.0" encoding="UTF-8"?>
<launch>
  <!-- Gazebo parameters -->
  <arg name="paused" default="false" doc="Start gazebo in paused mode."/>
  <arg name="gui" default="true" doc="Starts gazebo gui."/>
  <!-- Model parameters -->
  <arg name="sensor_id"     default="SensONE"/>
  <arg name="payload"       default="none"/>
  <arg name="manipulator"   default="false"/>

  <!-- imu & ft plugin don't use the same topic name convention, here it's unified -->
  <remap from="roku/roku/IMU" to="roku/IMU"/>

  <!-- need to spawn the model in an empty world -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="paused" value="$(arg paused)"/>
    <arg name="gui" value="$(arg gui)"/>
  </include>


  **<!-- if launching with manipulator -->**
  <group if="$(arg manipulator)">

    <!-- UR3e.launch -->
    <include file="$(find ur_e_gazebo)/launch/controller_utils.launch"/>
    <rosparam file="$(find ur_e_gazebo)/controller/arm_controller_ur3e.yaml" command="load"/>
    <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
    <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />

    <!-- launch planner -->
    <include file="$(find ur3_e_moveit_config)/launch/ur3_e_moveit_planning_execution.launch">
      <arg name="sim" value="true"/>
      <arg name="limited" value="true"/>
    </include>

    <!-- overwrite semantic description to work with rokubi -->
    <param name="robot_description_semantic" textfile="$(find rokubimini_description)/moveit/roku_ur3e.srdf" />

    <!-- launch Rviz with MoveIt -->
    <include file="$(find ur3_e_moveit_config)/launch/moveit_rviz.launch">
      <arg name="config" value="true"/>
    </include>
  </group>

  <!-- load xacro to robot_description -->
  <param name="robot_description" command="$(find xacro)/xacro '$(find rokubimini_description)/urdf/model.xacro'
    sensor_id:='$(arg sensor_id)'
    payload:='$(arg payload)'
    manipulator:='$(arg manipulator)'"/>

  <!-- push robot_description to factory and spawn robot in gazebo -->
    <!-- this is where the ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-06-03 09:04:48 -0500

dimitri gravatar image

Ok i found the error. The height of a cylinder in the collision model somehow was negative. Weirdly this did not throw an error until yesterday. Maybe ROS or Moveit got an update that changed something there?

edit flag offensive delete link more

Comments

Which collision model contained a negative height? Your own or one of the models you include?

gvdhoorn gravatar image gvdhoorn  ( 2020-06-03 11:03:19 -0500 )edit

One of my own. I just changed the sign and it works now.

dimitri gravatar image dimitri  ( 2020-06-03 16:25:20 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2020-06-02 13:09:31 -0500

Seen: 163 times

Last updated: Jun 03 '20