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

ocli's profile - activity

2016-09-14 12:10:23 -0500 received badge  Nice Answer (source)
2015-06-22 00:15:40 -0500 marked best answer arm_navigation stack

I used the Planning Description Configuration Wizard and autogenerated the proper files. I then chose world as my base link and end_effector as the tip link. when I roslaunch al5b_arm_navigation.launch and rosrun the initialisation node at the bottom of this post for my joint_states topic, I get the output

[ WARN] [1338200653.324212205]: Got joint state update but did not update some joints for more than 1 second.  Turn on DEBUG for more info

This is the Urdf

<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /home/oliver/ros_workspace/scanner_3d/robot/al5b.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="al5b">
  <link name="world">
    <inertial>
      <mass value="0.05"/>
      <origin xyz="-0.0 0.0 -10.0"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.15"/>
      <geometry>
        <box size="0.4 0.4 0.3"/>
      </geometry>
    </collision>
  </link>
  <joint name="base_joint" type="fixed">
    <parent link="world"/>
    <child link="shoulder_roll_link"/>
  </joint>
  <link name="shoulder_roll_link">
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.85"/>
      <geometry>
        <box size="3.8 3.8 1.9"/>
      </geometry>
    </collision>
  </link>
  <joint name="shoulder_roll_joint" type="revolute">
    <parent link="shoulder_roll_link"/>
    <child link="shoulder_flex_link"/>
    <origin rpy="0 0 0" xyz="0 0 1.725"/>
    <axis xyz="0 0 1"/>
    <limit effort="30" lower="-1.57" upper="1.57" velocity="1.0"/>
  </joint>
  <link name="shoulder_flex_link"/>
  <joint name="shoulder_lift_joint" type="revolute">
    <parent link="shoulder_flex_link"/>
    <child link="upperarm_link"/>
    <origin rpy="-1.57 -1.57 0" xyz="0 0 0.9"/>
    <axis xyz="0 0 1"/>
    <limit effort="30" lower="-1.57" upper="1.57" velocity="1.0"/>
  </joint>
  <link name="upperarm_link">
    <collision>
      <origin rpy="0 0 0" xyz="1.5 0 0"/>
      <geometry>
        <box size="3.00 0.9825 2.622"/>
      </geometry>
    </collision>
  </link>
  <joint name="elbow_flex_joint" type="revolute">
    <parent link="upperarm_link"/>
    <child link="forearm_link"/>
    <origin rpy="0 0 0" xyz="4.75 0 0"/>
    <axis xyz="0 0 1"/>
    <limit effort="30" lower="-1.57" upper="1.57" velocity="1.0"/>
  </joint>
  <link name="forearm_link">
    <collision>
      <origin rpy="0 0 0" xyz="1.66 0 0"/>
      <geometry>
        <box size="6.16 1.1 1.62"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_flex_joint" type="revolute">
    <parent link="forearm_link"/>
    <child link="wrist_flex_link"/>
    <origin rpy="0 0 0" xyz="5.00 0 0"/>
    <axis xyz="0 0 1"/>
    <limit effort="30" lower="-1.57" upper="1.57" velocity="1.0"/>
  </joint>
  <link name="wrist_flex_link">
    <collision>
      <origin rpy="0 0 0" xyz="1.33 0 -0.805"/>
      <geometry>
        <box size="0.575 1.61 3.22"/>
      </geometry>
    </collision>
  </link>
  <joint name="wrist_roll_joint" type="revolute">
    <parent link="wrist_flex_link"/>
    <child link="end_effector"/>
    <origin rpy="1.57 0 1.57" xyz="1.64 0 0"/>
    <axis xyz="0 0 1"/>
    <limit effort="30" lower="-1.57" upper="1.57" velocity="1.0"/>
  </joint>
  <link name="end_effector">
    <collision>
      <origin rpy="0 0 0" xyz="0.52 0 1 ...
(more)
2014-09-24 09:05:20 -0500 received badge  Famous Question (source)
2014-01-28 17:25:56 -0500 marked best answer remapping with robot_state_publisher

I am using the arm_navigation stack and can't seem to remap a published sensor_msgs/JointState topic through the robot_state_publisher generic launch file. The remapping and tf file is:

<launch>
    <node pkg="robot_state_publisher" type="state_publisher" name="rob_st_pub" >
      <remap from="joint_states_tf" to="joint_states" />
    </node>
</launch>

The topic is published correctly (verified with rostopic echo) under "/joint_states_tf" through this node

#include <ros/ros.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include <sensor_msgs/JointState.h>

int main(int argc, char **argv){
    ros::init(argc,argv,"state_publisher");
    ros::NodeHandle nh;
    ros::Publisher pub = nh.advertise<sensor_msgs::JointState>("joint_states_tf",1000);
    ros::Rate lr(10);

    sensor_msgs::JointState msg;
    msg.name.push_back("tip_joint");
    msg.name.push_back("wrist_roll_joint");
    msg.name.push_back("wrist_flex_joint");
    msg.name.push_back("wrist_roll_joint");
    msg.name.push_back("elbow_flex_joint");
    msg.name.push_back("shoulder_lift_joint");
    msg.name.push_back("shoulder_roll_joint");
    msg.name.push_back("base_joint");


    for (int i = 0; i < 8; i++){
        msg.position.push_back(0.0);
        msg.velocity.push_back(0.0);
        msg.effort.push_back(0.0);
    }

    while(ros::ok()){
        msg.header.stamp = ros::Time::now();
        pub.publish(msg);
        ros::spinOnce();
    }
}

yet the output when using

rostopic echo /joint_states

is null and but the /tf topic is published correctly.

2014-01-28 17:25:54 -0500 marked best answer move_arm_warehouse package

I've rebuilt ros from sources completely and I don't think it's my installation, but the python script in the move_arm_warehouse package

<move_arm_warehouse>./scripts/create_launch_files.py

uses the following code

directoryName = roslib.packages.is_pkg_dir(robotName + "_arm_navigation")

which gives the following error

Traceback (most recent call last):
  File "./scripts/create_launch_files.py", line 16, in <module>
    if(not roslib.packages.is_pkg_dir(directoryName)):
AttributeError: 'module' object has no attribute 'is_pkg_dir'

anyone else had this problem? is the stack arm_navigation_experimental depreciated to something or not yet updated... or have I don't something wrong?

2014-01-28 17:25:50 -0500 marked best answer arm_navigation stack

I'm fairly new to ROS and especially the arm_navigation stack and was just wondering if there's a simpler method to determine the inverse kinematics of a custom/undefined manipulator than described in the Running arm navigation on non-PR2 arm, which describes altering the pr2_arm_kinematics stack's services and source to suit a custom manipulator. I followed the arm_navigation tutorials and in the inverse kinematics tutorial the source requires services "pr2_right_arm_kinematics/get_ik_solver_info" and "pr2_right_arm_kinematics/get_ik", which I'm sure are only relevant to the pr2 - as is in the description of the pr2_arm_kinematics stack. Likewise with the iROS tutorial and all other's I've found.

Thanks in advance

EDIT: The reason I am not a fan of this method is than I have a 5 DOF robot, not 7. meaning I would have to go through several ~500 line source code files to adapt the code. Or I could go the ineloquent task of added 2 fixed joints and nonexistant links

2013-10-16 20:00:09 -0500 marked best answer robot_state_publisher

Is there a reason why the robot_state_publisher is publishing joints at different time stamps? I'm new to using this system and need some help with it. My launch file is

<launch>
    <include file="$(find hokuyo_node)/hokuyo_test.launch"/>
    <node pkg="robot_state_publisher" type="state_publisher" name="rob_st_pub" >
         <param name="publish_frequency" value="2"/>
         <remap from="joint_states" to="al5b_joint_states" />
    </node>
    <param name="use_rep_117" value="true" />
</launch>

And the publisher node is publishing at 100 Hz to try and send the data. I've varied both frequencies in case the node publisher could not catch up but that doesn't seem to be the case. Are there extra parameters to set to get the tf to sample all links in the tree at the same time?

EDIT: I Attempted publishing and publish_frequency frequencies across the board - I understand this was just the latest attempt.

2013-01-28 20:37:02 -0500 received badge  Famous Question (source)
2013-01-05 19:33:40 -0500 received badge  Necromancer (source)
2013-01-04 14:24:59 -0500 answered a question Tutorial Building a ROS Package: "Rosdep experienced an internal error: 'NoneType' object has no attribute 'copy'"

There's a lot here so I don't know whether you've got your answer yet or not, but I don't think anyone has said these steps explicitly. The installation requires you to uninstall the pip version if you're running Ubuntu (and trying to install ros-groovy). So follow the installation guide normally up to this step

$ rosdep update

Then if you get the error again after reinstalling Ubuntu (which you said you're doing in your final edit, however that should not affect anything), call:

$ sudo pip uninstall rosdep

to remove the pip version, then try again with

$ sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
$ sudo rosdep init
$ rosdep update

Hope that works

2012-11-23 18:59:15 -0500 marked best answer ROS rl (texplore) package

Hello,

I understand that the rl texplore stack has the ability to model a continuous state environment. I'm having some trouble running the agent/environment packages in a unique environment for the package given my problem is modelled with an 'infinitely' large state-space.

Is this possible, or is there a known workaround? Or will I have to cut my losses and discretize the state-space?

Thanks for any knowledge on this area.

Regards,

Oliver

2012-11-11 11:40:45 -0500 received badge  Famous Question (source)
2012-10-23 13:47:34 -0500 received badge  Favorite Question (source)
2012-10-23 13:47:20 -0500 received badge  Good Question (source)
2012-10-05 05:19:10 -0500 received badge  Notable Question (source)
2012-10-04 22:30:27 -0500 commented answer cv_bridge memory issues

Hmm, that did seem to be the problem, but I thought I had done that in the past. As a side, do you know why it takes a while to process the point cloud from the openni package? between any other callback and a callback involving sensor_msgs::PointCloud2 there is a significant delay

2012-10-04 00:03:52 -0500 commented answer cv_bridge memory issues

The segmentation fault actually occurs after the callback scope. It seems like, inside the function, I free 921,624 bytes of image data. And after the function boost, ROS and OpenCV processes release memory 0, 12 and 921,616 bytes into that free'd memory block, respectively. Any ideas?

2012-10-03 06:52:35 -0500 received badge  Popular Question (source)
2012-10-02 19:23:51 -0500 commented answer cv_bridge memory issues

Already tried that, I get a segmentation fault so I removed it - the cv_ptr->image cannot be released apparently.

2012-10-02 04:05:07 -0500 asked a question cv_bridge memory issues

I'm having problems with memory when it comes to using the cv_ptr->image from this tutorial. How would I copy the image to use it as an IplImage* for the rest of the program so that I can release all data at the end?

This is my latest attempt - imageBGR is for altering, imageRaw is the raw image to be sent around to a few functions/callbacks etc.

void ImageCb(const sensor_msgs::ImageConstPtr &msg)
{
   cv_bridge::CvImagePtr cv_ptr;
   try {
   cv_ptr = cv_bridge::toCvCopy(msg, enc::BGR8);
   }
   catch (cv_bridge::Exception& e){
      ROS_ERROR("cv_bridge exception: %s", e.what());
      return;
   }

   IplImage* imageRaw, *imageBGR;
   imageRaw = cvCreateImage( cvSize(640,480) ,IPL_DEPTH_8U,3);
   *imageRaw = cv_ptr->image;
   imageBGR = cvCloneImage( imageRaw );
   //do stuff
   cvReleaseImage( &imageBGR );
}

I can't use CvMat because I'm using an obsolete package that takes in IplImage*.

I get the following error after running the code above for a bit

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)

If I release the imageRaw image, then I get a segmentation fault and this output from valgrind

==11677== Invalid read of size 4
==11677==    at 0x4229CD6: boost::detail::sp_counted_impl_pd<cv_bridge::CvImage*, boost::detail::sp_ms_deleter<cv_bridge::CvImage> >::dispose() (mat.hpp:366)
==11677==    by 0x807781D: boost::detail::shared_count::~shared_count() (shared_count.hpp:217)
==11677==    by 0x80787FF: boost::shared_ptr<cv_bridge::CvImage>::~shared_ptr() (shared_ptr.hpp:168)
==11677==    by 0x8073D99: ImageCb(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&) (state_sensor.cpp:173)
==11677==    by 0x807DCA8: boost::detail::function::void_function_invoker1<void (*)(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&), void, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&) (function_template.hpp:112)
==11677==    by 0x4759603: image_transport::RawSubscriber::internalCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::function<void ()(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)> const&) (function_template.hpp:1013)
==11677==    by 0x4756802: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, image_transport::SimpleSubscriberPlugin<sensor_msgs::Image_<std::allocator<void> > >, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::function<void ()(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)> const&>, boost::_bi::list3<boost::_bi::value<image_transport::SimpleSubscriberPlugin<sensor_msgs::Image_<std::allocator<void> > >*>, boost::arg<1>, boost::_bi::value<boost::function<void ()(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)> > > >, void, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&) (mem_fn_template.hpp:280)
==11677==    by 0x474C965: boost::detail::function::void_function_obj_invoker1<boost::function<void ()(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const>) (function_template.hpp:1013)
==11677==    by 0x475FBFE: ros::SubscriptionCallbackHelperT<boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) (function_template.hpp:1013)
==11677==    by 0x4128C06: ros::SubscriptionQueue::call() (in /opt/ros/fuerte/lib/libroscpp.so)
==11677==    by 0x40D8A86: ros::CallbackQueue::callOneCB(ros::CallbackQueue ...
(more)
2012-10-01 06:51:39 -0500 received badge  Famous Question (source)
2012-10-01 03:14:07 -0500 received badge  Nice Question (source)
2012-09-30 17:15:26 -0500 commented question OpenNI Subscription

can subscribe to more than one at a time, but when you un-subscribe, then re-subscribe, the error happens again.

2012-09-27 09:22:49 -0500 received badge  Notable Question (source)
2012-09-27 06:30:08 -0500 commented question OpenNI Subscription

On a related topic, what is this 'nodelet' thing? When I instantiate new blob tracker's the nodelet cpu usage skyrockets

2012-09-26 22:00:10 -0500 received badge  Popular Question (source)