This is The Typewriter Repairmen's page for the 2019 National Underwater Robotics Challenge, a competition put on by Si Se Puede in Tempe, AZ.
The Typewriter Repairmen is a family robotics club. Jim, the Principal Instigator, is a "retired" mechanical engineer. He has worked with the local FIRST high school robotics team NERDS for the past 13 seasons as an engineering mentor, and discovered that it's about the most fun thing there is. Janet, his wife, is a retired engineer. Jim's brother David is an Electrical Engineer at the University of Arizona's Steward Observatory, and also runs a side business Cathode Corner, which sells neat electronic gadgets.
Link to the 2009 NURC robot notBob
Link to the 2010 NURC robot Babs
Link to the 2012 NURC autonomous robot Biff
All through the project we have been posting videos on youtube.
Contact us at jforb427@gmail.com
2019 NURC Intro Video for the Typewriter Repairmen
The NURC happened! We had a great time at the competition...although we did spend quite a bit of time fiddling with Casper, trying to get his gripper to work reliably. We tried all sorts of things, and in the end decided that there might be some type of software or hardware issue with the pixhawk or it's firmware. It seems that it will randomly stop sending a valid PCM signal out the servo ports. one way we tested this, is by wiring a servo to the gripper output, and it behaved just as the gripper did, both when it was working, and not working. We pretty much exhausted all the configuration possibilities to try to get it working.
We brought Babs with us, and planned to use her as backup, if we could not get Casper to work right. There were two main issues with Casper, the gripper, and the latency (the delay in receiving video). We worked on the latency issue for a while, eventually realizing that the small delay when the laptop was plugged in to wall power, was turing into a big delay when it was on battery power. After changing the Windows power saving settings, it worked better, but the delay was still around a tenth to a quarter of a second, and that is just too much when trying to do fine manipulating, such as grasping a golf ball under water, while trying not to bump other golf balls off of the Kidney. So, we ended up using Casper for the first few minutes of the mission, then switching to Babs. We ended up with a pretty good mission score, as Babs really works well, and Linus is a good robot operator.
We discussed what we can do to improve Casper for next year. It seems that most of our issues have to do with how the ArduSub/QGroundControl software works. We discussed how it might be rewritten to make it more useful for the type of ROV that we need for a competition like NURC. There is a lot of legacy stuff for running quadrotor aircraft, which is what the pixhawk and software were developed for. A lot of this is extraneous in an underwater ROV--there is little need for GPS, for example. And the configuration abilities are really restricted by the software design--the motor and joystick releationships for motion, are set up in a library file that is used to complile the firmware. This needs to be moved to the GUI, so that that any joystick axis or button can be used to control any motor or servo in any way. It's fine to have some default frame setups, but we have to be able to change them relatively easily. We also think that having an analog camera might be necessary, to keep the vision latency down to an acceptable level.
We are thinking of what would be the requirements for the software redesign, but at the same time, we also realize that having two computers running an operating system, to do a real time control task, is kind of strange, and might not be the best way to go. So we are also exploring other hardware options. The problem is that the pixhawk does have many nice features that we can use, if only we can make it more user friendly. This is probably something that will take a while to figure out, but might also help other teams. We know that two other teams at NURC were using the pixhawk, and were having configuation issues as well.
After all of this is over, we want to again thank the Si Se Puede Foundation, event sponsors, volunteers, as well as the other teams, for making this happen. It was a really fun event, it was well run, the game was fun, and we were well fed! Thanks, everyone!
The new gripper works ok, but will take practice to use. There were a couple issues with it. The shape of the pads, and the geometry of the fingers, combined with the game challenges this year, make it not too easy to get a grip on things, especially golf balls. And after playing with the robot for a while in the pool, the gripper stopped working. It would occasionally move a little on it's own, but could not be controlled with the control pad. After getting home, Jim did more testing, took the SCULL open and relocated the wire to a different output pin on the pixhawk, and set the controls for that pin, and it worked fine. He then moved it back to the original output, and it still worked fine. But in all this testing, the break away connecter on the game pad cable lost connection, and had to be reconnected. We probably will never know if that was the cause of the problem (being partly unplugged), or not. Jim also bent the plates on the gripper to be more of a cup shape, and we'll see if that makes grabbing things easier. Linus thinks it will.
Linus also noticed the latency of the camera being a problem when using the gripper, as timing is very important, and the fraction of a second delay between what's really happening, and seeing it on the display, makes life difficult. We discussed using an analog camera, we have the parts needed to install one, but will talk about it more and see if we really want to go to that much work on stuff that's already working, and risk breaking other things.
Janet worked on the poster, and it's at the printers now.
Jim got the new gripper installed and working, with it's longer, straighter fingers. He also worked on the ballast system. Previously we had two steel bars zip tied to the skids, but now it has several shorter bars, screwed to the skids. The bars are cut to lengths in fractional increments, so we can easily adjust the weight. And the mounting holes extend a ways forward and back, so we can move the center of mass of the robot, to keep it at the attitude we like.
Jim plans to take Casper up to Tucson tonight, to play in a swimming pool, so Linus can try out the modifications. We will also do a bit more work on our game props, to make driving practice more useful.
Here is a link to the NURC facebook page.
We got the new gripper in the mail today, it's smaller than it looks in the pictures. Jim is making some new longer, straighter fingers, and will put some flat grippy pads at the ends, as we have on Babs. Babs works well for grabbing stuff in NURC games.
Linus had another practice session with Babs in Tucson last night.
Jim ordered a Newton Subsea Gripper. We'll see if we can make it work. He also made a passive hook thing to see if it would work for the liver sample and medicine, and the enzyme. It might, but it will take some work to balance the robot better.
Linus got to play robot pilot tonight in Tucson, for about an hour and a half. Part of that was with Casper (we named our new ROV tonight), and part with Babs. He decided that Babs works pretty well, but we could probably fix Casper and get him to do all right. The main problem is that he tends to roll forward or back when ascending or descending. We figured out that the rear vertical thruster is too far from the SCULL, so it acts like a lever and twists the robot. Jim will relocate the thruster closer in, and test it in the neighbor's pool this weekend. Linus and David will keep Babs in Tucson, and see about getting more practice with her.
We also did the intro video, and the Journal. They are posted on the NURC teams page.
We tried to find a way to put social media here, but somehow we just haven't been able to do that. We'll keep working on it.
Monday night, Jim and Janet took the ROV next door to test in the pool, at night. It worked! The camera can see well in the pool with only it's own lights, and the camera tilt is working well. They also playwed with the buoyancy, and it's pretty close, although it needs a bit more trimming, and will probably continue to as we add more parts.
We have all been working on the report. Jim also got the claw assembled and installed, and finally figured out a way to make it operate using the game pad. The results were disappointing, it has trouble getting going, then moves full speed to the end of it's travel, and jams. He thinks there is a combination of problems, but mostly the torque/speed characteristics of brushless motors under load at stall. We don't have much experience with these motors, and it looks like the learning curve is kind of steep.
Janet and Jim discussed some other ways to manipulate the game pieces, usign passive devices. This will probably take some time to figure out how to make them for the different game pieces. Another possible solution is to spend $350 on a commercial gripper, but time is getting short!
The team met up in Tucson for a birthday party Sunday, and some robot testing. Linus played with our new ROV for a while, and decided that it works ok. It's pretty zippy, but not balanced quite right. He also played with Babs for a while, practicing picking up pool toys and putting them in a basket, and generally getting the feel of how it is flying an ROV. He seems to be quite quick about learning how to operate the ROVs, which is not surprising, since he's played with land robots and video games quite a bit.
After getting home with the ROV, Jim worked on repairing the camera servo power supply, installing the light assembly that David had made, and fiddling with the depth sensor. He took apart another car type USB power adapter, and soldered some wires to it, and installed it in the robot. It works now. He also did a little rearranging of the light assembly, and installed it, and it works, too. The lights are dimmable, using PWM, which required only a little configuration in QGroundControl. But the lights seem to flicker sometiems at their dimmest setting, which may or may not be a problem--we can eithe run them full power, or install a resistor to dim them, which might not make them flicker so much.
Janet has been working on the report and display. Carol has been working on the claw some more, and made some parts. Jim is going to see if he can get it finished and on the robot soon.
Jim finished assembling the robot today, and took it for a test swim. There are a few problems, the depth sensor is a bit flaky, it won't admit to having a signal when attempting to calibrate it. But when the robot is in the pool, it does indicate depth. And give error messages. The servo for the camera is not working, the new old power supply that David wired up appears not to actually work. We will figure out a replacement for it. The enclosure was difficult to assemble, it uses really thick O rings, and the fit in the end flanges is a bit tight. But after chamfering the tube on the inside at the ends, and adding plenty of silicone grease, and propping the thing up on it's end so he could put all his weight on it, Jim was able to get it put together. He also made a handle, so it's easier to carry around. And he added weight to the bottom of the frame, to get it heavy enough to sink. It still needs some trimming, but it's pretty close to neutrally buoyant, and level. The test in the neighbor's pool went well, although we need to fiddle with the joystick configuration, to get the directions correct. It goes backwards when it should go forwards, and left when it should go right. But up is up, fortunately.
David anbd Linus visited today. We did several things, including making the tether (weaving foam "backer rod" in with the power and ethernet cables), mounting the pixhawk, cleaning up the 5v power supplies, designing the light mounting bracket, and making skids for the frame. We still need to install the tether after the potting epoxy cures, wire in the thruster cables, and bolt the skids on and add a bit more bracing to them.
The frame is now going to be mostly 3/4 inch by 1/8 inch aluminum extrusions, both angle and strap. The new angles are made, mostly. Jim drilled holes in one end plate for cable penetrators, and started potting them. He also weighed the robot so far, it's probably going to work, if the calculations are correct about the water displacement. We will find out when it finally goes for a swim, in the next few days.
Janet has started on the technical report, including the list of materials used. And David and Linus are planning to visit tomorrow, and help with the building.
Jim has been tinkering with electronics more. Most of the control system is mounted in the Sealed Compartment for Underwater Light and 'Lectronics (SCULL). The lights are not installed, but the power supplies, camera, Pi, Pixhawk, speed controllers, and servo are. Most of it is working. The Pixhawk and two of the power supplies still need to be mounted, as they are just hanging by their cables. Fitting all the parts in was a bit more complicated than expected, mostly because it's a pain to figure out how to route the cables. Perhaps making more compact USB cables might help.
This is the laptop display, showing the camera's view of the living room.
Jim has been tinkering with electronics. He got the laptop running the control program, and temporarily connected four thrusters to ESCs and the Pi and pixhawk and game controller, and made the motors run. He figured out why the heavy camera works, but the smaller board camera won't work--something about the companion comumputer (Pi) being configured to work with an H264 video but not default USB video. David ordered a board camera, that might work right. Jim is still working on a parts list of more stuff to order, it never seems to end. Carol started working on a CAD model of the overal ROV design. Jim meanwhile has been tinkering with a crude frame structure to hold thrusters sort of where they belong, so we can get a look at it. And the new T shirts that Janet ordered are now in our possession, they look great!
This is the first glimpse.
We bought more robot parts from BlueRobotics. 6 thrusters, 7 more ESCs, a motor, an enclosure, and several penetrators. We still need some more stuff, but this will get us going. Jim has been tinkering with the control system (it's in Sierra Vista now, not Tucson), and has almost figured out how it's supposed to work. He also ordered some more parts, including a USB to Ehternet adapter, so he can use a modern laptop to talk to the Pi. He is also working on the overall ROV design, trying to figure out how to stuff all those parts into the enclosure. Hopefully more updates soon.
This is the working environment.
David bought a few control system parts to play with. Linus connected stuff together, and loaded some software, and made things work. The control system includes a Rapsberry Pi 3 (not the 3+), a Pixhawk controller, an Xbox gamepad, a laptop, and a 12v power source. It also has a BlueROV motor speed controller and one T100 thruster, and a USB camera.
This is the test setup.
We discussed the robot design, and decided that we would plan on using the 6 thruster layout with two vertical in front, one vertical in rear, two forward on the sides, and a lateral thruster in the center. We discussed how to build the thing, and will start the design by making a "box" of thin 1" aluminum angle. We will try to design it so that the thrusters can be relocated easily if needed, and so the enclosure is easy to work on. Havign some expreience with redesigning Babs a few times, we know the importance of thruster location relative to the centers of mass, buoyancy, and drag, in all directions. Also we discussed the relative locations of the center of mass and buoyancy, with the tenative requirement that the robot be stable, but not too stable. The stability helps keep it level, but too much will make it hard to tilt if needed to reach down with the claw, for example.
We also talked about possible manipulators. David presented the idea of a "barb" to skewer the brain blood clots. We didn't get too far figuring out how to tilt it, though. We also looked at the BlueROV claw, and at the vEx claw. We discussed using the vEx claw with a BlueROV brushless motor, and using a combination of worm and spur gears to drive the claw. We figured that about 1 second opening/closing time would be good, and motor speed of 4000 RPM, would require about a 70:1 reduction.
We will probably order more parts soon, although we'd like to get a first draft of the overall ROV design in CAD first, and also spend some time refining the list of requirements. We are already pretty sure about a lot of the general requirements for the ROV, having played other underwater robot games. The specifics of manipulating stuff is where we have some questions.
David and I have been discussing electronics. Also talked about it with Kevin and Carol, and Linus. Some ideas include using a Pi in the ROV, and another on the surface, connected with an Ethernet cable. For power, we are considering a 48v system on the surface, with a relatively small two wire tether connected to a 48v to 12v switching power converter in the ROV. This would give us regulated power, and voltage drop on the tether would not affect motor performance much. We have a very preliminary list of requirements for the system here.
And we got Babs out, and plan to take her up to Flagstaff to show others a NURC robot. Recruiting new teams!
The first thing we need to do is analyze the requirements for this mission. Janet it working on a spreadsheet to do that.
NURC is back! We signed up for the event. Now, we have to figure out how to build a robot to play the game. We would like to design a new ROV that uses as many off the shelf parts as possible, and also we would like to get things done soon enough that other teams might get some new ideas of how to do things, by watching our progress. As usual, we are a bit late, and life is kind of busy right now with FIRST robotics.
Copyright 2009-2019 Jim Forbes, David Forbes, Steven Forbes