To be compatible with the software we are developing to control Poppy and contribute to the project, you should strictly follow the naming convention we established.
motor_naming_convention.pdf (1.3 MB)
Indeed, in the poppytools package, motors are named explicitly, for example:
class SitPosition(pypot.primitive.Primitive):
def run(self):
self.robot.l_hip_y.goal_position = -35
self.robot.r_hip_y.goal_position = -35
self.robot.l_knee_y.goto_position(125, 2)
self.robot.r_knee_y.goto_position(125, 2, wait=True)
for m in self.robot.torso:
m.goal_position = 0
motor_list = [self.robot.l_knee_y, self.robot.l_ankle_y, self.robot.r_knee_y, self.robot.r_ankle_y]
for m in motor_list:
m.compliant = True
Using the Dynamixel wizard or pypot Herborist, you just have to match the motors ids between our convention and your Poppy.
Then the configuration file will create the good motor names based on these ids when you will create the pypot robot:
import pypot.robot
from poppytools.configuration.config import poppy_config
poppy = pypot.robot.from_config(poppy_config)