Showing posts with label demo. Show all posts
Showing posts with label demo. Show all posts
Testing Teaching Pendant - Dancing Robot
We are working to create a teaching pendant for the LittleArm 3D printed robot. While we were doing some tests music was playing so we rolled with it. Enjoy
Tutorial: Training the Robot Arm using the Python Gui
We have had the capability to train the robot for a while now. Here is the code used in this tutorial.
The interface is already pretty intuitive, but some of the application may not be clear. Soon we will make a video of how to launch the GUI and get it working on windows.
In the meantime have fun training the robot. And please share what you make it do on the forum
There are two tutorials, the long version and the short. Use the one you need.
The interface is already pretty intuitive, but some of the application may not be clear. Soon we will make a video of how to launch the GUI and get it working on windows.
In the meantime have fun training the robot. And please share what you make it do on the forum
There are two tutorials, the long version and the short. Use the one you need.
Long Version
Short Version
Demo: Most Useless Machine
We are working on putting together a bunch of demos for tutorials and videos. This is one of the first. It is our take of the "World's Most Useless Machine."
We used the training function to get the motion down. In the future we may create an Vision system that can detect objects that the robot can just move.
We used the training function to get the motion down. In the future we may create an Vision system that can detect objects that the robot can just move.
Training the Robot: Record a Motion Sequence and Play It Back
Record Sequence and Playback Code
A robot is not very useful unless a person can work with it easily. While it is not difficult to put in commands for where the servos should be positioned, it is much easier if you can direct a robot to where it needs to be and have it remember that action.
That is what this program is for. Using the GUI one can move the 3D printed robot arm through a series of motions, recording each step, and then have the robot repeat the seqence. It is a great piece of software for just creating quick demos. Or for kids to learn how programming works sequentially.
The next step will be to modify to the arduino code so that is changes all of the servo positions seemingly simultaneously. Right now it moved the shoulder then the elbow. This is a little slow and un-elegant. The next iteration will have them all moving at once.
See the video below to watch how to train the robot.
A robot is not very useful unless a person can work with it easily. While it is not difficult to put in commands for where the servos should be positioned, it is much easier if you can direct a robot to where it needs to be and have it remember that action.
That is what this program is for. Using the GUI one can move the 3D printed robot arm through a series of motions, recording each step, and then have the robot repeat the seqence. It is a great piece of software for just creating quick demos. Or for kids to learn how programming works sequentially.
The next step will be to modify to the arduino code so that is changes all of the servo positions seemingly simultaneously. Right now it moved the shoulder then the elbow. This is a little slow and un-elegant. The next iteration will have them all moving at once.
See the video below to watch how to train the robot.
Demo: Pick and Place
Here is a very simple example of using the servo control function that was created early just to have the robot perform a set of preprogrammed tasks.
In order to get the positions I used the gui program to take it through the sequence. I recorded the positions and then entered the sequence into the arduino code.
In the future I will add a recording feature to the python code so that the user can use the gui to move the arm through positions and then just have it repeat the motions automatically.
Here is the Pick and Place code
For any other resources visit the Project Links Page
If you don't want the file you can copy and paste the code below
#include <Servo.h> //arduino library
#include <math.h> //standard c library
#define PI 3.141
In order to get the positions I used the gui program to take it through the sequence. I recorded the positions and then entered the sequence into the arduino code.
In the future I will add a recording feature to the python code so that the user can use the gui to move the arm through positions and then just have it repeat the motions automatically.
Here is the Pick and Place code
For any other resources visit the Project Links Page
If you don't want the file you can copy and paste the code below
#include <Servo.h> //arduino library
#include <math.h> //standard c library
#define PI 3.141
Testing 3D Printed Gripper
We are trying out a few different 3d printed gripper designs.
For this one, each finger has a gear printed at the joint so that when 1 moves the other does also. This can be tougher to print but it is a nice mechanism.
The print went bad about 3/4 of the way through, but we were able to get a proof-of-concept test finished.
We are also making a rigid gripper that can hold a Sharpie, and one that is just a small hook.
For this one, each finger has a gear printed at the joint so that when 1 moves the other does also. This can be tougher to print but it is a nice mechanism.
The print went bad about 3/4 of the way through, but we were able to get a proof-of-concept test finished.
We are also making a rigid gripper that can hold a Sharpie, and one that is just a small hook.
| The servo-actuated finger of the 3D printed gripper |
GUI Demo: Real Time Video of Python Gui
This is a demonstration of using the python GUI implemented in Tkinter to control the servos of the 3D printed robot arm.
For all code and files visit here.
Python + Arduino: GUI Control through Serial
I have created a basic gui program that allows me to move the arm to particular positions by controlling the angle of the servos. Scale bars created in python using Tkinter define the angle of the servo. Those angles are then sent to the arduino which uses the servo control function created earlier in the project to move the servos to the new desired position. For the moment the "move arm" button must be pressed to send a new value. It is very simple to have the arm follow the trackbar position live and that will come next, but for the moment this piecemeal layout makes the operations clearer.
Below is the arduino code.
#include <Servo.h> //arduino library
#include <math.h> //standard c library
#define PI 3.141
Servo baseServo;
Servo shoulderServo;
Servo wristServo;
int command;
struct jointAngle{
int base;
int shoulder;
int elbow;
};
struct jointAngle desiredAngle; //desired angles of the servos
//+++++++++++++++FUNCTION DECLARATIONS+++++++++++++++++++++++++++
void servoControl (int thePos, int theSpeed, Servo theServo);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Python Gui created in Tkinter |
Below is the arduino code.
#include <Servo.h> //arduino library
#include <math.h> //standard c library
#define PI 3.141
Servo baseServo;
Servo shoulderServo;
Servo wristServo;
int command;
struct jointAngle{
int base;
int shoulder;
int elbow;
};
struct jointAngle desiredAngle; //desired angles of the servos
//+++++++++++++++FUNCTION DECLARATIONS+++++++++++++++++++++++++++
void servoControl (int thePos, int theSpeed, Servo theServo);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arm Demo: Prototype Videos
An initial prototype for the arm was completed recently. Here are a couple of videos.
Operated from Keyboard
Servo Sequence
Subscribe to:
Posts (Atom)