[ros-users] Core robot controller manager

Daniel Stonier d.stonier at gmail.com
Sun Nov 7 14:03:50 UTC 2010

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.

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

More information about the ros-users mailing list