GoPiGo Robot Reference Discussion


The GoPiGo robot servo function and method puts 0 degrees facing left, 90 degrees straight ahead, and 180 to the right. (I haven’t looked at the turning functions/methods.)

If I understand the ROS Wiki correctly, ROS (and iRobot) put the robot frame X axis straight ahead, Z up), with positive angles turn left (from the x axis/forward direction).

Currently, GoPiGo does not fix a Tilt reference. I am using horizontal as 0 degrees, with negative angles down, and positive angle up. ROS robotican tilt/pan head Wiki states positive moves head tilt down, which seems out of sync with the ROS Z positive up axis.

This is the reference I use on my robot:

This is not a complaint or judgement post, as there is no right or wrong, and no standards body saying “robot reference frame shall be …”. This is an observation for discussion.


Simply a difference in target users. The GoPiGo is used by two vastly different groups: kids in classrooms and advanced users.
In the classroom, it’s easy for a teacher to take a tool that the kids are already familiar with: the protractor, which has 0 on one side, 90 straight ahead, and 180 on the other side.
We think that it helps teachers and kids.
Advanced users are advanced enough to adapt their code, while kids aren’t.

As you say, no right or wrong here. I’m just explaining our reasoning.