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

wishzz's profile - activity

2019-01-17 21:23:01 -0500 received badge  Famous Question (source)
2018-08-19 19:45:05 -0500 received badge  Famous Question (source)
2018-08-19 19:45:05 -0500 received badge  Notable Question (source)
2017-03-01 07:10:58 -0500 received badge  Popular Question (source)
2017-02-06 02:50:11 -0500 received badge  Popular Question (source)
2017-02-06 02:50:11 -0500 received badge  Notable Question (source)
2017-02-06 01:59:59 -0500 asked a question Changing max step size affects angular velocity

Hi,

I was recently graphing the relative angular velocity of a link(applying torque via ROS' Wrench service) and decided to change the "max step size" in Gazebo GUI parameters from 0.0001 to 0.0000001. When I did that, the magnitude of the angular velocities decrease by a factor of ~4 for some reason.

Why does changing the "max step size" change the angular velocities so drastically? Should I be expecting such a drastic change in the system? Intuitively, I would've guess that decreasing the "max step size" would decrease the uncertainty not the magnitude of angular velocity.

Thanks ahead of time!

2016-10-30 22:32:46 -0500 commented question Reference Frame for ApplyBodyWrench

Yep, I have looked into the documentation. And yes, if the axes are aligned with world frame, the torque application would be the same.

Let's say that I turn the box 90 degrees in the z plane. If I now apply the torque, the torque is applied around the world frame's x-axis NOT the box's x-axis.

2016-10-30 13:49:39 -0500 commented question Reference Frame for ApplyBodyWrench

I am also receiving this error in the terminal if it helps:

2016-10-30 13:05:35 -0500 asked a question Reference Frame for ApplyBodyWrench

I am trying to apply torque to a unit box in Gazebo using a Python script that uses the ApplyBodyWrench service. When I apply this torque in the +x direction, it seems that the program is applying the torque on the box in the world coordinates. Instead, I am trying to make it such that it applies the torque with respective to the reference frame of the box.

I set the reference frame to "abox::link" but it doesn't seem to work as intended. Also, is "abox::link" the right parameter for model_name?

Thanks in advance!

#!/usr/bin/env python


import math
import roslib

import sys, unittest
import os, os.path, time
import rospy
from std_msgs.msg import String
from geometry_msgs.msg import Pose, Quaternion, Point, PoseStamped, PoseWithCovariance, TwistWithCovariance, Twist, Vector3, Wrench
from gazebo_msgs.srv import ApplyBodyWrench
import tf.transformations as tft
from numpy import float64

#initialize ros node
rospy.init_node("torque_node", anonymous=True)
rospy.wait_for_service('/gazebo/apply_body_wrench')
apply_body_wrench = rospy.ServiceProxy('/gazebo/apply_body_wrench', ApplyBodyWrench)

wrench = Wrench()
wrench.force.x = 0
wrench.force.y = 0
wrench.force.z = 0
wrench.torque.x = 6
wrench.torque.y = 0
wrench.torque.z = 0

try:
    print apply_body_wrench(body_name = "abox::link",
                 reference_frame = "abox::link",
                 wrench = wrench,
                 duration = rospy.Duration(.5))
    print "done"
except rospy.ServiceException as e:
    print e