[ros-users] Novint Falcon, HAPI and ROS

Vijay Pradeep vpradeep at willowgarage.com
Thu Mar 25 17:39:39 UTC 2010


Hi Miguel,

Just some thoughts before someone with more experience with ROS intricacies
chimes in...

What loopRate have you requested?  Could you possibly check and see how fast
each loop is running?  Is it possible that the haptic processing thread is
being starved (ie. is your cpu swamped)?

I also noticed that in the non-ROS version, your while loop is looping as
fast as possible, whereas in the ROS version, it is slowed down by a
loopRate object.

I'd be curious to see what happens if you remove the *
positionPub.publish(positionMsg)* and *ros:spinOnce()*, and maybe also the *
loopRate.sleep()*.  Pretty much, I'm suggesting that you make your
ROS-version while loop look exactly the non-ROS while loop.  This might help
pin down whether or not the background ROS thread is messing things up.

Hopefully this helps!

Vijay

On Thu, Mar 25, 2010 at 3:38 AM, cuenta altas <miguel.register at gmail.com>wrote:

> 2010/3/24 Brian Gerkey <gerkey at willowgarage.com>
>
>> On Wed, Mar 24, 2010 at 9:50 AM, cuenta altas <miguel.register at gmail.com>
>> wrote:
>> > I'm trying to use HAPI to create a node that manages a Novint Falcon
>> haptic
>> > device.
>> > The problem is that haptic rendering doesn't work at all when I manage
>> the
>> > device from a ROS node, while almost the same code (without all the ROS
>> > stuff) works fine from a standalone process.
>> > I know that HAPI internally spawns a separate thread to manage the
>> device at
>> > high frequencies (~1 kHz). I also know that the way it does it is
>> through
>> > another library (distributed with HAPI) named H3DUtil, which in turn
>> uses
>> > pthreads. I suspect there must be some kind of interference between the
>> > thread that manages the haptic device and ROS, but I'm not comfortable
>> > enough with any of them (HAPI or ROS) to be able to speculate any
>> further.
>> > Has anyone had any experience with this library before and experienced
>> > similar problems? And if nobody has, does somebody have any suggestion
>> on
>> > which way should I go to try to fix this?
>>
>> hi Miguel,
>>
>> I'm not familiar with that library, but I'd surprised if the threads
>> were interfering with each other.  It's more likely that when you're
>> using ROS, you're not calling HAPI's event loop.  Can you post the
>> code that works and the code that doesn't?
>>
>
> Hi Brian,
>
> These are the two files. Both compile and run okay, but with one I can feel
> the plane restrictions I send to the device and with the other one I can't.
>
> I'll keep trying to figure out what's wrong.
>
> Best,
> Miguel.
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100325/d572176a/attachment-0004.html>


More information about the ros-users mailing list