[Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

Rai Cal
Hi,

I am trying to use the pointcloud_to_laserscan node from the turtlebot stack in Diamondback running on Ubuntu 10.10 (Maverick). Before Diamondback came out, I successfully used ROS Unstable and the pointcloud_to_laserscan from the now deprecated ni stack. I started to blog about how I leveraged the navigation stack with the Kinect sensor in my hobby robot (http://www.hessmer.org/blog/) but then decided it would be better to describe how it is done with the official Diamondback release. That's when I got stuck.

I installed the turtlebot stack and tried to launch kinect_laser.launch:

roscd pointcloud_to_laserscan/launch
roslaunch kinect_laser.launch

It fails since the launch file references openni_kinect.launch which no longer exists under openni_camera/launch. To fix this I changed the launch file to use openni_node.launch instead like so:

<include file="$(find openni_camera)/launch/openni_node.launch"/>

Now the startup log looks good apart from the typical few lines at the end warning about a recursive print statement which does not seem to matter.
However, no laser scan data is published. Looking at the output of /rosout yields this error message:

msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists

In case it is needed I am listing the complete output log below. Any ideas what else I need to change to get pointcloud_to_laserscan from the turtlebot stack to work?

Thanks!
Rainer

__________  

Full output log:

header:
  seq: 3
  stamp:
    secs: 1301851951
    nsecs: 344856150
  frame_id: ''
level: 2
name: /pointcloud_throttle
msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists
line: 80
topics: ['/rosout', '/openni_camera/bond']
---
header:
  seq: 1
  stamp:
    secs: 1301851962
    nsecs: 1491137
  frame_id: ''
level: 2
name: /rviz_1301851961332038409
msg: Loading display config from [/home/rainer/.rviz/display_config]
file: /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
function: VisualizationFrame::initConfigs
line: 312
topics: ['/rosout']
---
header:
  seq: 2
  stamp:
    secs: 1301851951
    nsecs: 344788594
  frame_id: ''
level: 2
name: /kinect_laser
msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists
line: 80
topics: ['/rosout', '/openni_camera/bond']
---



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

William Woodall
Hi, just glancing at your email, I had to change line 45 in (http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html) in the openni_node to true from false and recompile it to get the pointcloud_to_laserscan to work.

Via the link it seems to have been set to true, but on my current copy of diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.

I am not exactly sure why this changed, or even if this is the appropriate fix, but it is a work around.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:
Hi,

I am trying to use the pointcloud_to_laserscan node from the turtlebot stack in Diamondback running on Ubuntu 10.10 (Maverick). Before Diamondback came out, I successfully used ROS Unstable and the pointcloud_to_laserscan from the now deprecated ni stack. I started to blog about how I leveraged the navigation stack with the Kinect sensor in my hobby robot (http://www.hessmer.org/blog/) but then decided it would be better to describe how it is done with the official Diamondback release. That's when I got stuck.

I installed the turtlebot stack and tried to launch kinect_laser.launch:

roscd pointcloud_to_laserscan/launch
roslaunch kinect_laser.launch

It fails since the launch file references openni_kinect.launch which no longer exists under openni_camera/launch. To fix this I changed the launch file to use openni_node.launch instead like so:

<include file="$(find openni_camera)/launch/openni_node.launch"/>

Now the startup log looks good apart from the typical few lines at the end warning about a recursive print statement which does not seem to matter.
However, no laser scan data is published. Looking at the output of /rosout yields this error message:

msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists

In case it is needed I am listing the complete output log below. Any ideas what else I need to change to get pointcloud_to_laserscan from the turtlebot stack to work?

Thanks!
Rainer

__________  

Full output log:

header:
  seq: 3
  stamp:
    secs: 1301851951
    nsecs: 344856150
  frame_id: ''
level: 2
name: /pointcloud_throttle
msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists
line: 80
topics: ['/rosout', '/openni_camera/bond']
---
header:
  seq: 1
  stamp:
    secs: 1301851962
    nsecs: 1491137
  frame_id: ''
level: 2
name: /rviz_1301851961332038409
msg: Loading display config from [/home/rainer/.rviz/display_config]
file: /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
function: VisualizationFrame::initConfigs
line: 312
topics: ['/rosout']
---
header:
  seq: 2
  stamp:
    secs: 1301851951
    nsecs: 344788594
  frame_id: ''
level: 2
name: /kinect_laser
msg: waitForService: Service [/openni_camera/load_nodelet] has not been advertised, waiting...
file: /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
function: service::exists
line: 80
topics: ['/rosout', '/openni_camera/bond']
---



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

Rai Cal
In reply to this post by Rai Cal
Thanks a lot for the quick response, William. Based on your suggestion I built ROS from source and verified that the line in openni_node.cpp reads
  nodelet::Loader manager(true);
Unfortunately I still get the same error in /rosout and no laser scan data is published.

Regards,
Rainer

Date: Mon, 4 Apr 2011 00:35:27 -0500
From: William Woodall <[hidden email]>
Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
       Diamondback
To: [hidden email]
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

Hi, just glancing at your email, I had to change line 45 in (
http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html)
in the openni_node to true from false and recompile it to get the
pointcloud_to_laserscan to work.

Via the link it seems to have been set to true, but on my current copy of
diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.

I am not exactly sure why this changed, or even if this is the appropriate
fix, but it is a work around.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:

> Hi,
>
> I am trying to use the pointcloud_to_laserscan node from the turtlebot
> stack in Diamondback running on Ubuntu 10.10 (Maverick). Before Diamondback
> came out, I successfully used ROS Unstable and the pointcloud_to_laserscan
> from the now deprecated ni stack. I started to blog about how I leveraged
> the navigation stack with the Kinect sensor in my hobby robot (
> http://www.hessmer.org/blog/) but then decided it would be better to
> describe how it is done with the official Diamondback release. That's when I
> got stuck.
>
> I installed the turtlebot stack and tried to launch kinect_laser.launch:
>
> roscd pointcloud_to_laserscan/launch
> roslaunch kinect_laser.launch
>
> It fails since the launch file references openni_kinect.launch which no
> longer exists under openni_camera/launch. To fix this I changed the launch
> file to use openni_node.launch instead like so:
>
> <include file="$(find openni_camera)/launch/openni_node.launch"/>
>
> Now the startup log looks good apart from the typical few lines at the end
> warning about a recursive print statement which does not seem to matter.
> However, no laser scan data is published. Looking at the output of /rosout
> yields this error message:
>
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
>
> In case it is needed I am listing the complete output log below. Any ideas
> what else I need to change to get pointcloud_to_laserscan from the turtlebot
> stack to work?
>
> Thanks!
> Rainer
>
> __________
>
> Full output log:
>
> header:
>   seq: 3
>   stamp:
>     secs: 1301851951
>     nsecs: 344856150
>   frame_id: ''
> level: 2
> name: /pointcloud_throttle
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
> line: 80
> topics: ['/rosout', '/openni_camera/bond']
> ---
> header:
>   seq: 1
>   stamp:
>     secs: 1301851962
>     nsecs: 1491137
>   frame_id: ''
> level: 2
> name: /rviz_1301851961332038409
> msg: Loading display config from [/home/rainer/.rviz/display_config]
> file:
> /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
> function: VisualizationFrame::initConfigs
> line: 312
> topics: ['/rosout']
> ---
> header:
>   seq: 2
>   stamp:
>     secs: 1301851951
>     nsecs: 344788594
>   frame_id: ''
> level: 2
> name: /kinect_laser
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
> line: 80
> topics: ['/rosout', '/openni_camera/bond']
> ---
>


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

William Woodall
I just remembered that I also had to change the nodlete manager's name in the launch file too, I can't be certain that is true, but you can check by doing a 'rosservice list'.

You're looking for an inconsistency like that you are waiting on /openni_camera/load_nodlete but there is an /openni_node1/load_nodlete or something similar being offered.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Tue, Apr 5, 2011 at 12:29 AM, Rai Cal <[hidden email]> wrote:
Thanks a lot for the quick response, William. Based on your suggestion I built ROS from source and verified that the line in openni_node.cpp reads
  nodelet::Loader manager(true);
Unfortunately I still get the same error in /rosout and no laser scan data is published.

Regards,
Rainer

Date: Mon, 4 Apr 2011 00:35:27 -0500
From: William Woodall <[hidden email]>
Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
       Diamondback
To: [hidden email]
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"


Hi, just glancing at your email, I had to change line 45 in (
http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html)
in the openni_node to true from false and recompile it to get the
pointcloud_to_laserscan to work.

Via the link it seems to have been set to true, but on my current copy of
diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.

I am not exactly sure why this changed, or even if this is the appropriate
fix, but it is a work around.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:

> Hi,
>
> I am trying to use the pointcloud_to_laserscan node from the turtlebot
> stack in Diamondback running on Ubuntu 10.10 (Maverick). Before Diamondback
> came out, I successfully used ROS Unstable and the pointcloud_to_laserscan
> from the now deprecated ni stack. I started to blog about how I leveraged
> the navigation stack with the Kinect sensor in my hobby robot (
> http://www.hessmer.org/blog/) but then decided it would be better to
> describe how it is done with the official Diamondback release. That's when I
> got stuck.
>
> I installed the turtlebot stack and tried to launch kinect_laser.launch:
>
> roscd pointcloud_to_laserscan/launch
> roslaunch kinect_laser.launch
>
> It fails since the launch file references openni_kinect.launch which no
> longer exists under openni_camera/launch. To fix this I changed the launch
> file to use openni_node.launch instead like so:
>
> <include file="$(find openni_camera)/launch/openni_node.launch"/>
>
> Now the startup log looks good apart from the typical few lines at the end
> warning about a recursive print statement which does not seem to matter.
> However, no laser scan data is published. Looking at the output of /rosout
> yields this error message:
>
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
>
> In case it is needed I am listing the complete output log below. Any ideas
> what else I need to change to get pointcloud_to_laserscan from the turtlebot
> stack to work?
>
> Thanks!
> Rainer
>
> __________
>
> Full output log:
>
> header:
>   seq: 3
>   stamp:
>     secs: 1301851951
>     nsecs: 344856150
>   frame_id: ''
> level: 2
> name: /pointcloud_throttle
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
> line: 80
> topics: ['/rosout', '/openni_camera/bond']
> ---
> header:
>   seq: 1
>   stamp:
>     secs: 1301851962
>     nsecs: 1491137
>   frame_id: ''
> level: 2
> name: /rviz_1301851961332038409
> msg: Loading display config from [/home/rainer/.rviz/display_config]
> file:
> /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
> function: VisualizationFrame::initConfigs
> line: 312
> topics: ['/rosout']
> ---
> header:
>   seq: 2
>   stamp:
>     secs: 1301851951
>     nsecs: 344788594
>   frame_id: ''
> level: 2
> name: /kinect_laser
> msg: waitForService: Service [/openni_camera/load_nodelet] has not been
> advertised, waiting...
> file:
> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
> function: service::exists
> line: 80
> topics: ['/rosout', '/openni_camera/bond']
> ---
>


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

Rai Cal
In reply to this post by Rai Cal
William,

Thank you very much! With your help I got pointcloud_to_laserscan from turtlebot to run. In addition to the nodelet name I had to tweak two more parameters in the file /turtlebot/pointcloud_to_laserscan/launch/kinect_laser.launch. In case others are interested here is the complete list of the required changes in this file:

1. Change the include line to reference openni_node.launch like so:
  <include file="$(find openni_camera)/launch/openni_node.launch"/>

2. Change the two lines starting with <node pkg="nodelet" so that the last parameter reads openni_node1. As an example here is the resulting first corrected line:
  <node pkg="nodelet" type="nodelet" name="kinect_laser" args="load pointcloud_to_laserscan/CloudToScan openni_node1">
 
3. Change the value of the output_frame_id parameter in the faked laser node section to: /openni_rgb_optical_frame

4. In the throttling node section change the remapping of cloud_in to:
    <remap from="cloud_in" to="/camera/depth/points"/>

Regards,
Rainer

------------------------------

Date: Tue, 5 Apr 2011 01:58:31 -0500
From: William Woodall <[hidden email]>
Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
       Diamondback
To: [hidden email]
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

I just remembered that I also had to change the nodlete manager's name in
the launch file too, I can't be certain that is true, but you can check by
doing a 'rosservice list'.

You're looking for an inconsistency like that you are waiting on
/openni_camera/load_nodlete but there is an /openni_node1/load_nodlete or
something similar being offered.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Tue, Apr 5, 2011 at 12:29 AM, Rai Cal <[hidden email]> wrote:

> Thanks a lot for the quick response, William. Based on your suggestion I
> built ROS from source and verified that the line in openni_node.cpp reads
>   nodelet::Loader manager(true);
> Unfortunately I still get the same error in /rosout and no laser scan data
> is published.
>
> Regards,
> Rainer
>
> Date: Mon, 4 Apr 2011 00:35:27 -0500
>
>> From: William Woodall <[hidden email]>
>> Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
>>        Diamondback
>> To: [hidden email]
>> Message-ID: <[hidden email]>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>>
>> Hi, just glancing at your email, I had to change line 45 in (
>>
>> http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html
>> )
>> in the openni_node to true from false and recompile it to get the
>> pointcloud_to_laserscan to work.
>>
>> Via the link it seems to have been set to true, but on my current copy of
>> diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.
>>
>> I am not exactly sure why this changed, or even if this is the appropriate
>> fix, but it is a work around.
>>
>> Hope that helps,
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> William Woodall
>> Graduate Software Engineering
>> Auburn University
>> [hidden email]
>> [hidden email]
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>>
>> On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:
>>
>> > Hi,
>> >
>> > I am trying to use the pointcloud_to_laserscan node from the turtlebot
>> > stack in Diamondback running on Ubuntu 10.10 (Maverick). Before
>> Diamondback
>> > came out, I successfully used ROS Unstable and the
>> pointcloud_to_laserscan
>> > from the now deprecated ni stack. I started to blog about how I
>> leveraged
>> > the navigation stack with the Kinect sensor in my hobby robot (
>> > http://www.hessmer.org/blog/) but then decided it would be better to
>> > describe how it is done with the official Diamondback release. That's
>> when I
>> > got stuck.
>> >
>> > I installed the turtlebot stack and tried to launch kinect_laser.launch:
>> >
>> > roscd pointcloud_to_laserscan/launch
>> > roslaunch kinect_laser.launch
>> >
>> > It fails since the launch file references openni_kinect.launch which no
>> > longer exists under openni_camera/launch. To fix this I changed the
>> launch
>> > file to use openni_node.launch instead like so:
>> >
>> > <include file="$(find openni_camera)/launch/openni_node.launch"/>
>> >
>> > Now the startup log looks good apart from the typical few lines at the
>> end
>> > warning about a recursive print statement which does not seem to matter.
>> > However, no laser scan data is published. Looking at the output of
>> /rosout
>> > yields this error message:
>> >
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> >
>> > In case it is needed I am listing the complete output log below. Any
>> ideas
>> > what else I need to change to get pointcloud_to_laserscan from the
>> turtlebot
>> > stack to work?
>> >
>> > Thanks!
>> > Rainer
>> >
>> > __________
>> >
>> > Full output log:
>> >
>> > header:
>> >   seq: 3
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344856150
>> >   frame_id: ''
>> > level: 2
>> > name: /pointcloud_throttle
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> > header:
>> >   seq: 1
>> >   stamp:
>> >     secs: 1301851962
>> >     nsecs: 1491137
>> >   frame_id: ''
>> > level: 2
>> > name: /rviz_1301851961332038409
>> > msg: Loading display config from [/home/rainer/.rviz/display_config]
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
>> > function: VisualizationFrame::initConfigs
>> > line: 312
>> > topics: ['/rosout']
>> > ---
>> > header:
>> >   seq: 2
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344788594
>> >   frame_id: ''
>> > level: 2
>> > name: /kinect_laser
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> >
>>
>
>
> _______________________________________________
> Ros-kinect mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-kinect
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /lurker/list/ros-kinect.html/attachments/20110405/decb0953/attachment.htm

------------------------------

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect


End of Ros-kinect Digest, Vol 6, Issue 3
****************************************


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

Tully Foote
Hi, I think I've captured most of the updates needed on trunk,  you can get it from https://kforge.ros.org/turtlebot/turtlebot/file/bc24480c7e7a/pointcloud_to_laserscan/launch/kinect_laser.launch  Let me know if it works as you expect. 

Tully

On Tue, Apr 5, 2011 at 7:00 PM, Rai Cal <[hidden email]> wrote:
William,

Thank you very much! With your help I got pointcloud_to_laserscan from turtlebot to run. In addition to the nodelet name I had to tweak two more parameters in the file /turtlebot/pointcloud_to_laserscan/launch/kinect_laser.launch. In case others are interested here is the complete list of the required changes in this file:

1. Change the include line to reference openni_node.launch like so:

  <include file="$(find openni_camera)/launch/openni_node.launch"/>

2. Change the two lines starting with <node pkg="nodelet" so that the last parameter reads openni_node1. As an example here is the resulting first corrected line:
  <node pkg="nodelet" type="nodelet" name="kinect_laser" args="load pointcloud_to_laserscan/CloudToScan openni_node1">
 
3. Change the value of the output_frame_id parameter in the faked laser node section to: /openni_rgb_optical_frame

4. In the throttling node section change the remapping of cloud_in to:
    <remap from="cloud_in" to="/camera/depth/points"/>

Regards,
Rainer

------------------------------

Date: Tue, 5 Apr 2011 01:58:31 -0500

From: William Woodall <[hidden email]>
Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
       Diamondback
To: [hidden email]
Message-ID: <[hidden email]>

Content-Type: text/plain; charset="iso-8859-1"

I just remembered that I also had to change the nodlete manager's name in
the launch file too, I can't be certain that is true, but you can check by
doing a 'rosservice list'.

You're looking for an inconsistency like that you are waiting on
/openni_camera/load_nodlete but there is an /openni_node1/load_nodlete or
something similar being offered.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Tue, Apr 5, 2011 at 12:29 AM, Rai Cal <[hidden email]> wrote:

> Thanks a lot for the quick response, William. Based on your suggestion I
> built ROS from source and verified that the line in openni_node.cpp reads
>   nodelet::Loader manager(true);
> Unfortunately I still get the same error in /rosout and no laser scan data
> is published.
>
> Regards,
> Rainer
>
> Date: Mon, 4 Apr 2011 00:35:27 -0500
>
>> From: William Woodall <[hidden email]>
>> Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
>>        Diamondback
>> To: [hidden email]
>> Message-ID: <[hidden email]>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>>
>> Hi, just glancing at your email, I had to change line 45 in (
>>
>> http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html
>> )
>> in the openni_node to true from false and recompile it to get the
>> pointcloud_to_laserscan to work.
>>
>> Via the link it seems to have been set to true, but on my current copy of
>> diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.
>>
>> I am not exactly sure why this changed, or even if this is the appropriate
>> fix, but it is a work around.
>>
>> Hope that helps,
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> William Woodall
>> Graduate Software Engineering
>> Auburn University
>> [hidden email]
>> [hidden email]
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>>
>> On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:
>>
>> > Hi,
>> >
>> > I am trying to use the pointcloud_to_laserscan node from the turtlebot
>> > stack in Diamondback running on Ubuntu 10.10 (Maverick). Before
>> Diamondback
>> > came out, I successfully used ROS Unstable and the
>> pointcloud_to_laserscan
>> > from the now deprecated ni stack. I started to blog about how I
>> leveraged
>> > the navigation stack with the Kinect sensor in my hobby robot (
>> > http://www.hessmer.org/blog/) but then decided it would be better to
>> > describe how it is done with the official Diamondback release. That's
>> when I
>> > got stuck.
>> >
>> > I installed the turtlebot stack and tried to launch kinect_laser.launch:
>> >
>> > roscd pointcloud_to_laserscan/launch
>> > roslaunch kinect_laser.launch
>> >
>> > It fails since the launch file references openni_kinect.launch which no
>> > longer exists under openni_camera/launch. To fix this I changed the
>> launch
>> > file to use openni_node.launch instead like so:
>> >
>> > <include file="$(find openni_camera)/launch/openni_node.launch"/>
>> >
>> > Now the startup log looks good apart from the typical few lines at the
>> end
>> > warning about a recursive print statement which does not seem to matter.
>> > However, no laser scan data is published. Looking at the output of
>> /rosout
>> > yields this error message:
>> >
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> >
>> > In case it is needed I am listing the complete output log below. Any
>> ideas
>> > what else I need to change to get pointcloud_to_laserscan from the
>> turtlebot
>> > stack to work?
>> >
>> > Thanks!
>> > Rainer
>> >
>> > __________
>> >
>> > Full output log:
>> >
>> > header:
>> >   seq: 3
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344856150
>> >   frame_id: ''
>> > level: 2
>> > name: /pointcloud_throttle
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> > header:
>> >   seq: 1
>> >   stamp:
>> >     secs: 1301851962
>> >     nsecs: 1491137
>> >   frame_id: ''
>> > level: 2
>> > name: /rviz_1301851961332038409
>> > msg: Loading display config from [/home/rainer/.rviz/display_config]
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
>> > function: VisualizationFrame::initConfigs
>> > line: 312
>> > topics: ['/rosout']
>> > ---
>> > header:
>> >   seq: 2
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344788594
>> >   frame_id: ''
>> > level: 2
>> > name: /kinect_laser
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> >
>>
>
>
> _______________________________________________
> Ros-kinect mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-kinect
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /lurker/list/ros-kinect.html/attachments/20110405/decb0953/attachment.htm

------------------------------


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect


End of Ros-kinect Digest, Vol 6, Issue 3
****************************************


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
Tully Foote
Systems Engineer
Willow Garage, Inc.
[hidden email]
(650) 475-2827

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] How to use pointcloud_to_laserscan in Diamondback

Rai Cal
Hi Tully,

Thanks for jumping in and fixing the source code. Your check-in almost works. I only needed to change the last parameter in the args section of the two nodelet declarations to 'openni_manager'. I copied the changed file content below. I tested against ROS Diamondback installed from source as well as installed from the Ubuntu 10.10 packages.

Thanks,
Rainer

Dr. Rainer Hessmer
http://www.hessmer.org/blog/


<launch>
  <!-- kinect-->
  <node pkg="nodelet" type="nodelet" name="openni_manager" output="screen" respawn="true" args="manager"/>

  <node pkg="nodelet" type="nodelet" name="openni_camera" args="load openni_camera/OpenNINodelet openni_manager" respawn="true">
    <param name="device_id" value="#1"/> <!-- this line uses first enumerated device -->
    <rosparam command="load" file="$(find openni_camera)/info/openni_params.yaml" />
    <param name="rgb_frame_id" value="/openni_rgb_optical_frame" />
    <param name="depth_frame_id" value="/openni_depth_optical_frame" />
    <param name="use_indices" value="false" />
    <param name="depth_registration" value="true" />
    <param name="image_mode" value="2" />
    <param name="depth_mode" value="2" />
    <param name="debayering" value="2" />
    <param name="depth_time_offset" value="0" />
    <param name="image_time_offset" value="0" />

  </node>

  <!-- Kinect frames -->
  <include file="$(find openni_camera)/launch/kinect_frames.launch"/>

  <!-- fake laser -->
  <node pkg="nodelet" type="nodelet" name="kinect_laser" args="load pointcloud_to_laserscan/CloudToScan openni_manager" output="screen">
    <param name="output_frame_id" value="/openni_depth_frame"/>
    <remap from="cloud" to="cloud_throttled"/>
  </node>

  <!-- throttling -->
  <node pkg="nodelet" type="nodelet" name="pointcloud_throttle" args="load pointcloud_to_laserscan/CloudThrottle openni_manager">
    <param name="max_rate" value="2"/>
    <remap from="cloud_in" to="/camera/rgb/points"/>
    <remap from="cloud_out" to="cloud_throttled"/>
  </node>

</launch>


On Tue, Apr 5, 2011 at 7:04 PM, Tully Foote <[hidden email]> wrote:
Hi, I think I've captured most of the updates needed on trunk,  you can get it from https://kforge.ros.org/turtlebot/turtlebot/file/bc24480c7e7a/pointcloud_to_laserscan/launch/kinect_laser.launch  Let me know if it works as you expect. 

Tully


On Tue, Apr 5, 2011 at 7:00 PM, Rai Cal <[hidden email]> wrote:
William,

Thank you very much! With your help I got pointcloud_to_laserscan from turtlebot to run. In addition to the nodelet name I had to tweak two more parameters in the file /turtlebot/pointcloud_to_laserscan/launch/kinect_laser.launch. In case others are interested here is the complete list of the required changes in this file:

1. Change the include line to reference openni_node.launch like so:

  <include file="$(find openni_camera)/launch/openni_node.launch"/>

2. Change the two lines starting with <node pkg="nodelet" so that the last parameter reads openni_node1. As an example here is the resulting first corrected line:
  <node pkg="nodelet" type="nodelet" name="kinect_laser" args="load pointcloud_to_laserscan/CloudToScan openni_node1">
 
3. Change the value of the output_frame_id parameter in the faked laser node section to: /openni_rgb_optical_frame

4. In the throttling node section change the remapping of cloud_in to:
    <remap from="cloud_in" to="/camera/depth/points"/>

Regards,
Rainer

------------------------------

Date: Tue, 5 Apr 2011 01:58:31 -0500

From: William Woodall <[hidden email]>
Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
       Diamondback
To: [hidden email]
Message-ID: <[hidden email]>

Content-Type: text/plain; charset="iso-8859-1"

I just remembered that I also had to change the nodlete manager's name in
the launch file too, I can't be certain that is true, but you can check by
doing a 'rosservice list'.

You're looking for an inconsistency like that you are waiting on
/openni_camera/load_nodlete but there is an /openni_node1/load_nodlete or
something similar being offered.

Hope that helps,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
William Woodall
Graduate Software Engineering
Auburn University
[hidden email]
[hidden email]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On Tue, Apr 5, 2011 at 12:29 AM, Rai Cal <[hidden email]> wrote:

> Thanks a lot for the quick response, William. Based on your suggestion I
> built ROS from source and verified that the line in openni_node.cpp reads
>   nodelet::Loader manager(true);
> Unfortunately I still get the same error in /rosout and no laser scan data
> is published.
>
> Regards,
> Rainer
>
> Date: Mon, 4 Apr 2011 00:35:27 -0500
>
>> From: William Woodall <[hidden email]>
>> Subject: Re: [Ros-kinect] How to use pointcloud_to_laserscan in
>>        Diamondback
>> To: [hidden email]
>> Message-ID: <[hidden email]>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>>
>> Hi, just glancing at your email, I had to change line 45 in (
>>
>> http://www.ros.org/doc/api/openni_camera/html/openni__node_8cpp_source.html
>> )
>> in the openni_node to true from false and recompile it to get the
>> pointcloud_to_laserscan to work.
>>
>> Via the link it seems to have been set to true, but on my current copy of
>> diamondback this isn't fixed yet, maybe it hasn't been pushed out yet.
>>
>> I am not exactly sure why this changed, or even if this is the appropriate
>> fix, but it is a work around.
>>
>> Hope that helps,
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> William Woodall
>> Graduate Software Engineering
>> Auburn University
>> [hidden email]
>> [hidden email]
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>>
>> On Mon, Apr 4, 2011 at 12:08 AM, Rai Cal <[hidden email]> wrote:
>>
>> > Hi,
>> >
>> > I am trying to use the pointcloud_to_laserscan node from the turtlebot
>> > stack in Diamondback running on Ubuntu 10.10 (Maverick). Before
>> Diamondback
>> > came out, I successfully used ROS Unstable and the
>> pointcloud_to_laserscan
>> > from the now deprecated ni stack. I started to blog about how I
>> leveraged
>> > the navigation stack with the Kinect sensor in my hobby robot (
>> > http://www.hessmer.org/blog/) but then decided it would be better to
>> > describe how it is done with the official Diamondback release. That's
>> when I
>> > got stuck.
>> >
>> > I installed the turtlebot stack and tried to launch kinect_laser.launch:
>> >
>> > roscd pointcloud_to_laserscan/launch
>> > roslaunch kinect_laser.launch
>> >
>> > It fails since the launch file references openni_kinect.launch which no
>> > longer exists under openni_camera/launch. To fix this I changed the
>> launch
>> > file to use openni_node.launch instead like so:
>> >
>> > <include file="$(find openni_camera)/launch/openni_node.launch"/>
>> >
>> > Now the startup log looks good apart from the typical few lines at the
>> end
>> > warning about a recursive print statement which does not seem to matter.
>> > However, no laser scan data is published. Looking at the output of
>> /rosout
>> > yields this error message:
>> >
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> >
>> > In case it is needed I am listing the complete output log below. Any
>> ideas
>> > what else I need to change to get pointcloud_to_laserscan from the
>> turtlebot
>> > stack to work?
>> >
>> > Thanks!
>> > Rainer
>> >
>> > __________
>> >
>> > Full output log:
>> >
>> > header:
>> >   seq: 3
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344856150
>> >   frame_id: ''
>> > level: 2
>> > name: /pointcloud_throttle
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> > header:
>> >   seq: 1
>> >   stamp:
>> >     secs: 1301851962
>> >     nsecs: 1491137
>> >   frame_id: ''
>> > level: 2
>> > name: /rviz_1301851961332038409
>> > msg: Loading display config from [/home/rainer/.rviz/display_config]
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-visualization-1.4.0/debian/ros-diamondback-visualization/opt/ros/diamondback/stacks/visualization/rviz/src/rviz/visualization_frame.cpp
>> > function: VisualizationFrame::initConfigs
>> > line: 312
>> > topics: ['/rosout']
>> > ---
>> > header:
>> >   seq: 2
>> >   stamp:
>> >     secs: 1301851951
>> >     nsecs: 344788594
>> >   frame_id: ''
>> > level: 2
>> > name: /kinect_laser
>> > msg: waitForService: Service [/openni_camera/load_nodelet] has not been
>> > advertised, waiting...
>> > file:
>> >
>> /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/service.cpp
>> > function: service::exists
>> > line: 80
>> > topics: ['/rosout', '/openni_camera/bond']
>> > ---
>> >
>>
>
>
> _______________________________________________
> Ros-kinect mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-kinect
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /lurker/list/ros-kinect.html/attachments/20110405/decb0953/attachment.htm

------------------------------


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect


End of Ros-kinect Digest, Vol 6, Issue 3
****************************************


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
Tully Foote
Systems Engineer
Willow Garage, Inc.
[hidden email]
(650) 475-2827


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Loading...