Robot Arm Controlled over IRC

Hi! I’m new to the forum, I have a Lynx5 arm which I hooked up to my mac. I wrote several python scripts to control it, one of which is a script attached to my python irc bot I wrote a while ago. The end result is that I can now control my arm thousands of miles away through IRC!
I started working on the IRC script before I even finished the arm

Just the base being controlled over IRC with commands like “-arm #0 P1500” in chat.
youtube.com/watch?v=SjxpV-YH … re=channel

The entire arm being controlled with commands like “-arm base 0” “-arm elbow 100” “-arm all 100”
youtube.com/watch?v=vFm76nrH … re=channel
(Please excuse the beating this arm takes in this video, I wince every time I watch this video)

Pre-scripted motion to pick up a soda can and drop it in a coffee mug.
youtube.com/watch?v=pO74GTNErxE

The last video I made purely because after I made the robot arm accessible over IRC, some of my buddies wanted me to set up an obstacle for the arm to accomplish. One of them managed to use the -arm command on my IRC bot to drop a soda can into a coffee mug, but that took way too long to record a video for, so in the end I wrote a script to recreate the primary moves he made to get the soda can into the mug.

All the programming here is written by me in Python and using PySerial for communication to the arm.

Edit: I wrote a small inverse kinematics script in python as well. The script prompts for X, Y, and Z and then moves the arm, with the wrist parallel to the ground, to that position. Coordinates are based in centimeters. I can post a video of this as well, but I don’t think it will be nearly as interesting as when I finish attaching a wiimote to the robot arm :slight_smile:

Very nice! It’s always good to see people using Python for robotics. I’ve tinkered a bit with using Python to control some servos connected to an SSC-32, but have not yet done anything real serious as far as controlling a robot. Now that I have all the software I need setup on my BeagleBoard, maybe I will get to doing some other stuff with it and Python as well.

You might consider inserting some T (Time) and S (Speed) parameters into your move commands to smooth them out.

8-Dale

Cool project! 8)

You may want to look at using some pre canned commands in your control progam for the servo moves. Make the commands for these a single character, and use a time function so the servo moves fairly slowly. Use a single key or character to send the STOP command to the ssc-32 (might could use an “enter” key stroke with no associated character). This would eliminate most of the keyboard typing. I’ve tinkered some with this concept for making a simple web page control for my pan/tilt cams where one does a down mouse click on a “left” button and the cam slowly pans to the left until the mouse button is released.

This is what happens when you give a software developer some robotic toys to play with. :stuck_out_tongue:

I’m estimating (with the amount of freetime I have) maybe 2 weeks until I have a wiimote program (on mac) to show off. :smiley: