Gazebo | Ignition | Community
Ask Your Question

Mojzar's profile - activity

2017-05-10 16:11:38 -0500 received badge  Famous Question (source)
2017-02-06 05:43:13 -0500 received badge  Notable Question (source)
2017-02-06 05:43:13 -0500 received badge  Popular Question (source)
2017-02-06 05:42:39 -0500 received badge  Famous Question (source)
2017-02-06 05:42:39 -0500 received badge  Notable Question (source)
2017-02-06 05:42:39 -0500 received badge  Popular Question (source)
2016-10-16 03:02:20 -0500 received badge  Enthusiast
2016-10-13 13:53:44 -0500 asked a question A joint control plugin for a parallel robot, the plugin does not work!

Hi, I hope you are doing well. I have provided the SDF model of a parallel robot to simulate it in the Gazebo and control its end-effector. Based on my knowledge, the closed kinematic chain must be provided in SDF format so I could not use the URDF and URDF based plugin to control my robot. However, I have inserted my robot in the Gazebo and I can set the joint angle and velocity by means of the provided plan in the right side of the Gazebo. It seems to work well! I have used the gazebo_ros plugin such as "joint_trajectory_plugin", "joint_state_publisher" in order to control the robot joints and get feedback them. I am able to get the feedback by "joint_state_publisher" but I could never manage to set the position or velocity by means of the "joint_trajectory_plugin". Predicated on this failure, I have written a plugin in order to set the joint position. But the plugin does not work and the position of the intended link does not change. I will appreciate if you help me.

The SDF of the considering robot is presented as below:

    <?xml version="1.0" encoding="utf-8"?>
<sdf version="1.5">
  <model name="Agile-eye">
    <pose>0 0 0.0523364278812051 1.5707963267949 0 0</pose>
    <link name="Base">
      <gravity>1</gravity>
      <self_collide>0</self_collide>
      <pose>0 0 0 0 0 0</pose>
      <must_be_base_link>1</must_be_base_link>
      <velocity_decay>
        <linear>0</linear>
        <angular>0</angular>
      </velocity_decay>
      <inertial>
        <mass>2.45302262810541</mass>
        <pose>0 0 0 0 0 0</pose>
        <inertia>
          <ixx>0.0174089005567679</ixx>
          <ixy>0.00386321027734225</ixy>
          <ixz>0.00224453213339039</ixz>
          <iyy>0.0163888871488208</iyy>
          <iyz>0.00191258456874747</iyz>
          <izz>0.021215632267225</izz>
        </inertia>
      </inertial>
      <collision name="Base_collision">
        <pose>0 0 0 0 0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://Agile-eye/meshes/Base_col.STL</uri>
          </mesh>
        </geometry>
        <surface>
          <contact>
            <ode>
              <kp>100000</kp>
              <kd>1</kd>
            </ode>
          </contact>
          <friction>
            <ode>
              <mu>0.2</mu>
              <mu2>0.1</mu2>
            </ode>
          </friction>
        </surface>
      </collision>
      <visual name="Base_visual">
        <pose>0 0 0 0 0 0</pose>
        <material>
          <ambient>0.752941176470588 0.752941176470588 0.752941176470588 1</ambient>
          <diffuse>0.752941176470588 0.752941176470588 0.752941176470588 1</diffuse>
        </material>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://Agile-eye/meshes/Base.STL</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
<joint name="fixed to ground" type="revolute">
      <parent>world</parent>
      <child>Base</child>
       <axis>
        <limit>
          <lower>0</lower>
          <upper>0</upper>
        </limit>
        <xyz>0 0 1</xyz>
        </axis>
    </joint>
    <link name="arm1">
      <gravity>1</gravity>
      <self_collide>0</self_collide>
      <pose>0.09692 0.05666 0.0654 -1.5707963267949 0 0</pose>
      <must_be_base_link>0</must_be_base_link>
      <velocity_decay>
        <linear>0</linear>
        <angular>0</angular>
      </velocity_decay>
      <inertial>
        <mass>0.0402007076630336</mass>
        <pose>0 0 0 0 0 0</pose>
        <inertia>
          <ixx>0.00012884674184318</ixx>
          <ixy>6.13154456211418E-05</ixy>
          <ixz>4.16049597669714E-17</ixz>
          <iyy>4.84154728485539E-05</iyy>
          <iyz>4.6668041639536E-15</iyz>
          <izz>0.000176009253214268</izz>
        </inertia>
      </inertial>
      <collision name="arm1_collision">
        <pose>0 0 0 0 0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model ...
(more)
2016-10-11 17:37:36 -0500 asked a question Simulation of Parallel robot with SDF model, problem with joint velocity control

Hi everyone, I newbie in the Gazebo. In one of my projects I need to simulate a parallel robot and implement its controller in the ROS environment. To do that, based on the parallel structure of the model I had been allowed to use SDF model. The SDF model of the intended model have been provided and when I insert the robot in the Gazebo the joints and links are seemed right. I have used ROS based plugin such as the joint trajectory plugin and ros joint state publisher plugin in the SDF model. Position of joints publish without problem in the ROS but the problem starts when I set out to adjust the velocity and position of the actuators in order to control the robot. I use the following command to set joint position:

rostopic pub -r 20 /set_joint trajectory_msgs/JointTrajectory '{header: {frame_id: "arm1"}, joint_names: ["Base-arm1"], points: [{positions: [0.01]}]}'

When I use the above, the intended link moves arbitrary! Unfortunately, I am not able to use ros control plugin for SDF model. Is there anything wrong? How can I set the joints velocity and position of the designed robot? Thanks in advanced.