What happens on Start-Up?


Recommended Posts

I think this is a fitting first question for the forum.

I have been having some issues where I run a script one day and it works fine, then I come in the next day (after having shut off sawyer the previous night) and start sawyer back up and rerun the same script and I get a significantly different output. 

My script only uses two types of data: images, and the robot (base -> hand) transformation that the image was acquired with.
Essentially I have sawyer run through a fixed set of poses (defined as a list of joint angles), and at each pose I capture an image and record the base -> hand transformation for that pose.
I had the robot run through the same set of poses both days and manually verified that the captured images were the same as the previous day.

So before I start accusing people of tampering with my code overnight, I wonder if Sawyer does any redefining of reference frames on start up? Perhaps based on the orientation the joints have when the system is powered on?

Any help is appreciated,


Link to comment
Share on other sites

Hi Josh,

At boot time, Sawyer does read its joint control board (JCB) configurations and construct its URDF, but these values and Sawyer's joint range & transform frames are fixed at manufacture time. What values are you measuring and how are they significantly different from day to day? Just as an FYI, I'd recommend using the transform from /base to either /head_camera or /right_hand_camera frames if you're interested in where the camera is oriented with respect to the robot's base.


~ Ian

Link to comment
Share on other sites

Hi Ian,

I managed to resolve my issue.

I believe my issue was lack of data points. I was using the reference frames and data from my images in a big least-squares problem, but I believe I had insufficient data points leaving my problem under constrained so that very slight variations in the reported /base -> /right_hand transformation caused huge swings in my scripts output.

So I do not think it is any problem with the robot! But your answer did help me eliminate one more unknown, allowing me to solve my problem.

And I should have clarified, I am using an imaging device attached to sawyer's hand, and not the built in camera.

Also you mentioned joint frames are fixed at manufacturing time. So when I get the /base -> /right_hand transformation, what fixed location on the robot is it referencing these locations from?
Like If I wanted to know the translation from the /right_hand frame to the end of a custom end effector, where on the hand should I measure from?




Link to comment
Share on other sites


This topic is now archived and is closed to further replies.