[ros-users] Core robot controller manager

Daniel Stonier d.stonier at gmail.com
Sun Nov 7 23:15:24 UTC 2010


On 8 November 2010 06:14, Stuart Glaser <sglaser at willowgarage.com> wrote:
> Hi Daniel,
>
> The RealtimePublisher will work fine on a non-realtime system.  It may
> be slightly less efficient than normal ROS publishing, but I don't
> think you'll notice any difference.
>
> -Stu

Ok, just browsed through the code - should have done that earlier
instead of making assumptions. Looks like it is just providing mutex
locking protections. Thanks for the heads up.

Regards,
Daniel.


> On Sun, Nov 7, 2010 at 6:03 AM, Daniel Stonier <d.stonier at gmail.com> wrote:
>> Hi all,
>>
>> I've been working over the last few weeks to put together a core robot
>> subsystem for one of our robots - it's pr2 like with a mobile base, a
>> manipulator and various other motor driven mounts (14 motors in all),
>> but on an a real budget and I was wondering what experiences others
>> have had doing something similar.
>>
>> The primary challenges with ours are two fold:
>>
>> 1) It isn't running an ethercat based system. i.e. it's non-real time,
>> though thats something I would like to upgrade on this particular
>> robot in the future, however its not something that all of our robots
>> will have. This means the motors are often driven on multiple loops,
>> some fast and some slow (so not to burden the low spec embedded
>> board). Also, the controllers in ros are using a real time publisher -
>> and I made the assumption that is not usable for non real time (please
>> correct me if I'm wrong!), so rebuilt all the
>> controllers/transmissions we had to use.
>>
>> 2) We're running on a low spec intel atom (the lowest), so topic
>> communication and loop frequencies need to be kept down. Since its not
>> centralised, it needed some care designing to ensure callback
>> frequencies didn't escalate and control loop periods weren't consuming
>> too much horsepower. Most of it is interrupt driven now too because
>> different subsystems are cycling at different speeds.
>>
>> Finally, its roughly working, but its quite ad-hoc and took alot of
>> building in the long run and am wondering if there's an easier way to
>> do it, or a way to genericise components so that they can be recycled
>> for both non-realtime and realtime systems.
>>
>> Regards,
>> Daniel Stonier
>>
>> --
>> Phone : +82-10-5400-3296 (010-5400-3296)
>> Home: http://snorriheim.dnsdojo.com/
>> Yujin Robot: http://www.yujinrobot.com/
>> Embedded Ros : http://www.ros.org/wiki/eros
>> Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>
>
>
> --
> Stuart Glaser
> sglaser -at- willowgarage -dot- com
> www.willowgarage.com
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin Robot: http://www.yujinrobot.com/
Embedded Ros : http://www.ros.org/wiki/eros
Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl



More information about the ros-users mailing list