Apologies for reviving an old thread, but I have the same issue. I want to use Poppy Ergo Jr with 5 motors instead of 6, but I run into the same problem.
I tried erasing m6 from the poppy_ergo_jr.json file, I also tried putting it as broken=true, both attempts give me this error when I try to start Poppy Ergo Jr. from jupyter:
ValueErrorTraceback (most recent call last)
in ()
1 from pypot.creatures import PoppyErgoJr
2
----> 3 poppy = PoppyErgoJr(camera=‘dummy’)
4
5 # If you want to use the robot with the camera unpluged,
/home/poppy/miniconda/lib/python2.7/site-packages/pypot/creatures/abstractcreature.pyc in new(cls, base_path, config, simulator, scene, host, port, id, use_snap, snap_host, snap_port, snap_quiet, use_http, http_host, http_port, http_quiet, use_remote, remote_host, remote_port, use_ws, ws_host, ws_port, start_background_services, sync, **extra)
158 logger.info(‘Ws server is now running on: ws://{}:{}\n’.format(ws_host, ws_port))
159
→ 160 cls.setup(poppy_creature)
161
162 if start_background_services:
/home/poppy/miniconda/lib/python2.7/site-packages/poppy_ergo_jr/poppy_ergo_jr.pyc in setup(cls, robot)
21 motors=robot.motors,
22 passiv=,
—> 23 tip=[0, 0, -0.07])
24
25 robot.chain = c
/home/poppy/miniconda/lib/python2.7/site-packages/pypot/creatures/ik.pyc in from_poppy_creature(cls, poppy, motors, passiv, tip, reversed_motors)
31 base_elements=chain_elements,
32 last_link_vector=tip,
—> 33 active_links_mask=activ)
34
35 chain.motors = [getattr(poppy, l.name) for l in chain.links[1:-1]]
/home/poppy/miniconda/lib/python2.7/site-packages/ikpy-2.2.1-py2.7.egg/ikpy/chain.pyc in from_urdf_file(cls, urdf_file, base_elements, last_link_vector, base_element_type, active_links_mask, name)
123 links = URDF_utils.get_urdf_parameters(urdf_file, base_elements=base_elements, last_link_vector=last_link_vector, base_element_type=base_element_type)
124 # Add an origin link at the beginning
→ 125 return cls([link_lib.OriginLink()] + links, active_links_mask=active_links_mask, name=name)
126
127 def active_to_full(self, active_joints, initial_position):
/home/poppy/miniconda/lib/python2.7/site-packages/ikpy-2.2.1-py2.7.egg/ikpy/chain.pyc in init(self, links, active_links_mask, name, profile, **kwargs)
30 if active_links_mask is not None:
31 if len(active_links_mask) != len(self.links):
—> 32 raise ValueError(“Your active links mask length of {} is different from the number of your links, which is {}”.format(len(active_links_mask), len(self.links)))
33 self.active_links_mask = np.array(active_links_mask)
34 # Always set the last link to True
ValueError: Your active links mask length of 7 is different from the number of your links, which is 8
Has someone been able to use Poppy Ergo Jr. with less than 6 motors?