Difference between revisions of "Robot Arm"
m (Note that the arm is long gone) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | === (2022-10-17): This arm is long gone === | ||
+ | |||
+ | = Software = | ||
+ | |||
+ | The robot arm was purchased with the intent of being used to create a mechanical turk. | ||
+ | The code going towards this goal lives in ~ssalbiz/arm, use "git clone ~ssalbiz/arm" to make a copy. | ||
+ | |||
= Hardware = | = Hardware = | ||
The arm is a [http://www.lynxmotion.com/c-130-al5d.aspx Lynxmotion AL5D]. | The arm is a [http://www.lynxmotion.com/c-130-al5d.aspx Lynxmotion AL5D]. | ||
Line 25: | Line 32: | ||
== Servo key and degree of motion == | == Servo key and degree of motion == | ||
− | * 0 - | + | * 0 - Base |
− | * 1 - | + | * 1 - Shoulder |
− | * 2 - | + | * 2 - Elbow |
− | * 3 - | + | * 3 - Wrist |
− | * 4 - | + | * 4 - Grip |
− | * 5 - | + | * 5 - Wrist Rotate |
= Purpose = | = Purpose = | ||
The current purpose of the robot arm is to make an entity that can play chess against a human. | The current purpose of the robot arm is to make an entity that can play chess against a human. | ||
+ | |||
+ | ==Status== | ||
+ | Not being worked on. Need to complete the following: | ||
+ | |||
+ | * Complete physical modifications to robot arm to allow it to reach all pieces on the board | ||
+ | * Calibrate arm base mount against chess board squares | ||
+ | * Make the robot arm code talk to a chess program | ||
+ | * Make the chess program talk to the chess vision code | ||
+ | * Make the arm not have terrible things happen when the servos heat up | ||
= External Links = | = External Links = | ||
− | * a manual | + | * a manual [http://www.lynxmotion.com/images/data/rios106h.pdf] |
* j3parker's [http://csclub.uwaterloo.ca/~j3parker/arm.png 3D model of the arm] | * j3parker's [http://csclub.uwaterloo.ca/~j3parker/arm.png 3D model of the arm] |
Latest revision as of 12:12, 19 October 2022
(2022-10-17): This arm is long gone
Software
The robot arm was purchased with the intent of being used to create a mechanical turk. The code going towards this goal lives in ~ssalbiz/arm, use "git clone ~ssalbiz/arm" to make a copy.
Hardware
The arm is a Lynxmotion AL5D.
Operation
Currently the arm is controlled by interfacing directly with /dev/ttySx or /dev/ttyUSBx . The syntax for controlling this is by sending the following string to the board:
#<servo id> P<position> S<speed> T<time>
You can control multiple servos with one command
#<servo id> P<position> S<speed> #<servo id> P<position> S<speed> T<time>
S and T are optional parameters
Key:
- <servo id> - id of the servo being controlled (includes jaw)
- <position> - servo rotation position, generally between (500,2500)
- <speed> - speed of rotation; 100 means 10s to rorate 90°; leaving this off generates fast movement, 400 seems like a "safe" value?
if both speed(s) and time are specified, time is a "minimum" and speed is a "maximum", i.e. the motion will take at minimum T milliseconds, but servoA will move no faster than speed SA
Servo key and degree of motion
- 0 - Base
- 1 - Shoulder
- 2 - Elbow
- 3 - Wrist
- 4 - Grip
- 5 - Wrist Rotate
Purpose
The current purpose of the robot arm is to make an entity that can play chess against a human.
Status
Not being worked on. Need to complete the following:
- Complete physical modifications to robot arm to allow it to reach all pieces on the board
- Calibrate arm base mount against chess board squares
- Make the robot arm code talk to a chess program
- Make the chess program talk to the chess vision code
- Make the arm not have terrible things happen when the servos heat up
External Links
- a manual [1]
- j3parker's 3D model of the arm