Introduction: YAAR - Yet Another Autonomous Robot
Plan is to build an autonomous outdoor robot for RoboMagellan and other explorers. For now testing with radio control. Based on Actobotics Mantis, but widened for more room.
This is a work in progress. I'll publish more info as I get things done.
Update 8 April 2017: see new info on wheels and motor mount (new step 3)
Step 1: Materials
Most parts came from ServoCity; part numbers shown in parentheses
- (1) 6WD Mantis Kit (637178)
- (2) 18” Aluminum Channel (585462)
- (4) Channel Connector Plates (545532)
- (3) 3" Aluminum Channel
- (12) 90° Dual Side Mount A (585470)
- (4) Double Beveled Flange Grommet (636088)
- (1) RoboClaw 2x30A Motor Controller (605098)
- (1) RoboClaw 2x15A / 30A /45A Controller Mount (585036)
- (1) 90° Dual Side Mount D (585598)
- (1) 4.5” x 6” Aluminum Pattern Plate (585002)
6-32 nuts and machine screws
- (1) ZIPPY Flightmax 8000mAh 3S1P 30C Lipo Pack (Z80003S-30)
- (1) Hobby King 2.4Ghz 6Ch Tx & Rx V2 (Mode 2) (HK-T6A-M2)
- 16G silicon wire
- 14G silicon wire
- (2) Wago 222-412 LEVER-NUTS 2 Conductor Compact Connectors
- (2) Wago 222-415 LEVER-NUTS 5 Conductor Compact Connectors
- Shop Fox W1322 Anti-Vibration Pad 24-Inch by 36-Inch, Black
- (1) Fuse Holder (2230951
- (1) Slow 30A fuse (2135961)
- 18G red/black bonded wire
- 45A Anderson PowerPole connectors
Step 2: Build Frame and Motors
Follow basic directions on ServoCity site for 6WD Mantix
The hub is a bit difficult to get completely on the axle. I used a plastic hammer (Thwack from Thingiverse [http://www.thingiverse.com/thing:34404]) to ensure it was fully seated.
The directions don't mention the motors. I ended up soldering 18G wire to the motors. The end caps seemed too small, but did stretch enough to fit snugly.
For the shocks, the directions in the video show all the shocks made the same way. I did this initially, but in erality half need to be made with the top (or bottom) connections made in the opposite direction so that the shocks fit correctly. See photo.
For frame I basically followed video directions, but made separate L and R sides. I used 3" channel with D side mounts to build frame. The plate was just attached with screws and locking nuts. Spacing was established with trial and error.
Step 3: Frame - Updated Tips
Motor mount plate screws
After driving the robot a few times one side of the wheel arms actually came off. Closer inspection showed that a number of other mounts had a missing screw, or loose screw to the arms. So we used Loktite Blue to make them more secure. I'll pay more attention in the future and update if this wasn't enough.
Tires coming off rim
Another issue has been the tires coming off the rim. Looking on line seems like this is a well known issue in RC cars and trucks. The trick is apparently to glue the tire to the rim with CA glue. CA is on order - more to come.
Step 4: Wiring
As noted, I used 18G wiring for the motors. I used Wago 5 hole lever nuts as a power distribution block. I used 16G wires from the motor driver the power distribution block. From the battery to the motor driver I used 14G wire. I've been standardizing on Anderson PowerPoles for connections. The batteries have 12G wires; in order to connect the APPs I had to thin the wires a bit (used a 14G wire stripper). I used a bit of silicon sealer to ensure any very fine strands were isolated and to reinforce the connections on the batteries.
I included a switch for easy on/off. I also wired in a 30A fuse. Each motor can draw 20A at stall. I wanted to be sure to protect my wiring and motor driver. I was worried there might be momentary spikes (e.g. when starting to roll), I decided to use a slow-burn fuse. The fuse is connected using 2 2-hole Wago lever nuts so that I can easily take it out to change the fuse.
The RoboClaw manual (http://downloads.ionmc.com/docs/roboclaw_user_manu...) suggests using a resistor and diode set-up so that regenerative power from the motors (if the wheels are spinning passively) can get to the battery. I decided that was unlikely to happen in my planned use, so I didn't bother with the additional complexity.
Wiring is threaded internally. I use the rubber grommets to keep the wires from chafing. Note that the wires do NOT cross in rear channel before connection - the wiring in the picture was based on earlier testing (with wires external) that had the motor driver facing forward. In the end the motor driver faces "backward" (USB port to the back) - so wires from L and R sides didn't need to cross in the end.
For motor driver I ended up putting electrical tape over the terminals to keep someone from inadvertently touching them.
Step 5: 3D Printed Parts
For the battery I designed a holder with the appropriate Actobotics hole pattern. It's available on Thingiverse (http://www.thingiverse.com/thing:2122876). I used the neoprene foam for padding. Holes at top are for zip tie so battery won't fall out if robot is being carried.
Although long-term plan is for autonomous operation, for testing I used radio control. In my initial tests I supported the antenna with a drinking straw held in place with hot glue. For intermediate term I designed a 3D printed receiver holder (http://www.thingiverse.com/thing:2122896) that keeps the antenna upright. Fits snugly in one of the rubber grommets.
Step 6: End of Stage 1
The robot seems to run fine.
I have a video of the first trial run:
Robot performed well. It sags in the back - I've ordered stiffer springs to fix that.
Next step is to incorporate Raspberry Pi and add sensors for autonomous operation.
Step 7: Update - New Springs
The arms with the wheels tended to splay/flatten out after a while (probably because of more weight in back). I ordered new, stiffer springs (14mm x 90 mm):
Hot Racing YET90FS14 14x90mm Factory Spec Shock Springs (https://www.amazon.com/gp/product/B00XF8BFNK)
Not sure if they're using actual Axial color codes, but I found this reference: http://www.rccrawler.com/forum/axial-wraith/475265...
With blue (stiffest) in back, green in middle, white at the and (with tension adjustment not all the way down). In 1 test run that seemed to work fine.