Log in

View Full Version : 1189 - Human-Bot Arm Control


jmcr8on
02-04-2007, 07:52
Pretty cool arm control. We went from joysticks to this 'arm' which is attached to a human arm....to control the bot arm....much more intuitive to control. The human 'arm' has pots on the wrist (controls up/down wrist), elbow and two on the shoulder: one to control the upper arm and the other to control turret rotation. The 'arm' has a joystick handle for the hand to grasp and use buttons to enable/disable the arm and also to enable/disable turret rotation. In addition, joystick is available 'just in case'. There is a cable that runs from the back of the vest to the OI and splits to two of the game ports for button and pot input and also LED status lights implemented on the joystick handle.

We saw several examples of arm control in the regionals using the same concept both laying flat on plexiglass as well as standing up. We went the next step and just attached it to a human.

Enjoy!
http://www.youtube.com/watch?v=uu6JcAjJ60Y

kramarczyk
02-04-2007, 08:32
A picture is worth 1000 words
http://www.gpgearheads.org/gallery/albums/album09/IMGP1710.sized.jpg

dbell
02-04-2007, 08:41
Wow.
Our team has the same basic arm design as you, with an azimuth turet, a shoulder, an elbow, and a wrist. (Our design picks up the tubes with 3 fingers)
We that too, and we built a prototype but we went with a joystick in the end because we didn't have time. :(
Great job!

CyberWolf_22
02-04-2007, 09:17
That is a great idea.
Did you guys win any awards for this design?

jmcr8on
02-04-2007, 09:21
The PID control had already been written and tweaked by a student before we took on the human 'arm' control concept. The turret control was tweaked several times to reduce the amount of human arm movement: a lookup table was created to remove the large 'dead band' due to the victors and overcoming inertia/friction...we associated slight arm movement to higher power values and then ramped it up in increments of 2, then 3, then 5.

The larger headache we had were pots slipping on the shafts. We went through several iterations of fastening and ended up with vinyl tubing and baling wire to allow for flexibility between the shaft and the pot. On the arm we used set screws to set the pot shaft in to position.

jmcr8on
02-04-2007, 09:27
Unfortunately we did not win any FIRST awards for this as the proof of 'goodness' is in the use of the control on the field. The drive team did not have much practice time with the arm before WMR. At BMR we were mainly (only?) a defensive bot.

That being said we were recognized by several teams at WMR with team-provided awards for the innovative arm design. So...yes....we did receive the recognition of our peers..which is very appreciated.

ALIBI
02-04-2007, 09:33
Your arm controler was absolutely amazing! Our pit was right in front of the practice field at West Michigan. I could not help but wonder what would happen to the robot if your operator had to sneeze! We use a pot on our arm with a really slick coupling. It has a a shaft collar on both ends and a spiral of the same material with maybe a dozen spirals like a spring between them. Since we started using this we have not blown a pot and have not have any problems with the feedback (knock on wood). The coupling also gives flexability between the shaft and pot. All I know about them is that we purchased them from McMaster for about $30 a piece and that they can be found under 'shaft collars.' They look like they are made of black plastic.

Ryan Dognaux
02-04-2007, 11:49
That is awesome, reminds me of 234's original wearable arm from 2001 (http://www.chiefdelphi.com/media/photos/13188) that controlled the Beefeater. (http://www.chiefdelphi.com/media/photos/12378)

vivek16
02-04-2007, 12:52
FREAKING AWESOME!!!!!!!!!:eek:

although it probably would have been incredibly more effective if you had a clamp type pick up thing where you opened and closed your hand to grab it...

this is just awesome tho

ditch64
02-04-2007, 16:15
FREAKING AWESOME!!!!!!!!!:eek:

although it probably would have been incredibly more effective if you had a clamp type pick up thing where you opened and closed your hand to grab it...

this is just awesome tho

Thats what i said lol.

EvilMonkyPirate
02-04-2007, 16:20
OMG. I was actually thinking about using my own arm to control our robot's arm this year but I didn't think of it till the plane ride home after our last regional. The only problem with that though was we have a third moving joint on our arm which moves back and forth kind of and we didn't think we could figure out that part out.

vhcook
02-04-2007, 20:01
This is really cool.

What do you do with it during autonomous mode (since you are supposed to be "hands off")?

vivek16
02-04-2007, 20:12
This is really cool.

What do you do with it during autonomous mode (since you are supposed to be "hands off")?
umm.... what? they just program like they normally would with a joystick drive...

edit: oh sorry misread your post. yeah what do you do?

sanddrag
02-04-2007, 20:14
What happens if you like, sneeze or something? Does the robot go crazy?

Arefin Bari
02-04-2007, 20:24
I just checked the team list for championship and I so wish I saw you guys on that list. This is one innovative controller I have seen through the whole time I have been involved with FIRST. Congratulations, and I hope to see you at some offseason events.

kramarczyk
02-04-2007, 20:30
umm.... what? they just program like they normally would with a joystick drive...

edit: oh sorry misread your post. yeah what do you do?

It has a hanger om the OI and gets put on following auton... costs us some time.

jmcr8on
02-04-2007, 20:43
I will give a couple of answers:

Autonomous: The vest/arm hang on the OI board. At the end of autonomous the operator walks up, puts the vest over hear head (and safety glasses) and slides her arm in to the supports...the velcros the straps. In the meantime the driver starts to move the bot.

Sneezing or something: A concern we had was getting distracted and turning to talk to someone, etc. Just like driving a car, and sneezing, care must be taken. The arm disable button could be pressed on the onset of the sneeze...if the operator had their wits about them. If not...then the robot arm would move the same way the human arm did durign the sneeze....and then would move to the position the human arm was in 'after' the sneeze.

In our pit area and the practice area we set up orange cones around our work cell/area and warned people to not enter the area. We also called 'clear' when the arm was enabled...and completely cleared the area when the turret was to be used.

LightWaves1636
02-04-2007, 20:48
I will give a couple of answers:

Autonomous: The vest/arm hang on the OI board. At the end of autonomous the operator walks up, puts the vest over hear head (and safety glasses) and slides her arm in to the supports...the velcros the straps. In the meantime the driver starts to move the bot.

Sneezing or something: A concern we had was getting distracted and turning to talk to someone, etc. Just like driving a car, and sneezing, care must be taken. The arm disable button could be pressed on the onset of the sneeze...if the operator had their wits about them. If not...then the robot arm would move the same way the human arm did durign the sneeze....and then would move to the position the human arm was in 'after' the sneeze.

In our pit area and the practice area we set up orange cones around our work cell/area and warned people to not enter the area. We also called 'clear' when the arm was enabled...and completely cleared the area when the turret was to be used.

That is really cool. Way to go on safety as well.

kramarczyk
02-04-2007, 20:49
What happens if you like, sneeze or something? Does the robot go crazy?
If she sneezes it autonomously hangs 8 ringers... in the code we call it 'A.Baker'. Getting the accelerometer and gyro to set-up to detect that took hours. Unfortunately, now she only has a raspy cough.

Seriously though, there is an enable/disable button on the handle in her hand as well as buttons to rotate the wrist CW/CCW. FYI... the $60 bionic arm also controls turret rotation.

jmcr8on
02-04-2007, 20:55
More info.... (Mark and I are playing off each other's posts).....

LEDs on the joystick handle attached to the arm:
- Red only (arm disabled)
- Green only (arm enabled)
- Red and Green (arm enabled and turret enabled)

Buttons:
- enable/disable arm
- enable/disable turret
- rotate wrist left
- rotate wrist right

We looked at using the tophat to control the wrist...but the position of the tophat was not ergonomically 'good'...and we ran out of time to do more work on the arm to make it usable.

Animus
02-04-2007, 22:44
About the sneezing... I learned to do most things lefthanded. Including eating Wheat Thins with only vertical arm movements to avoid rotating the turret - when I wasn't wearing the arm. And yes, I most often had it deactivated anyway.

After autonomous, it took me about fifteen seconds to get myself completely strapped into the hockey pads (donated by one of the team members as an attachment for the arm). I learned to do it on my own so the driver was free to move the bot for the first 10 seconds of the match - I had three or four seconds of lag time between the buzzer to end autonomous and the activation bell. Not that this came down to any sort of precise art. :)

Qbranch
03-04-2007, 07:55
What did you mount the arm to? Football shoulderpads or something? Cut in half? Or did you guys lay your own fiberglass?

-q

kramarczyk
03-04-2007, 09:01
What did you mount the arm to? Football shoulderpads or something? Cut in half? Or did you guys lay your own fiberglass?

-q

They are a set of lacrosse pads that are basically unmodified.

vivek16
03-04-2007, 11:20
where did you guys get your potentiometers?
ive been looking and i cant seem to find any that specify that the input from them is through pwm cables

jmcr8on
03-04-2007, 12:56
where did you guys get your potentiometers?
ive been looking and i cant seem to find any that specify that the input from them is through pwm cables

Yeah....well...I am not sure that any company would really want to embrace PWMs as a connection standard....

That being said we clipped PWMs and soldered the female ends to the pots.


***Ugly #1*** We use cable bundles to get from the RC up the mast/arm with a DB15 disconnect between chassis and mast. PWM cables are soldered to the DB15 on the chassis. PWM cables are soldered into the cable bundle to connect to the PWM cables soldered to the pots and other sensors.

*** Ugly #2 *** For this human-arm application we used DB15 (game port) to Cat5 cables to modular connectors...to Cat5 cables to the vest....then to modular connectors...back to Cat5 cables..then soldered on PWM cables...to the pots. We wanted the ability to disconect the vest assembly in multiple places therefore the use of Cat5 modular connectors.

and...we are always looking for a better way to manage connections across the bot and also the OI. Suggestions?

We used the pots referenced in this white paper: http://www.chiefdelphi.com/media/papers/1743

We bought the pots from Allied Electronics (www.alliedelec.com)....the account exec was VERY helpful and even assisted in getting pots from another supplier when he was short of stock.

vivek16
03-04-2007, 13:33
yeah after a bit more research pwms are not used primarily on pots...

thank you, this is going to make a great after season project :)

we might have time trials to see what we can get accomplished in six weeks.

jmcr8on
03-04-2007, 16:15
We have a 'white paper', to use the term loosely, though..it is actually yellow due to the team colors, that includes:
- Arm features
- code snippets for arm control, PID, etc.

And we could add in the OI wiring that was done.

Available for the asking.... :cool:

vivek16
03-04-2007, 17:24
could i have this white paper? :D

i am trying to do an easier way to wire the pots to the OI and your designs would be very helpful.

thanks

WahooWa
03-04-2007, 17:31
That is really cool. Great job guys. We were going with something like that, but decided to switch to a minature model of the arm instead.

http://www.youtube.com/watch?v=7mF8CKpf-80

Part of that is how far we got on the similar design.

Cool Controls 1189.

vivek16
03-04-2007, 17:43
and also here is a pic of the OI

http://www.ifirobotics.com/images/electronics/oi-350.gif

where on here did you wire the pots to? on the ifi site it says that it has 16 analog inputs but i cant see them on here anywhere.

thanks

jmcr8on
03-04-2007, 17:48
That is really cool. Great job guys. We were going with something like that, but decided to switch to a minature model of the arm instead.

http://www.youtube.com/watch?v=7mF8CKpf-80

Part of that is how far we got on the similar design.

Cool Controls 1189.


Yeah...looks good and was working. Why did you switch?

....you have a lot better music! We just have lame background noise in ours.

jmcr8on
03-04-2007, 17:50
could i have this white paper? :D

i am trying to do an easier way to wire the pots to the OI and your designs would be very helpful.

thanks

Yep...will drop it to your email in your profile. Give me a couple of days if you don't mind....catching up on the other non-FIRST part of life....

jmcr8on
03-04-2007, 17:58
and also here is a pic of the OI

(removed)

where on here did you wire the pots to? on the ifi site it says that it has 16 analog inputs but i cant see them on here anywhere.

thanks

The 16 analog inputs are on the RC. Section 9 (page 8) talks about those. Here is the RC paper from IFI: http://www.ifirobotics.com/docs/rc-ref-guide-6-13-2006.pdf

Here is a paper from IFI on the OI that will explain the use of each game port pin. From this you can see which are analog and which are digital..and which will light up LEDs. http://www.ifirobotics.com/docs/oi-ref-guide-1-30-07.pdf

Tables 4.3.1-4.3.4 cover the game ports.

In the paper I send it will have the pin-out assignments we used.

vivek16
03-04-2007, 18:05
all right, thank you very much.

vivek16
03-04-2007, 21:11
by the way, how did you guys decide to do this control system?
im sure some other teams with an arm thought of something like this but was there a person who researched and/or drew up designs to show the team that this was do-able?

jmcr8on
03-04-2007, 23:11
by the way, how did you guys decide to do this control system?
im sure some other teams with an arm thought of something like this but was there a person who researched and/or drew up designs to show the team that this was do-able?

Well....here's the story:
We had two joy sticks and found it was not very intuitive to control the arm segments, wrist joint, wrist rotation and turret rotation. The team did not have a lot of time to practice.....

At BMR Team 1138 (Eagle Engineering) was in the pit next to us. Their robot did not show up until 4:00 PM on Thursday (it was lost, not shipped, wrong truck, etc.). Their robot (when it did arrive) had a similar (without the turret) arm segments as our bot....and they used a joy stick. But...they showed us this OI with a small segmented wooden arm and pots on plexiglass that was manipulated by their fingers....that they had not yet been able to get to work successfully. On Saturday afternoon they got it to work.....and it was cool.

On the 5.5 hours drive back to Grosse Pointe from BMR I worked out a physical prototype in my head....knowing that most of the arm code was already in place from the PID control and the functions that the programmer had already written (good ol' modular code). During a fix it window we built a simple wooden prototype, attached pots and lots of loose wires back to the OI game port...and duct taped it to my son's (the programmer) arm.

The prototyped proved to be feasible.

In the next fix it window the build team constructed the arm, the wiring was done (good ol' LAN cables and modular connectors)....and it was tested....the pots tweaked...and tested...and tweaked...and tested...and finally passed the tests to be called 'good'.

So..we gained inspiration from Team 1138's concept and took it to the next level.

btw....a thank you email was sent to Team 1138 for their sharing and inspiration. And now... a public note of thanks: Thank You, Team 1138.

chaoticprout
03-04-2007, 23:24
No problem, I'm very happy that control worked out for you guys, we were talking about this at BMR, awesome stuff.

Dillon Compton
04-04-2007, 00:46
After autonomous, it took me about fifteen seconds to get myself completely strapped into the hockey pads (donated by one of the team members as an attachment for the arm). I learned to do it on my own so the driver was free to move the bot for the first 10 seconds of the match - I had three or four seconds of lag time between the buzzer to end autonomous and the activation bell. Not that this came down to any sort of precise art. :)


A note on this for individuals who would like to use this or a similar idea in the future: one team in 2005 (I don't remember which) had an arm mounted controller much like this one. In order to get around "strap-in" time, they simply waited untill the beginning of teleoperated period to plug the arm controller into the OI - it's fine if you are wearing it during autonomous, as long as it is not connected to the OI! Plugging a DB-15 into the OI should take way less time (2-3 seconds total) than putting the assembly on.

Hope this will help people trying to use a control system like this maximize efficiency in the future!

//Dillon Compton

vivek16
04-04-2007, 11:43
i believe the team you are talking about is team 25. they used an arm similiar to this in '05

sporno
18-04-2007, 14:47
very coool ... i saw this and it made me raise an eyebrow!

Scott L.
18-04-2007, 15:19
Wow, thats awsome, I would love to build one of those. Could I get the so called white paper?

Thanks

Cartwright
18-04-2007, 17:09
We did a similar thing called "the Backpack" a few years ago; we too were going to do that kind of arm control, but we decided not to later. Yours looks great!

jmcr8on
19-04-2007, 01:26
In watching the championships...and the speeches/introductions.... There was this interesting human arm control that Dean and his team made for DARPA. 14 degress of freedom..if I remember correctly....

mikeleslie
19-04-2007, 09:54
We takked a lot about whether having on before the match but not plugged in would be acceptable and decisded it wouldn't. It's great to hear that we can wear it and then plug it in after auton.

luciaes
27-04-2007, 21:10
830 had a similar arm control system, we had a small miniature arm that controlled our main arm but we didn't get it working till waterloo. but it got us the xerox creativity award at waterloo :)

robostangs548
09-10-2007, 12:36
We can also relate:
http://www.chiefdelphi.com/media/img/045/0452e39dd52148733aef6603bc44b2a6_m.jpg
Good times back in 2004!

Chief Pride
09-10-2007, 13:22
does this actually move to the exact position the arm is in? i believe the team is 910, they have a mini one, but it doesnt just travel to where the mini arm is, instead, its still forward and back...

JesseK
09-10-2007, 14:44
This is all great work guys, I hope the next manipulator-based game sees you doing it again!

1731 had an arm that had 6 degrees of freedom and even though it was delicate and somewhat slow they could still get 5-6 rings/match if left alone. They did win the VCU Driving Tomorrow's Technology award this year, and from talking to the students and mentors they have several ways it could be sped up.

Once FIRST moves to a new controller, if it has the capability of doing either integral math or at least a faster iterative processor then those pretty-pictured Matlab simulations for the control of this type of stuff could become a reality. Can't wait to see.

FoleyEngineer
09-10-2007, 22:58
Hi Zinefer,

You're right. Team 910 did build a miniature arm that exactly replicated the arm of the robot. It rotated 360 degrees at the base, the shoulder had 180 degrees of forward back travel, the elbow was almost 360 degrees of rotation, and the gripper switch had 3 positions (open, loose, tight).

The operator moved the small arm (each joint being about 6 inches) in 3D space, and the robot copied the movement exactly. It used PID control so that if you made a quick move, it raced to keep up. Closest way to imagine it is how a cursor follows your mouse movement, only in 3D. We also built a 3 tier rack that had shelves that corresponded to each of the three levels of the spider legs. The operator could put the arm on a shelf and it would place the arm at the exact height necessary to reach over a leg and then drop the tube.

We also supplemented the controls with buttons for ground loading, wall loading, jogging left/right, locking the shoulder in place or freeing up left/right shoulder rotation, and three buttons for semi or full automatic capping on all three heights (low,mid,high) using our autonomous code. That last feature we didn't implement until the off-season, but with our autonomous cranked up to hyper speed (4 seconds to drive 13 feet, score and release a tube) it made it pretty fun to hit that button and blast a tube on! Especially with a spoiler onto the back side of the rack at the end of a match. :D

We also won an award for the design, the Xerox Creativity Award at Western Michigan. Such fun!

Take care!
:)

Chief Pride
10-10-2007, 07:25
Hi Zinefer,

You're right. Team 910 did build a miniature arm that exactly replicated the arm of the robot. It rotated 360 degrees at the base, the shoulder had 180 degrees of forward back travel, the elbow was almost 360 degrees of rotation, and the gripper switch had 3 positions (open, loose, tight).

The operator moved the small arm (each joint being about 6 inches) in 3D space, and the robot copied the movement exactly. It used PID control so that if you made a quick move, it raced to keep up. Closest way to imagine it is how a cursor follows your mouse movement, only in 3D. We also built a 3 tier rack that had shelves that corresponded to each of the three levels of the spider legs. The operator could put the arm on a shelf and it would place the arm at the exact height necessary to reach over a leg and then drop the tube.

We also supplemented the controls with buttons for ground loading, wall loading, jogging left/right, locking the shoulder in place or freeing up left/right shoulder rotation, and three buttons for semi or full automatic capping on all three heights (low,mid,high) using our autonomous code. That last feature we didn't implement until the off-season, but with our autonomous cranked up to hyper speed (4 seconds to drive 13 feet, score and release a tube) it made it pretty fun to hit that button and blast a tube on! Especially with a spoiler onto the back side of the rack at the end of a match. :D

We also won an award for the design, the Xerox Creativity Award at Western Michigan. Such fun!

Take care!
:)

so it did copy the exact position the miniature arm? when it was being driven it looked like it just went in the DIRECTION that the miniature arm was held... thanks! :D

Robostang 548
13-10-2007, 22:58
We did something similar to this before I joined 548. You can check it out here: http://www.chiefdelphi.com/media/photos/21259