Gazebo | Ignition | Community
Ask Your Question

Lyndwyrm's profile - activity

2018-12-02 21:12:51 -0600 received badge  Self-Learner (source)
2018-12-02 21:12:51 -0600 received badge  Teacher (source)
2017-09-15 12:14:10 -0600 received badge  Famous Question (source)
2017-07-09 07:28:51 -0600 received badge  Notable Question (source)
2017-01-19 06:56:52 -0600 received badge  Popular Question (source)
2017-01-11 08:21:07 -0600 commented question Model sinks and bounces through floor like quicksand-trampoline combination

I had the same problems, it was fixed by adding kd and kp tags.

2017-01-02 08:44:26 -0600 commented question Gazebo System Requirements

I'm running gazebo on an octa-core, 8GB Ram and an nvidia quadro 5000, and it's already kind of laggy for my single robot simulation :D. The simulation takes up roughly 3 cores(running i3 instead of KDE). So I would think my graphics card makes it slow.

2017-01-02 06:42:31 -0600 asked a question How does Gazebo build sensor_msgs/Joint_State messages?

Hi,

I'm currently trying to figure out how to handle multiple robots in Gazebo and I ran into this bug(?):

header: 
  seq: 12209
  stamp: 
    secs: 330
    nsecs: 109000000
  frame_id: ''
name: ['kuka_lwr_joint_1', 'kuka_lwr_joint_2', 'kuka_lwr_joint_3', 'kuka_lwr_joint_4', 'kuka_lwr_joint_5', 'kuka_lwr_joint_6', 'kuka_lwr_joint_7', 'omnirob_base_joint_theta', 'omnirob_base_joint_x', 'omnirob_base_joint_y', 'powercube_joint_pan', 'powercube_joint_tilt', 'schunk_pg70_joint_left_jaw', 'schunk_pg70_joint_right_jaw']

position: [-1.0253947033689315e-05, 2.3522499048134193e-05, -2.2689813867771136e-05, 2.3136640944443343e-05, -1.0738741315741152e-05, -2.483711961254187e-05, -5.4067762246035045e-05, -5.224777055445884e-09, -2.7112045384056236e-12, 1.0643540367097492e-13, 8.826312682153059e-05, 7.902852640739866e-06, -2.807751732313897e-09, 4.075292461219283e-09]

velocity: [-4.178236861677637e-06, 0.0033800355546081623, 0.0001795040668656702, -0.0010695986716272555, -3.479691430856919e-05, -0.0013532377287914495, 1.842815311281211e-05, 5.6265612727336565e-06, 9.567045326563722e-08, -2.767842212481839e-08, 7.332785746463743e-05, 0.004272763884220085, 2.2936775146593057e-05, -2.2746741801888933e-05]

effort: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
---
header: 
  seq: 2452
  stamp: 
    secs: 330
    nsecs: 121000000
  frame_id: ''
name: ['omnirob_base_joint_x', 'omnirob_base_joint_y', 'omnirob_base_joint_theta', 'kuka_lwr_joint_1', 'kuka_lwr_joint_2', 'kuka_lwr_joint_3', 'kuka_lwr_joint_4', 'kuka_lwr_joint_5', 'kuka_lwr_joint_6', 'kuka_lwr_joint_7', 'schunk_pg70_joint_right_jaw', 'schunk_pg70_joint_left_jaw', 'powercube_joint_pan', 'powercube_joint_tilt']
position: []
velocity: []
effort: []

This first message is composed by Gazebo, the second by the joint_state_publisher. Now if I run my simulation for the single robot setup(which does not include support for ROS_NAMESPACE), the messages look like this:

header: 
  seq: 1
  stamp: 
    secs: 205
    nsecs: 728000000
  frame_id: ''
name: ['omnirob_base_joint_x', 'omnirob_base_joint_y', 'omnirob_base_joint_theta', 'kuka_lwr_joint_1', 'kuka_lwr_joint_2', 'kuka_lwr_joint_3', 'kuka_lwr_joint_4', 'kuka_lwr_joint_5', 'kuka_lwr_joint_6', 'kuka_lwr_joint_7', 'schunk_pg70_joint_right_jaw', 'schunk_pg70_joint_left_jaw', 'powercube_joint_pan', 'powercube_joint_tilt']
position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
velocity: []
effort: []
---
header: 
  seq: 2
  stamp: 
    secs: 205
    nsecs: 828000000
  frame_id: ''
name: ['omnirob_base_joint_x', 'omnirob_base_joint_y', 'omnirob_base_joint_theta', 'kuka_lwr_joint_1', 'kuka_lwr_joint_2', 'kuka_lwr_joint_3', 'kuka_lwr_joint_4', 'kuka_lwr_joint_5', 'kuka_lwr_joint_6', 'kuka_lwr_joint_7', 'schunk_pg70_joint_right_jaw', 'schunk_pg70_joint_left_jaw', 'powercube_joint_pan', 'powercube_joint_tilt']
position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
velocity: []
effort: []

As you can see the difference between those message is the order of the joints and the missing positions in the message from the joint_state_publisher.

Gazebo itself is started outside the namespace.

Why does Gazebo change the order of the names when I export a ROS_NAMESPACE? And does this affect the joint_state_publisher?

2016-11-28 03:13:33 -0600 commented question URDF Car model: Joint bounces/wobbles

Can you try to add proper values for the rest of the gazebo tags speficified in the tutorial? http://gazebosim.org/tutorials/?tut=ros_urdf#%3Cgazebo%3Eelementforthetag

2016-11-25 07:16:18 -0600 commented question URDF Car model: Joint bounces/wobbles

What are your gazebo tags and did you set proper joint limits?

2016-11-14 07:29:24 -0600 commented question Get a pose of nested model relative to it's parent model

So lookupTransform already gives you the wrong values?

2016-11-11 08:47:55 -0600 received badge  Famous Question (source)
2016-11-11 01:03:51 -0600 commented question Get a pose of nested model relative to it's parent model

I recently wanted to do the same, you can use ros tf. http://wiki.ros.org/tf/Tutorials As the wiki seems to be down right now, I can't tell you the functions in cpp, but in python it would be the lookupTransform('parent_link', 'child_link', rospy.Time(0)) function. My solution to the problem was writing a rosservice and not a plugin,

2016-11-03 09:13:56 -0600 received badge  Scholar (source)
2016-11-03 08:52:25 -0600 answered a question Make object stick to Robot

Created a plugin using Jennifer Buehlers Grasp Plugin as a template.

2016-11-01 13:25:58 -0600 received badge  Notable Question (source)
2016-10-26 09:31:50 -0600 commented question Make object stick to Robot

currently using 2.2.3, i hope the model is understandable

2016-10-26 06:29:15 -0600 received badge  Popular Question (source)
2016-10-26 05:53:00 -0600 commented question Make object stick to Robot

I am using postion_controllers/JointTrajectoryController, there are several contacts between the object and the robot. I tried setting the mu coefficients of the object and the robot to Inf, but that didn't change anything.

2016-10-26 05:06:01 -0600 received badge  Enthusiast
2016-10-21 03:16:56 -0600 received badge  Editor (source)
2016-10-21 03:16:17 -0600 asked a question Make object stick to Robot

I have a robot that has a platform to transport objects. However, if I place a model on top of that platform and move the robot, the object will stay in its place and eventually fall to the floor. Even if I place a Model from the Gazebo library, so I guess there is somethign wrong with the robot.

How do I make my robot sticky?

right now it has these features:

<!-- Link0 -->
<gazebo reference="${name}_link">
  <selfCollide>true</selfCollide>
  <material>Gazebo/Grey</material>
  <maxVel>1</maxVel>
  <minDepth>0.001</minDepth>
  <dampingFactor>1</dampingFactor>
  <mu1>0.2</mu1>
  <mu2>0.2</mu2>
  <kp>1000000</kp>
  <kd>100000</kd>
  <!--<maxContacts>0</maxContacts>-->
</gazebo>

the gazebo.urdf.xacro for the robot:

 <?xml version="1.0"?> 
 <robot name="robot_base" xmlns:xacro="http://www.ros.org/wiki/xacro">

   <gazebo>
     <plugin name="gazebo_ros_controller" filename="libgazebo_ros_control.so">
       <robotNamespace>/robot_base</robotNamespace>
       <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
     </plugin>
   </gazebo>

 </robot>

the urdf.xacro for the model:

<?xml version="1.0"?>  
  <xacro:include filename="$(find robot_base)/urdf/robot_base.gazebo.xacro" />
  <xacro:include filename="$(find robot_base)/urdf/robot_base.transmission.xacro" />
  <property name="max_force" value="100.0"/>
  <property name="max_torque" value="100.0"/>
  <property name="max_lin_velocity" value="1.0"/>
  <property name="max_rot_velocity" value="1.0"/>
  <property name="min_position" value="-100.0"/>
  <property name="max_position" value="100.0"/>
  <property name="pi" value="3.14159"/>
  <property name="m" value="400"/> <!--mass of object-->
  <property name="h" value="0.645"/> <!--heigth of object-->
  <property name="l" value="1.204"/> <!--length of object-->
  <property name="w" value="0.72"/> <!--width of object-->


  <xacro:macro name="robot_base_visual_origin">
    <origin xyz="0.542 0 0.065" rpy="0 0 ${pi}"/>
    <material name="Orange"/>
  </xacro:macro>
  <xacro:macro name="robot_base_collision_origin">
    <origin xyz="0.542 0 0.0651" rpy="0 0 ${pi}"/>
    <material name="Orange"/>
  </xacro:macro>



  <xacro:macro name="robot_base_left_arm_mount_origin">
    <origin xyz="0.417 0.175 0.653" rpy="0 0 -1.5707963267948966"/>
    <!--<origin xyz="0.43 0.18 0.645" rpy="0 0 1.5707963267948966"/>-->
  </xacro:macro>
  <xacro:macro name="robot_base_right_arm_mount_origin">
    <origin xyz="0.417 -0.175 0.653" rpy="0 0 -1.5707963267948966"/>
  </xacro:macro>
  <xacro:macro name="robot_base_mast_mount_origin">
    <origin xyz="-0.30 0.230 0.645" rpy="0 0 0"/>
  </xacro:macro>

  <xacro:macro name="robot_base" params="parent_link name hardware_interface">
    <joint name="${name}_fixed_base_joint" type="fixed">
       <!--<axis xyz="0 0 1"/>
      <limit lower="${min_position}" upper="${max_position}" effort="${max_force}" velocity="${max_lin_velocity}"/>-->
       <child link="${name}_virtual_link_0" />
       <parent link="${parent_link}"/>
      </joint>

    <link name="${name}_virtual_link_0">
      <!--<visual>
        <origin xyz="0 0 0.1" rpy="0 0 0" />
        <geometry>
          <box size="0.001 0.001 0.001" />
        </geometry>
      </visual>

      <collision>
        <origin xyz="0 0 0.1" rpy="0 0 0" />
        <geometry>
          <box size="0.001 0.001 0.001" />
        </geometry>

    </collision>-->

      <inertial>
        <mass value="0.001" />
        <inertia
          ixx="0.00000001" ixy="0.0" ixz="0.0"
          iyy="0.00000001" iyz="0.0"
          izz="0.00000001" />
        </inertial>


    </link>

    <joint name="${name}_joint_x" type="prismatic">
       <origin xyz="0 0 0" rpy="0 0 0" />
       <axis xyz="1 0 0"/>
       <limit lower="${min_position}" upper="${max_position ...
(more)
2016-10-18 02:44:29 -0600 commented answer Using_A_URDF_In_Gazebo: package:// URIs not described

This doesn't work for me, because I still have to manually set the GAZEBO_MODEL_PATH in my bash file. Do I have to add something special to the CMake file?