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

Openni_Launch on Lion with Xtion

asked 2012-05-22 05:09:39 -0500

seanreynoldscs gravatar image

updated 2012-05-22 05:48:58 -0500

I'm just returning to ROS after some time. How do you get openni_launch installed in OSX?

I've been able to consistently get ROS Fuerte installed on Lion. using:

http://ros.org/wiki/fuerte/Installation/OSX/Homebrew/Source

I've been able to get VirtualBox with Ubuntu and Fuerte up and running on Lion out of the box.

I've been able to dual boot and get Fuerte and the Xtion with everything working in Ubuntu on the Macbook Air.

But what I want is to get At Least OpenNI_Launch and Openni_camera etc up and running on Lion. I can run roscore, and everything is fine. But Openni_Launch is not present in OSX and obviously apt-get is not either.

How do I install Openni_Launch in an OSX environment? I found:

https://github.com/walchko/kinect

But it seems to be tailored specifically for the kinect even going as far as swapping out usb drivers...

When I get VirtualBox running on Lion with Ubuntu 64x, everything works except that the camera does not display data either in Rviz or RosTopic.

running:

roslaunch openni_launch openni.launch

does FIND the camera in the virtualbox vm of Ubuntu, and everything acts like it's about to work, but there is just no picture and on rostopic the camera node is just not displaying data?

If I could get the camera to work in my VM OR if I could get Openni_Launch to work on Lion this would be sufficient for me.

I just want to utilize to objectiveC and the App store for ROS, so I need to be able to get this running on OSX.

Any Suggestions? Thoughts??

edit retag flag offensive close merge delete

Comments

>> does FIND the camera in the virtualbox vm of Ubuntu, and everything acts like it's about to work, but there is just no picture and on rostopic the camera node is just not displaying data? I have a similar problem on Ubuntu guest with Ubuntu host.

Vikas gravatar image Vikas  ( 2013-09-21 11:01:57 -0500 )edit

4 Answers

Sort by ยป oldest newest most voted
1

answered 2012-05-22 07:23:33 -0500

William gravatar image

updated 2012-05-22 07:23:55 -0500

The work of Kevin Walchko you found at his github is trying to address this very problem. I think it is related to problems with the openni_driver on OS X, which has been historically problematic, Kevin can probably comment better here.

As for visualization in the VM, try switching the display to points from billboards of the PointCloud2 type. For some reason several of the nvidia CG shader scripts do not work properly on Mac (either directly or via a virtual machine). This is a known problem and it might be fixed in the future, but the current work around is to avoid billboards.

There is no native obj-c client for ROS nor are there wrappers to the c++ ROS client at the moment, but there is a new special interest group (SIG) for exactly this: http://ros.org/wiki/groovy/Planning/iOS

edit flag offensive delete link more
1

answered 2012-05-25 07:53:47 -0500

Kevin gravatar image

Yes, my kinect work in github uses libfreenect and not OpenNI. I can't get OpenNI to work with ros correctly on OSX (tried many times and many ways). Also you cannot use kinect with VB ... doesn't work.

What I am doing now is running kinect (using libfreenect) to produce depth images and point clouds ros understands. I am right now setting up (just like you did) a virtualbox with Linux and ROS-Fuerte so I can send (over the network) kinect data (from OSX) to virtualbox/Linux and work with RGBD-Slam, octomap, etc.

[kinect] -> [OSX/libfreenect] -> [Virtualbox/Linux]

I have basically given up on an OSX only solution. For the past year, I have spent more time getting ros packages to work on OSX than actually doing any robotics work. I am almost to the point of abandoning OSX and just moving to Linux completely.

Curious how the performance of Linux/Ros is on a macbook air. Also curious about your thoughts on the Xtion if you have any too.

Good Luck!

edit flag offensive delete link more

Comments

Linux/Ros on Macbook air works flawlessly. I recommend the tutorial here: https://help.ubuntu.com/community/MacBookAir4-2

Please dont give up on OSX! We just need to get OpenNI_Launch working on the Macbook!

What success have you had getting OpenNI to port?

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-28 19:15:25 -0500 )edit

I really really like the Xtion, It's flawless! The best thing about it is that it doesnt require external power; much better for robotics. The worst thing about it is that there are other projects which are Kinect Specific.

How can I attempt to install Openni_Launch into ros on OSX? Sorry I'm new.

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-28 19:20:36 -0500 )edit

Is it: "rosdep install openni_launch" ?

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-28 19:29:39 -0500 )edit
0

answered 2012-05-23 07:29:04 -0500

seanreynoldscs gravatar image

In an effort to be Thorough I've tried everything a couple of times. I'm able to see perfect output from the project

RGBD_preRelease_0021_osx

which ran in tech news a few weeks back. This is an OPENNI Project. While recognizing that it's precompiled and prepackaged, It at least lets me know that it's possible to get OpenNI on the MAC Lion.

That being said: I've not had time to get OpenNI installed directly from OpenNI. When I installed RGBD I wrongly assumed it was the same as Installing OpenNI... I'll work on that next.

That said: Unless I know the process Kevin Walchko is undertaking for the Kinect, I'm not sure if I will be able to port any work I do for OpenNI for the Xtron to ROS. Can I get more information about how to get OPENNI_Launch Ros packages running? Id like ROS to get to the point where it is LOOKING for openni to be there...

In reference to your Direction with the VirtualBox solution, I've confirmed that it doesnt work. I've switched Billboard to Points, and every other option in the drop down list. I get nothing. More to the point I've gotten this to work in Ubuntu running on Metal, and not in the VM. I recognize this might be something others have tried, and given up on. But I wouldnt mind trying more things to get it to work, if anyone has any suggestions.

Below is the output of my roslaunch openni_launch openni.launch output. It's worth noting that I connected the camera after running openni, THIS TIME... but not every time. I've tried connecting first as well.

ros@ros-VirtualBox:~$ roslaunch openni_launch openni.launch ... logging to /home/ros/.ros/log/7c0eff3a-a4f9-11e1-b83d-080027a47124/roslaunch-ros-VirtualBox-1902.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ros-VirtualBox:35053/

SUMMARY

PARAMETERS * /camera/depth/rectify_depth/interpolation * /camera/depth_registered/rectify_depth/interpolation * /camera/disparity_depth/max_range * /camera/disparity_depth/min_range * /camera/disparity_depth_registered/max_range * /camera/disparity_depth_registered/min_range * /camera/driver/depth_camera_info_url * /camera/driver/depth_frame_id * /camera/driver/depth_registration * /camera/driver/device_id * /camera/driver/rgb_camera_info_url * /camera/driver/rgb_frame_id * /rosdistro * /rosversion

NODES /camera/depth/ metric (nodelet/nodelet) metric_rect (nodelet/nodelet) points (nodelet/nodelet) rectify_depth (nodelet/nodelet) /camera/rgb/ debayer (nodelet/nodelet) rectify_color (nodelet/nodelet) rectify_mono (nodelet/nodelet) / camera_base_link (tf/static_transform_publisher) camera_base_link1 (tf/static_transform_publisher) camera_base_link2 (tf/static_transform_publisher) camera_base_link3 (tf/static_transform_publisher) camera_nodelet_manager (nodelet/nodelet) /camera/ disparity_depth (nodelet/nodelet) disparity_depth_registered (nodelet/nodelet) driver (nodelet/nodelet) points_xyzrgb_depth_rgb (nodelet/nodelet) register_depth_rgb (nodelet/nodelet) /camera/ir/ rectify_ir (nodelet/nodelet) /camera/depth_registered/ metric (nodelet/nodelet) metric_rect (nodelet/nodelet) rectify_depth (nodelet/nodelet)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading'="" from="" '="" usr="" lib="" python2.7="" threading.pyc'=""> ignored process[camera_nodelet_manager-1]: started with pid [1922] Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading'="" from="" '="" usr="" lib="" python2.7="" threading.pyc'=""> ignored process[camera ...

(more)
edit flag offensive delete link more

Comments

I forgot to mention that a rostopic for the camera yields no output.

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-23 07:32:38 -0500 )edit

Also worth noting: When I call rosrun rviz rviz, from the vm running in lion, I can see the camera turn on. You can see the little red emitter come on. So, it's definitely doing something. It seems like the openni_camera node just isnt able to tap into the Virtualized hardware data.

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-24 04:09:31 -0500 )edit
1

Again, try changing the display type in rviz from billboards to points, if the red light is coming from the Kinect when you connect with rviz then it is likely working. Also, you can do rostopic hz /camera/rgb/points to see if any data is coming over the wire.

William gravatar image William  ( 2012-05-25 12:57:53 -0500 )edit

So, the red light I was referring to was the faint glow of the emitter. When I check RosTopic with the command you mention, it says: WARNING: topic [/camera/rgb/points] does not appear to be published yet

seanreynoldscs gravatar image seanreynoldscs  ( 2012-05-28 19:04:04 -0500 )edit
0

answered 2012-05-31 18:17:10 -0500

seanreynoldscs gravatar image

In the Virtual Box Settings for my Ubuntu VM I can configure the USB and I see:

Name: PrimeSense Device [0001]

Vender ID: 1D27

Product ID:0600

Revision: 0001

Manufacturer:PrimeSense

Product:PrimeSense Device

Serial No.:

Port:

Remote: NO

Does anyone know if these should be changed for OpenNI_Launch to see the hardware? Also... since everything is a file in Linux, can I just copy the file that my DualBoot gets and tweak it for the VM?

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-05-22 05:09:39 -0500

Seen: 1,945 times

Last updated: May 31 '12