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

rkeatin3's profile - activity

2021-09-23 23:00:15 -0500 received badge  Nice Question (source)
2021-06-16 09:19:57 -0500 received badge  Good Question (source)
2021-04-28 06:48:46 -0500 received badge  Nice Answer (source)
2019-06-30 03:44:56 -0500 received badge  Famous Question (source)
2019-03-05 10:11:18 -0500 received badge  Nice Question (source)
2019-03-01 12:40:25 -0500 marked best answer Python Forward Kinematics

How can I perform forward kinematics in python?

Can I use MoveItCommander to perform forward kinematics? I don't see analogous classes/functions as exist in the C++ kinematics API.

Similar questions have suggested using pykdl_utils instead, but I see that that package last existed in hydro. I also imagine that the package python_orocos_kdl has the functionality, but I'm having trouble finding useful documentation.

2018-12-07 14:06:17 -0500 marked best answer Cannot launch UR5 simulation in gazebo

I'm attempting to launch a simulation of the UR5 in gazebo with the command roslaunch ur_gazebo ur5.launch. I am getting a number of errors including

ERROR: cannot launch node of type [pr2_mechanism_diagnostics/pr2_mechanism_diagnostics]: pr2_mechanism_diagnostics

and

[ERROR] [1412703963.702016682, 0.508000000]: No p gain specified for pid.  Namespace: /gazebo_ros_control/pid_gains/shoulder_pan_joint

and

[ERROR] [1412703964.014360175, 0.760000000]: Could not find joint 'shoulder_pan_joint' in 'hardware_interface::EffortJointInterface'.
[ERROR] [1412703964.014464269, 0.760000000]: Failed to initialize the controller
[ERROR] [1412703964.014512292, 0.760000000]: Initializing controller 'arm_controller' failed
[ERROR] [WallTime: 1412703965.015916] [1.759000] Failed to load arm_controller

I had previously messed around with the UR5 in simulation around June, and it worked fine (though the PID gains were a bit off). Has anyone else had this problem? Have you figured out how to fix it?

2018-11-19 01:09:09 -0500 received badge  Famous Question (source)
2018-04-23 16:46:21 -0500 received badge  Famous Question (source)
2018-03-05 03:46:30 -0500 received badge  Notable Question (source)
2018-02-23 09:50:31 -0500 received badge  Notable Question (source)
2018-02-23 03:47:23 -0500 received badge  Popular Question (source)
2018-02-22 18:19:46 -0500 commented question Rviz viewpoint transform

Yeah, I was hoping to use it for "viewpoint-aware" teleoperation. Unfortunately I don't think I have the time to figure

2018-02-22 15:17:12 -0500 received badge  Famous Question (source)
2018-02-22 15:15:59 -0500 asked a question Rviz viewpoint transform

Rviz viewpoint transform In the views panel on Rviz, I can see the transform of the viewpoint w.r.t. the fixed frame. Is

2018-02-01 14:13:01 -0500 received badge  Famous Question (source)
2018-01-31 21:17:30 -0500 received badge  Notable Question (source)
2018-01-31 11:47:44 -0500 received badge  Teacher (source)
2018-01-31 11:46:30 -0500 answered a question Get forward kinematics (w/o tf service call) from URDF & joint angles (Kinetic, Python)

I asked a similar question a couple of days ago that went unanswered. I've since decided to dig into the source for the

2018-01-24 13:02:50 -0500 received badge  Popular Question (source)
2018-01-23 18:46:45 -0500 asked a question Python Forward Kinematics

Python Forward Kinematics How can I perform forward kinematics in python? Can I use MoveItCommander to perform forward

2018-01-22 14:54:32 -0500 received badge  Notable Question (source)
2018-01-03 17:11:39 -0500 received badge  Popular Question (source)
2017-12-06 01:31:06 -0500 marked best answer Loading robot_description dependent on rosparams

There are a few dimensions of my robot model that are subject to change at runtime, and so I would like to use the param server to set and get those values. It was easy enough to set the values, but now I am unsure as to the best way to pass them to xacro when uploading the robot description:

  • Am I right that there isn't a way to query a parameter from the server within a launch file? Otherwise I would do something like:

    <param name="robot_description" command="$(find xacro)/xacro.py $(arg model) my_var:=$(rosparam get my_var)">

  • I can instead query the parameters within a python script, but how do I invoke xacro from within that script? Should I use xacro.main(['arg1', 'arg2', ...])? Edit: Scratch this as main() doesn't take any arguments. I'd prefer a solution that doesn't necessitate forking/modifying core code.

  • Presumably python would allow me to go the "hacky" route and just run the xacro command in a shell and get the result from stdout?

Any suggestions welcome. Thanks!

2017-12-01 16:40:31 -0500 commented answer Loading robot_description dependent on rosparams

Thanks for the syntax help on calling main(). I'm not very familiar with Python.

2017-12-01 16:39:47 -0500 commented answer Loading robot_description dependent on rosparams

I have encountered that issue and will decide whether or not being able to set the xacro arguments from the param server

2017-12-01 02:31:16 -0500 answered a question Loading robot_description dependent on rosparams

I ended up solving this problem by running xacro in a subprocess from within python. Here's the launch file: <?xm

2017-12-01 02:06:49 -0500 commented answer Loading robot_description dependent on rosparams

Well then I guess we agree that bullet point 1 won't work. As far as bullet 2, I was hoping there was some C++ or Python

2017-11-30 02:18:08 -0500 received badge  Popular Question (source)
2017-11-29 17:24:46 -0500 commented answer Loading robot_description dependent on rosparams

I don't think I was clear enough in my post. See my update (though I'm not sure how to get the XML to render properly as

2017-11-29 17:22:59 -0500 edited question Loading robot_description dependent on rosparams

Loading robot_description dependent on rosparams There are a few dimensions of my robot model that are subject to change

2017-11-29 15:32:35 -0500 received badge  Editor (source)
2017-11-29 15:32:35 -0500 edited question Loading robot_description dependent on rosparams

Loading robot_description dependent on rosparams There are a few dimensions of my robot model that are subject to change

2017-11-29 15:08:44 -0500 received badge  Famous Question (source)
2017-11-29 15:01:12 -0500 asked a question Loading robot_description dependent on rosparams

Loading robot_description dependent on rosparams There are a few dimensions of my robot model that are subject to change

2017-11-17 07:22:42 -0500 marked best answer tf: Lookup would require extrapolation into the past

I've written the following method for returning the homogeneous transformation matrix between two tf links:

Eigen::Matrix4f getTransformation(std::string parentName, std::string childName){
  parentName.insert(0,"/");
  childName.insert(0,"/");
  tf::StampedTransform transform;
  tf::TransformListener listener;
  ros::Time t = ros::Time::now();
  try{
    listener.waitForTransform(parentName, childName, t, ros::Duration(4.0));
    listener.lookupTransform(parentName, childName, t, transform);
  }
  catch (tf::TransformException ex){
    ROS_ERROR("%s",ex.what());
  }
  tf::Matrix3x3 rot = transform.getBasis();
  tf::Vector3 trans = transform.getOrigin();
  Eigen::Matrix4f tranformation = Eigen::MatrixXf::Identity(4,4);
  Eigen::Matrix3f upleft3x3;
  upleft3x3 << rot[0][0], rot[0][1], rot[0][2],
               rot[1][0], rot[1][1], rot[1][2],
               rot[2][0], rot[2][1], rot[2][2];
  tranformation.block<3,3>(0,0) = upleft3x3;
  tranformation.col(3) = Eigen::Vector4f(trans[0],trans[1],trans[2],1);
  return transformation;
}

When I try to use this method, I get the following error:

Lookup would require extrapolation into the past.  Requested time 1406560524.442721448 but the earliest data is at time 1406560524.444821575, when looking up transform from frame [wrist_3] to frame [base_link]

I tried the solution suggested by Martin Günther on this page, but that just resulted in an infinite while loop.

Adding a ros::Duration(1) to the requested time worked, but obviously that isn't ideal. Any other solutions?

2017-11-12 06:24:26 -0500 received badge  Notable Question (source)
2017-11-10 00:45:41 -0500 marked best answer Sharing non-ROS code between packages in catkin

I'm currently writing 3 separate packages for 3 different gripper designs. Under the hood, however, they all use the same UDP interface for sending and receiving commands, data, etc.

What is the recommended way to share the common code between those packages? Is standard practice just to add a separate, non-package directory in the catkin workspace for building a shared library containing common code?