Robot Up

A project log for ROSCOE - A Scalable, Platform Independent Robot

A new algebraic machine cognition model and a novel machine vision architecture

J GroffJ Groff 08/15/2014 at 23:190 Comments

After ensuring that no more localhost bindings were taking place by ensuring the ROS_IP / ROS_HOSTNAME were set the same problem with Connection Refused occurred. Like many problems this one was related to a combination of my own stupidity and a bugs in the system. If ROS encounters a new node registration with the same name as an existing node it will try to replace the slave server, however, it assumes an immediate slave server restart and tries to connect to that as-yet-unstarted server. That is the bug. The stupidity was my accidentally using the same node name as I did for the publisher, causing the situation to begin with. Eventually, after numerous retries and cringe-inducing stack dumps a connection is made to the new server and traffic flows. My initial test case is having ROSCOE listen to range and status and speaking the status message and checking range for values < 100 cm and report that by saying "Excuse me, but you are <nnn> centimeters too close", all of which it now does via the ROS bus on Raspberry Pi!