diff --git a/src/book/03-guides/03-hardware/01-working-with-robots.mdx b/src/book/03-guides/03-hardware/01-working-with-robots.mdx index 0ae55f848..ef489f4e6 100644 --- a/src/book/03-guides/03-hardware/01-working-with-robots.mdx +++ b/src/book/03-guides/03-hardware/01-working-with-robots.mdx @@ -1,7 +1,76 @@ --- section: Guides chapter: Hardware -title: Working with Robots -description: How to safely handle and work with robots. +title: Servo alignment and replacement +description: Safely replacing and aligning servos slug: /guides/hardware/working-with-robots --- + +## Aligning an Ankle + +An alignment of an ankle may need to be done if the foot and the leg of the robot aren't perpendicular when standing. +An ankle alignment may also be necessary when the foot has come loose. + +To align an ankle correctly perform the following instructions: + +1. On the inner part of the robots leg, unscrew the screws holding the plastic casing to the the ankle and knee servo. + Remove the plastic casing, as seen in the following image: + ![leg cover](./images/ankle_leg/leg_cover.jpg 'leg cover') + +2. There should be a silver disk, the following photo is a close up: + ![servo close up](./images/ankle_leg/servo_close.jpg 'servo close up') + There are three small indents on the silver disk, two on one side and one on the other. The single dot should be pointing towards the ground when the robot is standing and the other two dots towards the head. + These three dots form an arrow, this arrow should be pointing downwards when the robot is standing. + +3. Manually move the disk on the servo so it is in the correct orientation + +4. Place the plastic cover back on and replace all the screws. When replacing the screws, one hole must be left without a screw to allow for the servo to move. The hole left without a screw is the largest hole, which can be seen on the right of the following image: + ![screw hole](./images/angle_leg/screw_holes.jpg 'screw hole') + +## Replacing Shoulder servo + +1. Detaching the arm + + - On the shoulder of the robot, there is a ring of screws front and back. Remove all the screws except for the larger centre screw on both sides + - Remove the arm from the shoulder socket, by carefully stretching the shoulder cuff around the two larger centre screws, it will still be attatched by a wire + - Take off the long part of plastic between the shoudler and neck, it is held by two screws. This piece of plastic can be seen in the following photo: + ![shoulder cover](./images/shoulder/shoulder.jpg 'shoulder cover') + - Now that the shoulder cover is off, there is a port for the chord that is still keeping the arm in place, detach this and the arm will be completely detached. + +2. Detaching the shoulder + - Looking in the shoulder socket there is another circle of screws, remove these and the shoulder will detatch. Do not remove the large centre screw. + Note: Two plastic spacers should also fall out +3. Removing the servo + + - Remove and disconnect the boards and fans necessary to access the shoulder servo from the inside, make sure to note any chords you detach + - On the outside of the robot where the shoulder socket detached, remove the four screws mounting the servo to the robots body + - There is a plastic holder inside the robot holding each of the shoulder servos in place, slide this towards the robots back to unclip the servos to allow it to fall freely out of its slot + +4. Mechanically testing the servo + - Get a screw driver that fits the middle screw in the servo horn (3mm Hex bit). Rotate the horn to test if the servo rotates freely without any clunks. If it doesn't rotate or is clunky, it needs replacing +5. Installing a new servo + + - Get the new servo set with the same serial number on the box (e.g. MX64 or MX106) + - Connect the metal circular disk (horn) that came in the box on the new servo, ensuring you line up the indents on the metal disk and servo + - Before placing the servo into the robot it needs to be calibrated. Using the dynamixel wizard, confirm the correct baud rate and ID of the servo. You can also check that the servo is properly calibrated by setting the goal position to a couple of different values (0 degress, +90 degrees, -90 degrees) and ensuring the arrow on the horn (the three dots) are pointing in the correct direction. It is also worth testing that the servo behaves correctly around the 180 degree point (wheel mode), if you set the goal position to 170 degrees and then to 190 degrees it should take the long way around to get there. + - Place the servo into the body, put back the plastic holder and reconnect all the cables that were disconnected in the 'removing servo' step + - Rescrew the four screws that were taken out + - The arm of the robot should be staight and perpendicular to the body when the shoulder is set to 0 degrees. This means you need to orientate the server before placing the shoulder back on. + On the horn, there are three small indents in the metal, which form an arrow. The point of the arrow needs to be downwards towards the robots feet, and the two dots towards its head, this ensures the robots shoulder will be correctly aligned. + +6. Reconstruction + + - The arm of the robot should be staight and perpendicular to the body when the shoulder is set to 0 degrees. This means you need to orientate the server before placing the shoulder back on. + On the horn, there are three small indents in the metal, which form an arrow. The point of the arrow needs to be downwards towards the robots feet, and the two dots towards its head, this ensures the robots shoulder will be correctly aligned. + - Now attach the shoulder back on, ensuring you put back the plastic spacers. The shoulder should also be placed on + with correct orientation. On the shoulder there is one side of raised up plastic, two sides with the holes for the screws and a shorter side. The side with the tall bit of plastic without screw holes should be faced towards the robots feet, + the same direction the horn was orientated. The shoulder should look like it is on upside down. + ![shoulder orientation](./images/shoulder/shoulder_orientation2.jpg 'shoulder orientation') + - Feed the chord through the gap in the shoulder and connect the arm again to the slot between the shoulder and head + - slide the arm in place and rescrew the arm to the shoulder + + Note: If you don't place the cable of the arm far enough into the shoulder, they will get caught and will limit the shoulder movements. If this happens, do not force the arm to move, but take apart the shoulder and redo the attatchment. + +7. Testing + +- Now the shoulder needs to be tested using Open Dynamixel Wizard. This tests if the soulder was placed on correctly, or the servo has come out of alignment during the attatchment of the shoulder and arm. diff --git a/src/book/03-guides/03-hardware/images/ankle_leg/leg_cover.jpg b/src/book/03-guides/03-hardware/images/ankle_leg/leg_cover.jpg new file mode 100644 index 000000000..6a045191c Binary files /dev/null and b/src/book/03-guides/03-hardware/images/ankle_leg/leg_cover.jpg differ diff --git a/src/book/03-guides/03-hardware/images/ankle_leg/screw_holes.jpg b/src/book/03-guides/03-hardware/images/ankle_leg/screw_holes.jpg new file mode 100644 index 000000000..bc8349017 Binary files /dev/null and b/src/book/03-guides/03-hardware/images/ankle_leg/screw_holes.jpg differ diff --git a/src/book/03-guides/03-hardware/images/ankle_leg/servo_close.jpg b/src/book/03-guides/03-hardware/images/ankle_leg/servo_close.jpg new file mode 100644 index 000000000..9a29da154 Binary files /dev/null and b/src/book/03-guides/03-hardware/images/ankle_leg/servo_close.jpg differ diff --git a/src/book/03-guides/03-hardware/images/shoulder/shoulder.jpg b/src/book/03-guides/03-hardware/images/shoulder/shoulder.jpg new file mode 100644 index 000000000..5e68efa48 Binary files /dev/null and b/src/book/03-guides/03-hardware/images/shoulder/shoulder.jpg differ diff --git a/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation.jpg b/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation.jpg new file mode 100644 index 000000000..d9d0cd371 Binary files /dev/null and b/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation.jpg differ diff --git a/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation2.jpg b/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation2.jpg new file mode 100644 index 000000000..5d1754f05 Binary files /dev/null and b/src/book/03-guides/03-hardware/images/shoulder/shoulder_orientation2.jpg differ