My contribution to #RobotRemix6 was a lizard. In this article, I’m sharing some of the design thinking behind it. I also included building instructions. I built the Liz4rd out of a retail 31313 LEGO MINDSTORMS set and a 42080 Technic Forest Machine only. These are the only boxes you need to build a lizard for yourself.
The whole idea started with a tiny sketch in my sketchbook. I have always been fascinated by the way animals move. On holidays in southern Europe I can forever be amazed at the grace and speed of these tiny lizards on a rock or wall. They can sit stock still and enjoy the sun. And they can accelerate quickly by twisting their body and half leaping across walls.
The Technic Forest Machine had a lot of green parts, so it inspired me to think of green animals, like lizards. I then checked the parts list of the box and was very happy to discover two turntables in there! These would make perfect body joints. In this stage I did not yet have the right boxes, so I started doing some sketch builds in Bricklink Studio. I studied how I could connect the large motors to the turntables, while keeping the overall build as low to the ground as possible. I also investigated gearing options for connecting the medium motor to the turn table and making them turn in opposite directions.
In this stage I was still thinking the legs could make complete circular motions, and a simple through axle would do the job. How wrong that assumption turned out to be. In retrospect I also gravely overestimated the number of green parts in the Technic Forest Machine. I put myself up for quite a building challenge.
Then came time to submit the sketches and the ideas for the competition and wait. Now an expert panel of LEGO builders would judge my design for feasibility, viability and desirability. With the mechanism not truly tested in a prototype I had my fingers crossed.
The build process
To my excitement, on December 12, 2018 I received the word that I was selected for the build among three others! Now, however started the real hard work. The sketches could be done in a matter of hours. The building, rebuilding, programming and building instructions would take weeks. When I started building I discovered two things:
- The gearing I had cooked up in Bricklink Studio did not work. The body twisted in the wrong direction.
- The idea of totally rotating the legs did not work either, it tipped the body over on it’s side much worse than I had anticipated.
After some trial and error I decided to connect the two turntables with one long axle and a 90 degree gear. My challenge now was to make a connection that did not slip. These 90 degree gear connections generate a lot of forces side-wards and upwards. A solid 90 degree gear cage on the scale of a large turntable proved quite the challenge.
The toughest challenge by far were the legs. I did at least 20 versions of them, always checking the parts list, because every part I used had to be in the kit 4 times, enough for every leg. The legs carry a lot of weight. So handling all that force required some tricky building. I thought I had it, until I found out in Copenhagen that I had to keep rebuilding broken legs all the time. So when I came home I redid them again, to be really, really solid.
Programming the lizard
For programming the movement I plan to make a video with a detailed explanation. Synchronizing the legs and the body is quite tricky if you’re new to programming. I have already done some videos on synchronization and I will build on those. In the mean time you can use this program to make it run straight. It calculates targets for every motor and makes every motor run to that target in a tight loop. Make sure the body is centered and the legs on the right set have their red lever pointing up when you start the program. As a programming challenge, you can try to make it auto-calibrate. As the next challenge you can try to make it remote controlled.
The P_controller myblock simply calculates the difference between between the current motor position and the desired position. It then amplifies that error 3 times and feeds it back in to the motor power. Hence the name ‘p-controller’. P is for proportional. It turns the power on in proportion to the gap it needs to close.
Do you want to build a Lizard for yourself? Get both sets and follow the building instructions below.
The building instructions do not include wiring, because Studio does not have this feature yet. So here are the wiring instructions in text:
- The large motor in the back goes with a 35cm cable to port C
- The large motor in the from has a 25cm cable to port B
- The medium motor has a 25cm cable to port D
- The infra red sensor has a 25cm cable to port 4
In case you don’t want to buy both sets, here’s a part list.
I programmed the lizard with the old EV3 software. I never got around to making a python/pybricks version. Maybe someone else can build and share that? You can download the EV3-G program here.