Gazebo | Ignition | Community
Ask Your Question

sloretz's profile - activity

2020-10-09 01:41:15 -0600 received badge  Popular Question (source)
2020-10-08 19:55:06 -0600 marked best answer What does <axis><xyz expressed_in="some_frame"> mean, and how can I check my math with Gazebo?

Using SDFormat 1.7 I'm trying to use <joint><axis><xyz expressed_in="some_frame"> and check my understanding using Gazebo 11, but I'm not seeing the results I was expecting. What am I doing wrong?

If I understood @azeey's explanation correctly, I think he said <xyz expressed_in="F"> resolves to a vector in the joint frame that is parallel to the given vector in frame F. (made a diagram of what I think he said below)

image description

I have an SDFormat XML file with a joint with an axis in a frame, and I'm trying to check it by calculating what the axis vector should be using igntion-math and visualize it in Gazebo 11. I thought I would visualize it by adding a redundant joint at the same spot without using expressed_in. I was expecting that if I got the math and ignition-math API calls correct then the visualized joint axes would be overlapping; however, the yellow axes are close, but not quite overlapping.

image description

Here is the SDFormat XML

<?xml version='1.0' encoding='utf-8'?>
<sdf version="1.7">
  <model name="joint_revolute_axis_in_frame">
    <frame name="some_frame">
      <pose>0.05 0.1 0.2 0.1 0.2 0.3</pose>
    </frame>
    <link name="link_1">
      <visual name="link_1_visual">
        <geometry>
          <box>
            <size>0.1 0.2 0.4</size>
          </box>
        </geometry>
      </visual>
      <collision name="link_1_collision">
        <geometry>
          <box>
            <size>0.1 0.2 0.4</size>
          </box>
        </geometry>
      </collision>
      <inertial>
        <mass>12.3</mass>
        <inertia>
          <ixx>0.205</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.17425</iyy>
          <iyz>0</iyz>
          <izz>0.05125</izz>
        </inertia>
      </inertial>
    </link>
    <link name="link_2">
      <pose>0.1 0 0.1 0 0 0</pose>
      <visual name="link_2_visual">
        <geometry>
          <box>
            <size>0.1 0.2 0.3</size>
          </box>
        </geometry>
      </visual>
      <collision name="link_2_collision">
        <geometry>
          <box>
            <size>0.1 0.2 0.3</size>
          </box>
        </geometry>
      </collision>
      <inertial>
        <mass>1.23</mass>
        <inertia>
          <ixx>0.013325</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.01025</iyy>
          <iyz>0</iyz>
          <izz>0.005125</izz>
        </inertia>
      </inertial>
    </link>
    <joint name="joint_revolute" type="revolute">
      <parent>link_1</parent>
      <child>link_2</child>
      <axis>
        <xyz expressed_in="some_frame">0.1 1.23 4.567</xyz>
        <limit>
          <lower>-1.5</lower>
          <upper>1.5</upper>
        </limit>
      </axis>
    </joint>
    <!-- redundant joint for checking math -->
    <joint name="joint_revolute2" type="revolute">
      <parent>link_1</parent>
      <child>link_2</child>
      <axis>
        <xyz>0.75246900000000005 1.036583 4.5540830000000003</xyz>
        <limit>
          <lower>-1.5</lower>
          <upper>1.5</upper>
        </limit>
      </axis>
    </joint>
  </model>
</sdf>

And here is the math I used to try to calculate the resolved axis value.

const ignition::math::Pose3d model_to_frame_in_model{0.05, 0.1, 0.2, 0.1, 0.2, 0.3};
const ignition::math::Pose3d model_to_child_in_model{0.1, 0, 0.1, 0, 0, 0};
const ignition::math::Pose3d frame_to_child_in_frame =
  model_to_child_in_model - model_to_frame_in_model;
const ignition::math::Pose3d child_to_joint_in_child{0, 0, 0, 0, 0, 0};
const ignition::math::Pose3d frame_to_joint_in_frame =
  child_to_joint_in_child + frame_to_child_in_frame;

const ignition::math::Vector3d axis_in_frame{0.1, 1.23, 4.567};
const ignition::math::Vector3d ...
(more)
2020-10-08 19:55:06 -0600 received badge  Scholar (source)
2020-10-08 12:57:18 -0600 received badge  Associate Editor (source)
2020-10-08 12:57:18 -0600 edited question What does <axis><xyz expressed_in="some_frame"> mean, and how can I check my math with Gazebo?

What does <axis><xyz expressed_in="some_frame"> mean, and how can I check my math with Gazebo? Using SDForma

2020-10-08 12:35:58 -0600 asked a question What does <axis><xyz expressed_in="some_frame"> mean, and how can I check my math with Gazebo?

What does <axis><xyz expressed_in="some_frame"> mean, and how can I check my math with Gazebo? Using SDForma

2019-03-24 04:50:54 -0600 received badge  Nice Answer (source)
2018-11-19 11:56:11 -0600 commented answer (Solved)xacro: Traditional processing is deprecated?

I'm not sure this answer is relevant. Did you mean to post this answer on a different question?

2018-10-22 09:50:56 -0600 received badge  Enlightened (source)
2018-06-07 22:14:20 -0600 received badge  Good Answer (source)
2018-05-18 10:13:14 -0600 commented question SolidWorks model shatters when exporting in Gazebo

I'm not sure what you mean by shatters. It's possible some joints are missing. Would you mind posting the URDF? What ve

2018-05-01 11:58:43 -0600 commented question Display Images on Cube Faces

Would you mind posting the model/materials for the aruco marker? Is this using an ogre material, or a material from a co

2018-04-25 11:45:02 -0600 edited question Wheels rotating without any order given

Wheels rotating without any order given Hello everyone, I know there are a lot of topics about this kind of problems but

2018-04-25 11:34:55 -0600 edited question Wheels rotating without any order given

Wheels rotating without any order given Hello everyone, I know there are a lot of topics about this kind of problems but

2018-04-23 12:42:41 -0600 answered a question How to add tags to questions???

Tags are separated by spaces. For example, click "retag" below the body of this question. The list of tags beneath the

2018-04-23 12:39:20 -0600 received badge  Organizer (source)
2018-04-17 10:20:02 -0600 commented question Unusual dynamic in grasping

Duplicate of http://answers.gazebosim.org/question/19021/unusual-contact-dynamics-observed-when-simulating-grasps/

2018-04-17 10:17:27 -0600 commented answer textures in an imported mesh?

Those are good answers. There's some information in this tutorial about textures too.

2018-04-11 11:35:59 -0600 edited question differential drive robot not going in a straight line.

differential drive robot not going in a straight line. I have a differential drive robot using the differential drive co

2018-04-06 15:19:53 -0600 commented question DAE filles don't show properly in Gazebo 9

Duplicate of http://answers.gazebosim.org/question/18919/dae-filles-dont-show-properly-in-gazebo-9/

2018-04-05 11:12:29 -0600 commented question what are the topics that fly a Hector_quadrotor?

Duplicate of http://answers.gazebosim.org/question/18906/what-are-the-topics-that-fly-a-hector_quadrotor/

2018-03-21 13:12:14 -0600 answered a question How correctly move joints by SetPositionPID() and SetPositionTarget()

The controller cannot stop the joint if the PID gains are set to common::PID(0, 0, 0). The gains control how much torqu

2018-03-14 20:21:53 -0600 answered a question Using Gazebo Plugin with .h File Type

CMake couldn't figure out what language your file was written in. I couldn't find the CMake documentation about how it g

2018-03-14 11:53:05 -0600 answered a question gazebo9 Symbol lookup error

libignition-math4.so.4 => /usr/local/lib/libignition-math4.so.4 Looks like at some point ignition-math4 was inst

2018-03-13 17:18:32 -0600 commented question gazebo9 Symbol lookup error

Would you mind posting the output of the following commands? apt show libignition-math* ldd $(which gazebo)

2018-03-09 12:13:41 -0600 received badge  Critic (source)
2018-03-08 11:35:32 -0600 edited question Using ros pluggin & catkin build

Using ros pluggin & catkin build Hi, I am trying to build and link my ros pluggin to Gazebo. I am building all my r

2018-03-08 10:47:53 -0600 answered a question Does anyone have a working example or a tutorial for a force_torque plugin?

Here's a tutorial about using force/torque sensors in gazebo. The tutorial shows how to get data from a gazebo topic. Y

2018-03-01 10:23:35 -0600 edited question Building Gazebo on macOS Sierra 10.12.6

Building Gazebo on macOS Sierra 10.12.6 I have installed Gazebo on Mac running Sierra 10.12.6 from this tutorial Now I

2018-02-22 14:13:26 -0600 received badge  Nice Answer (source)
2018-01-22 12:59:59 -0600 received badge  Nice Answer (source)
2017-12-13 10:13:52 -0600 answered a question This file was generated by an older version of protoc

Gazebo is built against the version of protoc released to the ubuntu repos. On 16.04 that version is 2.6.1. There is n

2017-12-04 11:17:57 -0600 commented question Why does the end effector link of my 6 DoF robot act strange when making contact?

Duplicate of http://answers.gazebosim.org/question/18018/why-does-the-end-effector-link-of-my-6-dof-robot-act-strange-wh

2017-12-01 13:49:23 -0600 commented question Gazebo chair shines through the table in the simulation

Is there a <lines> tag in the <mesh>? If so delete that. Related: http://answers.gazebosim.org/question/1798

2017-12-01 13:47:02 -0600 edited answer Strange effect when importing DAE model retrieved on the web

Looks like blender shows the lines in Object Mode too: In model.dae I see a tag called <lines> beginning on line

2017-12-01 13:45:28 -0600 answered a question Strange effect when importing DAE model retrieved on the web

Looks like blender shows the lines in Object Mode too: In model.dae I see a tag called <lines> beginning on line

2017-12-01 13:04:16 -0600 commented question Strange effect when importing DAE model retrieved on the web

Thanks, mind attaching the files Large_BF_213_1.jpg and imitation_gold_leaf_pack_432_300x300_1.jpg too?

2017-12-01 09:33:16 -0600 commented question Strange effect when importing DAE model retrieved on the web

Mind posting the collada model?

2017-11-13 11:28:16 -0600 edited question How can I get the direction for a square box component?

How can I get the direction for a square box component? hi, everybody, I made a square box. it is symmetric. The pictur

2017-10-12 04:54:54 -0600 received badge  Nice Answer (source)
2017-10-11 17:57:57 -0600 received badge  Necromancer (source)
2017-10-11 17:35:47 -0600 answered a question how do i add torsional friction to urdf model

Create a <gazebo> tag which references the URDF link and contains a <collision name="..."> with a name match

2017-09-14 10:22:22 -0600 commented question representing ocean waves

You should take a look at the uuvsimulator project, as far as I understand they're focused on underwater, but they have

2017-09-14 10:22:09 -0600 commented question representing ocean waves

You should take a look at the uuvsimulator project, as far as I understand they're focused on underwater, but they have

2017-09-07 12:58:53 -0600 answered a question Could not find a package configuration file provided by "gazebo" with any of the following names:gazeboConfig.cmake gazebo-config.cmake

Which version of gazebo is installed? Find out using gazebo --version. For example, I have gazebo 7. $ gazebo --version

2017-08-31 10:00:54 -0600 commented question why the gpu_ray sensor number in a world is limited ?

This sounds like a bug. Would you mind opening an issue on https://bitbucket.org/osrf/gazebo ?

2017-08-28 09:29:23 -0600 commented question Gazebo can't read color information from dae or stl mesh files

I don't see the files either. I tried adding a file to your post but I see allowed file types are '.jpg', '.jpeg', '.gif

2017-08-28 09:04:42 -0600 received badge  Nice Answer (source)
2017-08-25 09:27:53 -0600 answered a question Apply force to joints every fourth second

I assume you have a callback on WorldUpdateBegin? The argument const common::UpdateInfo to the callback has a field simT

2017-08-25 09:16:35 -0600 edited question Apply force to joints every fourth second

Apply force to joints every fourth second I am applying forces to two certain joints using: physics::Joi