Hello! Here is an update on the project. This week I 3D printed the Onshape design and tested it out, and got the quadruped moving. I included a video in the GitHub repository. We did have a snowstorm this week so I was only able to get the parts this Friday(and hence why this post is late).
This Week
Hardware:
- I 3D printed the design consisting of a main body, four gears(although only two were able to print) and four legs. I assembled the parts with the servos and noticed a few issues with the dimensions — I had made the radius of the gears too big, and it was difficult to insert the servos into the body.
- The gear system alleviated some of the issue with the quadruped falling down and not being able to get back up, although not completely. There was also a new load issue. I believe that this may be because of the friction between the body and the gear.
Software
- Since our campus’s 3D printers are closed on weekends, I wasn’t able to reprint to resolve the aforementioned new load issue. Instead I tried to circumvent the load via software by incorporating interrupts into the code; I had noticed that when I unplugged and replugged the power into OpenRB-150, the Dynamixels were able to move for a few seconds. I thought an interrupt in the code might be able to simulate this(also I had never used interrupts and was curious to try them). However, this resulted in the OpenRB-150 no longer being detected by my computer, meaning I could not reupload code. I was able to eventually fix this issue using this post on the forum.
- Instead of interrupts, I was able to use the Dynamixel library to reboot each servo periodically, which meant that the servos were able to move. Of course, this is not ideal, as the reason the servos stop moving is to protect themselves. However, it means that the robot can go through the training sequence uninterrupted.
Next Week
Hardware
- I will build a chamber for training the quadruped to walk forwards. While I am mostly sure it will work, I would like to test it. The chamber won’t be anything complicated, just a thin cardboard box to make sure the quadruped can only move forwards and backwards.
- I will fix the aforementioned dimension issues in the Onshape and update the GitHub. The forecast until next Saturday is mostly sunny, so I should be able to reprint the parts and test.
- I will also build a chamber for training the quadruped to rotate. This will simply be a cylinder whose diameter is the same as the length of the quadruped, restricting the range of motion. The ground will have alternating black and white strips so that the quadruped can use an IR sensor to measure rotation, by how many stripes have passed.
Software
- In addition to testing forward motion, I will also test the quadruped’s rotation using the second chamber.
- @roboteer mentioned that the OpenRB-150 does have flash storage. I will try using it this week as I used the EEPROM memory in my earlier project.