Thanks Pat,

I posted the question to answers.ros.org even though there is a ticket.  Hopefully,
it will still be useful if someone has the same question in the near future.  I would
appreciate seeing your patch when you get the chance.  There is no rush, but having
an example of how to use the ~tf_prefix parameter would be helpful.  Thanks again.

marc  


Date: Sun, 20 Feb 2011 09:36:41 -0800
From: Patrick Bouffard <bouffard@eecs.berkeley.edu>
Subject: Re: [ros-users] remapping tf frames
To: User discussions <ros-users@code.ros.org>
Message-ID:
       <AANLkTinjnz_PB9-XFHp7TkgmhXGVZ7s+Z-m_v7osP_qE@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

Also I just noticed there is a ticket about this that's about 5 weeks
old: https://code.ros.org/trac/ros-pkg/ticket/4688.

Pat

On Sat, Feb 19, 2011 at 10:06 AM, Patrick Bouffard
<bouffard@eecs.berkeley.edu> wrote:
> Hi Marc,
>
> Funny you should ask this as I just encountered the exact same issue
> yesterday. Though in my case I just want to 'push down' the frame
> names into a namespace along with all the other frames I use, in
> anticipation of multiple vehicles in the future.
>
> Anyhow, I don't have a solution that doesn't involve changing the
> driver, but I did so and can offer a patch--unfortunately though the
> source code is at the lab and I can't get at it at the moment. But let
> me know if you want it and I can get it to you in a day or so.
> Basically what I did though is to implement the (somewhat obscure,
> IMO) ~tf_prefix parameter (which if I understand correctly, should
> always be implemented by producers of tf data.. maybe someone can
> comment). So in my case I set tf_prefix to, e.g., "pelican1", and the
> frame_id's of the published point cloud and images are
> /pelican1/<original_frame_id>.
>
> Another solution might be to use the 'rewrite' branch of the driver,
> though I haven't tried it yet. But it looks like you can directly
> specify the whole frame id in the launch file:
>
> https://github.com/ros-pkg-git/ni/blob/rewrite/openni_camera/launch/openni_node.launch
>
> HTH,
>
> Pat
>
> P.S. You can now use answers.ros.org to ask this sort of question.
> Actually if you repost your question there I'll repost this answer,
> and then we can add 'tf' tags and all that goodness.
>
> On Sat, Feb 19, 2011 at 7:32 AM, Marc Killpack <staderennais@gmail.com> wrote:
>> Hi,
>> I'm wondering if it is possible to remap tf frames from inside a launch file
>> (or other similar means) in the same way it is possible to remap topic names
>> of published topics? ?My use case is that I have two Kinects between which I
>> would like to define a transform. However, the base frame_id for the kinect
>> is defined in the openni_driver.cpp file. ?This means that when I run two
>> kinects they broadcast the same tf frame of?/openni_rgb_optical_frame. ?Any
>> suggestions besides modifying the driver ?would be very much appreciated.
>> ?Thanks for your time.
>> Sincerely,
>> Marc Killpack
>> Healthcare Robotics Lab - Georgia Tech