Robotic Arm and Control Software in VB
Aaqil Khan
Posts: 60
Hi All,
Soon after getting my hands on the BS2PX I planned to build a robot arm for myself. But, before actually building one, I thought of writing a simulation program to understand the kinematics of robot motion. After spending some time understanding inverse kinematics here is the result of my robot arm simulator, written in visual basic.
The exe file is uploaded as an attachment with this post. The filename is: "RobotArm v1.rename_to_exe".
Just rename it to "RobotArm v1.exe" and its a standalone executable file.
Anyways, here are the details of how to use it.
right now its a 3-segment robotics manipulator without an end-effector attachment.
The 3 segments have user-changeable lengths L1, L2, L3.
Angle of L1 arm is with respect to the ground.
Angle of L2 arm is with respect to L1 arm.
Angle of L3 arm is with respect to L2 arm.
(-ve angles indicate that the arm is in 4th quadrant)
Inverse Kinematics:
When the mouse pointer is moved close to the arm vicinity, the results of inverse kinematics are shown on right hand side. If the IK results indicate that the end-effector cannot position at that point, the mouse icon will change to indicate this.
Helpers:
1. Outside limits - draws limits to indicate the max distance the arm can reach when fully extended. That will be L1+L2+L3.
2. inside limits - indicates the closest that the end-effector can place itself without modifying the IK calculation results. NOTE- calculating this limit will take a few seconds on a slow machine. But this calcultion is performed one time only for a particular L1, L2, L3 configuration and stored in memory.
3. Arm extensions - help visualise the angles for L2 and L3 arms. Angles to the right of this dotted extension line fall in the 4th quadrant and are therefore negative.
4. Arm seg loci - show the max range of a particular arm. The loci of the end of that arm is ofcourse a circle as shown when this option is checked.
5. Grid - self explanatory. Available in polar and cartesian flavors.
GoTo:
<coming soon>
After the robot arm is built, I will try to interface this application with the basic stamp to control the arm in realtime.
Please let me know your thoughts and ideas for improvement on this project.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E=mc^2
Post Edited (Aaqil Khan) : 5/30/2007 12:21:08 PM GMT
Soon after getting my hands on the BS2PX I planned to build a robot arm for myself. But, before actually building one, I thought of writing a simulation program to understand the kinematics of robot motion. After spending some time understanding inverse kinematics here is the result of my robot arm simulator, written in visual basic.
The exe file is uploaded as an attachment with this post. The filename is: "RobotArm v1.rename_to_exe".
Just rename it to "RobotArm v1.exe" and its a standalone executable file.
Anyways, here are the details of how to use it.
right now its a 3-segment robotics manipulator without an end-effector attachment.
The 3 segments have user-changeable lengths L1, L2, L3.
Angle of L1 arm is with respect to the ground.
Angle of L2 arm is with respect to L1 arm.
Angle of L3 arm is with respect to L2 arm.
(-ve angles indicate that the arm is in 4th quadrant)
Inverse Kinematics:
When the mouse pointer is moved close to the arm vicinity, the results of inverse kinematics are shown on right hand side. If the IK results indicate that the end-effector cannot position at that point, the mouse icon will change to indicate this.
Helpers:
1. Outside limits - draws limits to indicate the max distance the arm can reach when fully extended. That will be L1+L2+L3.
2. inside limits - indicates the closest that the end-effector can place itself without modifying the IK calculation results. NOTE- calculating this limit will take a few seconds on a slow machine. But this calcultion is performed one time only for a particular L1, L2, L3 configuration and stored in memory.
3. Arm extensions - help visualise the angles for L2 and L3 arms. Angles to the right of this dotted extension line fall in the 4th quadrant and are therefore negative.
4. Arm seg loci - show the max range of a particular arm. The loci of the end of that arm is ofcourse a circle as shown when this option is checked.
5. Grid - self explanatory. Available in polar and cartesian flavors.
GoTo:
<coming soon>
After the robot arm is built, I will try to interface this application with the basic stamp to control the arm in realtime.
Please let me know your thoughts and ideas for improvement on this project.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E=mc^2
Post Edited (Aaqil Khan) : 5/30/2007 12:21:08 PM GMT
Comments
schematics, screenshots of the VB forms, and URL to a video of the program in action on youtube.
Posted it in the ROBOTICS group instead:
http://forums.parallax.com/forums/default.aspx?f=10&m=161046
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E=mc^2
Can I have the Basic stamp code that communicates with the program?
I haven't seen it anywhere...
Rgrds, Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
(Translate it using Babelfish)
·