[ros-users] handling multiple topics in Python

Patrick Bouffard patrick.m.bouffard at gmail.com
Fri Apr 16 01:11:56 UTC 2010


An update - I'm having more success with my pure python joystick node
(that uses pygame's joystick-reading capabilities). I'm not sure if my
problems with (ROS's) joy_node were something specific to my setup but
I'm going to forge ahead with what works for now. Also, my Ctrl+C
issues were resolved by using rospy.is_shutdown() as suggested.

Thanks for all the help and suggestions.

Cheers,
Pat

On Thu, Apr 15, 2010 at 4:55 PM, Patrick Bouffard
<patrick.m.bouffard at gmail.com> wrote:
> I was just now in the process of doing that.. The biggest I've seen is
> about 3 seconds. They tend to be relatively infrequent but frequent
> enough that they will be troublesome for my application. Here's an
> example output, this is with autorepeat_rate set to 5 Hz:
> http://pastebin.org/152943
>
> I may take a quick try at writing a pure python node for the joystick
> using pygame as I'm familiar with that and had no issues with it using
> the same hardware. I'll let everyone know how that goes.
>
> Pat
>
> On Thu, Apr 15, 2010 at 4:43 PM, Blaise Gassend <blaise at willowgarage.com> wrote:
>> Try rostopic hz or rostopic echo to see if you are getting any gaps on
>> the /joy topic. How big are the gaps you are seeing?
>>
>> On Thu, 2010-04-15 at 12:12 -0700, Patrick Bouffard wrote:
>>> Thanks all for the responses, that gives me a few things to try.
>>>
>>> Regarding the joystick: I'm using joy_node from the joy package, and
>>> setting the autorepeat_rate parameter, so I should be getting a steady
>>> stream of joy messages, which I mostly do but sometimes there is a
>>> long gap. My suspicion is that it's my code that is to blame for that
>>> though.
>>>
>>> I'll hack on this a bit more and report back..
>>>
>>> Cheers,
>>> Pat
>>>
>>> On Thu, Apr 15, 2010 at 10:59 AM, Blaise Gassend
>>> <blaise at willowgarage.com> wrote:
>>> >> Rospy replaces the signal handler for SIGINT.  A running loop in your
>>> >> main thread will no longer be interrupted with a KeyboardInterrupt.
>>> >> Instead you should check rospy.is_shutdown() as a condition of your
>>> >> loop.
>>> >
>>> > Also, if you are using threads, SIGINT will only kill one of them even
>>> > without rospy. You have to make sure that each thread exits after a
>>> > KeyboardInterrupt (or after rospy.is_shutdown() goes true in the case of
>>> > rospy).
>>> >
>>> >
>>> > _______________________________________________
>>> > ros-users mailing list
>>> > ros-users at code.ros.org
>>> > https://code.ros.org/mailman/listinfo/ros-users
>>> >
>>> _______________________________________________
>>> ros-users mailing list
>>> ros-users at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-users
>>
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>



More information about the ros-users mailing list