Rover 2 Photo Essay

Welcome back guys!

I think the last post touched a nerve — it seems that many of you guys have had difficulty breaking into the precision GPS market. If you’re not yet inspired to take the precision RTK GPS plunge, just wait — we’re going to have some fun in upcoming posts pitting the ComNav K501G in an Epic Showdown with some of the competitors we mentioned last time. I don’t know about you, but I can hardly wait.

Rover 2

We now present the Rover 2 build as a photo essay:

Notice that we've labelled the main components to give you a high-level overview of what's where.

Notice that we’ve labelled the main components to give you a high-level overview of what’s where. Let’s start digging into the build by working our way from the base up to the top…

2 on/off switches -- 1 dedicated to the drivetrain, the other dedicated to everything else.

Two on/off switches (like these) — one dedicated to the drivetrain (Sabertooth 2×32), the other dedicated to everything else.
Right up front, my eager sons, we need to have an honest discussion about on/off switches. So go ahead and strike up the fireplace, grab a cup of coffee, come over here and jump up close while ‘ole Dad Roby has a heart-to-heart discussion with ya’ about the temptations you will soon face. If you’ve built a robot before, you’ve likely experienced the brutal temptation that I must now warn you about…
Of course we’re talking about the temptation to mount an on/off switch in a non-standard posture.
Young sons, heed my words: OFF MUST BE DOWN. I really don’t care about which way you make ON, but you MUST make the down position of the switch correspond to OFF.
The only exception to this whatsoever is if what you’re turning ON/OFF doesn’t matter. For instance, if the switch controls your secret Justin Bieber loudspeaker, then you may get away with it. Otherwise, please dear sons, don’t attempt to retrain an entire lifetime’s worth of muscle memory just because you think a sideways switch will look cool, or because it will fit more cleanly in your enclosure.
If you refuse to make OFF correspond to down, and if one day things go wrong and you’re not able to instantly turn off your robot via muscle memory, then you’ll deserve the bruises you’ll receive. I pray it’s only bruises, my son.

Notice that's a Raspberry Pi 3 sitting on top of the center case. Pixhawk is inside that case.

Notice that’s a Raspberry Pi 3 in the black case sitting on top of the center case. Pixhawk autopilot is in the enclosure below the black case.

Cover pulled off of Pixhawk case reveals Pixhawk sitting all alone in center enclosure.

Cover pulled off of Pixhawk case reveals Pixhawk sitting all alone in center enclosure.

Power box contains Sabertooth 2x32 controller, terminal blocks, 24v-to-12v DC-DC converter, 12v-to-5v DC-DC converter, relays, and USB power supply.

Power box contains Sabertooth 2×32 controller, terminal blocks, 24v-to-12v DC-DC converter, 12v-to-5v DC-DC converter, relays, and USB power supply. I know what you’re thinking — those wires look out of control. Agreed.

That long ribbon cable on the left snaking out of the Raspberry Pi is going up to the Pi camera.

Confession time: I can’t stop buying these waterproof enclosures or these waterproof cable glands. An orange ear plug fills in the air gap on a big cable gland.

Astute readers will note that a Raspberry Pi 3 has WiFi built in. So what’s up with the ethernet cable? My experience is that a single onboard router with devices connected to it via ethernet is a preferable solution.

Notice the small slot cut in the side of the Pi case. This allows us to easily remove the case without removing the video ribbon (and it's regretfully brittle plastic lock).

Notice the small slot cut in the side of the Pi case. This allows us to easily remove the case without removing the video ribbon (and fiddling with the Pi’s regretfully brittle plastic camera ribbon lock).

Another picture to show the little slot cut in the side of the Pi case, enabling use to remove the case without pulling the video ribbon. Little tweaks like this will make you much happier after removing the case 100x.

Another picture to show the little slot cut in the side of the Pi case, enabling us to remove the case without pulling the video ribbon. Little tweaks like this will make you much happier after removing the case 100x.

View of the Raspberry Pi 3 with lid removed.

View of the Raspberry Pi 3 with lid removed.

Notice that the Pixhawk is mounted on a vibration reducing mount within the enclosure. The Pixhawk's gyros and accels appreciate this.

Notice that the Pixhawk is mounted on a vibration reducing mount within the enclosure. The Pixhawk’s gyros and accels would like to say “thank you”.

Can you guess why the Pi has a distinctive sheen?

Can you guess why the Pi has a distinctive sheen?


Did you guess? It’s conformal coating! I like to leave the Pi exposed for testing — the reason for this is that it seems you’re always plugging in another cable or pin to the Pi, and enclosing it inside a case creates future time drains. Here we have a problem, though: what happens when the unexpected April shower pops up in the middle of your mission? If your Pi’s unprotected, you may have just lost $35. Our answer to this situation is a good coating of MG Chemicals conformal coating.

The coating glows when you illuminate it with a UV light, revealing how much coverage you achieved. Man, stuff that glows is timelessly cool.

TIP: insert the video ribbon cable, the HDMI cable, and the USB cable BEFORE applying conformal coating. Otherwise the coating has a sneaky tendency to get inside those connectors. You will have nightmares getting a good connection if you let this happen. Yes, I learned the hard way.

Tip: insert the video ribbon cable, the HDMI cable, and the USB cable BEFORE applying conformal coating. Otherwise the coating has a sneaky tendency to get inside those connectors. You will have nightmares getting a good connection if you let this happen. Yes, I learned the hard way.

They put warnings all over this stuff like it's pure Uranium. Probably best not to consume.

They put warnings all over this stuff like it’s pure Uranium. Probably best not to consume.

Conformal coating coverage test in process

Conformal coating coverage test in process.

If Industrial Velcro ever ceases production I will quit robotics. Velcro, please don’t make me back that statement up. Seriously though, guys, think about how much it hurt to let go of that fav pair of Superman shoes at age thirteen eight with the Velcro straps. And here you’ve spent all these years thinking that you couldn’t look forward to Velcro again ’till you hit 75 and went shoe shopping at Wal-Mart. Velcro, we missed you. Welcome back.

Well, who do we have here? I see a Pixhawk up there at the top and that’s the power box over there on the left. Now, what is that little card at the bottom….

It’s the much hyped ComNav K501G L1/L2 GPS/GLONASS 10hz RTK receiver card!! You know, the card I talked so much about last time that Mrs. Roby started acting weird. You’ll observe that I make notes on the card about baud rates and port assignments — this method proves more reliable than my memory.

Robot building pop quiz: what in the world is that red arrow pointing at?

Robot building pop quiz: what in the world is that red arrow pointing at?

Do you know the answer?

Do you know the answer?

It’s a Gore vent! Technically, this vent is a knock-off that you can buy here or here. If you’ve never read field scientists rave about Gore vents, you’re in for a treat. You’re likely familiar with GORE-TEX waterproof jackets, shoes, gloves, etc. It turns out that the company behind GORE-TEX is GORE Industries, and they also make GORE vents. These guys fired the Product Name Consultant 30 years ago and never looked back. GORE products are based off this fascinating synthetic material that’s somehow impermeable to water molecules, but it allows air to pass through. So, for the vents, the result is that the enclosure can breath, but it’s waterproof. Breathability is important because pressure inside the enclosure is equalized, greatly reducing stress on the waterproof seal and increasing the seal’s longevity.

Notice the dual nuts anchoring the center enclosure underneath the platform. This dual-nut trick allows us to level up the Pixhawk by adjusting the nuts. You’ll observe that both plastic enclosures pictured are floating on anti-vibration bushings. You’ll also note the blue ethernet cable winding out of the GNSS receiver’s enclosure on the left. If you’re not a network person, you may not have known that ethernet cables are just 4 pair of copper/aluminum wires — they’re often the perfect hack for low amperage power and signal wires.

Moving up from the base to the center section you see, starting at the top/back, the wireless router (running dd-wrt as a repeater bridge), the Odroid-C2 (barely visible inside the center case), and the GoPro camera case (like this) modified to hold a Pi Camera.

That mass of wires in the enclosure above is mostly related to the 6 ultrasonic sensors on the Rover. A little Arduino (impossible to see in this picture) is sitting in the upper right corner, processing all the readings from the sensors and feeding obstacle information back down to the Raspberry Pi. We also found room in that box for a 3DR telemetry radio that’s dedicated to receiving RTK corrections.

Here we see an Odroid C2 sitting all alone in the center enclosure. Note that the Odroid doesn’t have WiFi built in (in contrast the Pi 3 has WiFi) so having the onboard router is already paying off. The Odroid is an amazingly powerful little computer that we’ll have much more to say about in upcoming posts. We’re currently running an armbian distro of linux (highly recommended) on the oDroid. The oDroid is there to take care of heavy lifting; for instance, the code generating missions is a bit of resource-heavy java that the oDroid smoothly runs in a Tomcat Servlet container.

Here you can see the front ultrasonic sensor array mounted to a sheet of Lexan polycarbonate. Notice that the sensors on the left and right are not intended for outdoor use while the sensor in the middle is like the sensors you’ve seen on the rear bumper of vehicles for the past 15 years. The indoor ultrasonic sensors have always outperformed the waterproof ones in my experience.

If you look closely at the camera’s mount over on the right hand side, you’ll notice that we thread nylon cable ties through the rubber bushings, under the metal platform, and back up through a tiny hole beside each rubber bushing. This little trick serves the dual purpose of securing our camera and enabling us to make precision leveling adjustments by tightening the cable ties. If you’re looking to spend much time building robots, you won’t regret the decision to purchase a variety pack of cable ties.

I’ve got to give the TP-LINK router credit, it’s been a reliable wireless bridge and I’m quite sure the manufacturer didn’t intend for it to run around on a robot.

If you look closely at the camera case, you’ll see my hot glue crush springing up all around. The truth is, I could let go of Velcro before letting go of hot glue — but the thought of losing either knots up a strong man’s gut.

All of the enclosures are floating on some form of vibration dampening bushing. If you run a rover long enough off-road, you’ll likely develop similar habits.

Here’s a view of the rear of the Pi camera enclosure. There may be a good, standard weather-resistant pi camera enclosure nowadays, but I couldn’t find one when building this rover. These GoPro enclosures are readily available, their tilt is easily adjustable, and they will only set you back ~ $6USD.

Here you see the compass enclosure (holding a HMC5883L compass) mounted on top, as far away as possible from magnetic friends who would have a bad influence on her. If you look over at the left side of the compass enclosure, you can barely make out an arrow pointing North. I’ve never regretted making any little note like that which mitigated future confusion when the inevitable day comes that you will remove the component.

 

Every sensor will eventually be removed, replaced, changed, upgraded, etc. We need to push on this a little more: EVERY COMPONENT WILL BE REMOVED. You will not be eternally happy with the location you chose for any component. You will eventually add more sensors, add more servos, add more radios, add more antennas, add another computer, then wake up at 2 a.m. and realize your whole arrangement is sub-optimal.
When you are building your robot, always think about making your future self happy when you rearrange every component. The Good Lord, it seems, did not grant unto us roboticists the ability to perfectly place any part.

We’ve identified these components on top before, but let’s repeat: L1/L2 GNSS antenna (upper left), compass (lower left), 915mhz waterproof antenna (lower right) for 3DR radio. Here are links for purchasing the 900 and 433 version of that antenna (different frequencies are allowed in different countries, you likely know) — I think you’ll be impressed with the antenna’s build quality, especially for ~$8USD.

Wait a second, what kind of potting compound are we using to insulate the compass/magnetometer?

Hot glue, of course! Now, let’s be clear: hot glue is not an appropriate long-term electronic potting compound. If you’re wanting a permanent potting compound, you’ll want to check out something like the MG Chemicals offering, or even the random China stuff.
FAIR WARNING: the entire field of potting and potting compounds is wonderfully fascinating! If you’re not careful, your family won’t see you again tonight while you’re lost somewhere on the internet in a geek-binge of potting compound reviews and information.

If you look at the magnetometer’s clear lid above, you can almost make out another hack we pulled: Aluminum foil inside the lid (secured in place by a huge glob of hot glue, of course) to reflect sunlight. The objective of all this insulating is to shield the compass from sudden changes in temperature which could seriously degrade it’s performance.
One more thing: notice that we use our nylon cable tie threading trick to secure and level the compass enclosure. It’s very important both to mount a compass level relative to earth on your rover, and, later on when calibrating your autopilot, it’s important to calibrate the “level” reading on your autopilot to be true relative to earth. Look, I know if you’re new to this stuff that the last part of that sentence doesn’t mean much, but later on we’ll talk a lot more about this.
It’s worth keeping in mind, if you’re the kind of person who likes to keep random useful robot knowledge floating around in your mind, that a magnetometer’s performance, if used alone, severely degrades when you introduce much roll or pitch. Fortunately for us, however, we’ll be using the ArduPilot software which uses the Pixhawk’s accels and gyros, along with slick and impressive math, to give good heading readings even in steep roll/pitch situations.

One last note: rubber grommets will keep sharp metal corners from cutting into your sensitive wires. As an added bonus, I think the black grommets contrast favorably on the silver aluminum body

Wrapping Up

Man that was a big set of pictures! Hey, if anything wasn’t clear, just shoot a question in the comments and we’ll try to clarify.

I have a feeling that next time we’re going to stir up a little more GPS excitement.

Until we meet again,

Sincerely yours,

Roby

Follow Roby:

Latest posts from

19 Responses

  1. These posts are great, Roby.

  2. Golfman

    Hey Roby what is your take on IMU calibration for orientation detection? I’ve been reading about “factory calibrated” tactical grade IMUs which cost 10x as much or more than the others. Is there really an IMU out there that won’t need calibration? If so I might be willing to spend that knowing the readings are good. I am more thinking about the accel and gyros and not so much the magnetometer.

    • Hi Golfman! I can’t comment on tactical grade IMUs. My observation of the commodity-grade IMUs like the 6050 or the 9250 is that they are good sensors if properly calibrated and if shielded from wild environment changes.

      More to the point: for something like an autopilot on a commercial zero-turn mower, the Pixhawk’s IMU coupled with an external compass (like above), and an L1/L2 GPS/GLONASS RTK receiver @ 10hz, is more than sufficient to produce a high quality precision path following solution.

      One more thought: if you’re running an Arudpilot autopilot (like Pixhawk, Pixracer, etc), the Mission Planner app has a pretty slick mission analysis tool that you can use to graph out all your gyro/accel/mag/whatever readings after a mission.

      Back to your question, I would be interested in seeing some kind of real-world comparison between a high-end IMU and the 6050/9250.

  3. Great stuff!

    “Young sons, heed my words: OFF MUST BE DOWN. I really don’t care about which way you make ON, but you MUST make the down position of the switch correspond to OFF.”

    I too learned that the hard way.

  4. Not going to lie, you’ve got me all fired up to spend a few dollars organizing my cables and enclosures. I’m a tightwad and didn’t think it was worth it until I saw these pictures. Consider me convinced!

  5. “OFF MUST BE DOWN”

    An alternative to flip switches is to use emergency stop buttons (with hardware latches). Unfortunately some of these don’t disconnect very cleanly, but it’s still better than trying to work out up-vs-down in a capsizing rover (even when it’s not about to fall into the dam).

    Great site, BTW.
    Scott.

  6. bobroberts

    Hi Roby,

    Nice setup you have there. Looks fantastic! Is there a reason (or rather, what was the reason) that you built the frame for your electronics so tall? It seems to me that you’d want your center of gravity for the robot to be lower, but with two SLA batteries on the bottom I’m sure it’s not an issue.

    I am working on a similar setup but without some of the bells and whistles your setup has. Did you have any issues with compass interference from your motors? My compass and Pixhawk were ~12in from the motors and I noticed my compass readings were all over the place and my autonomous missions would never drive in a straight line. I really want to avoid placing the flight controller and compass too far above the vehicle CG but I may not have a choice. Just looking for your two cents, if you have some.

    Hope you get back to posting soon, this place is a treasure trove of information!

    Thanks,

    Bob

    • Hi Bob,

      There are several advantages (for my experiments) to the tall multi-level platform:

      1. Ability to put compass away from motors / motor controllers / ferrous base. Notice that the compass is on the top. Also note the ad-hoc insulation around the compass — the HMC5883 is sensitive to sudden temperature changes. For your situation, why not put your flight controller near CG (likely better for the accells/gyros) and just rely on an external compass that’s mounted a bit away from the motors and motor controllers. These compasses are super-light if you buy them a la carte.
      2. More room to mount all electronics & antennas as far away from each-other as possible. My observation is that once you start building one of these robots, you rarely look around and say “Man, I’ve got too much room on this platform and no new components to install.”
      3. Ease of pushing the robot back to the shop when it breaks down — I’m no longer 16 and thus don’t like bending over to push a big heavy robot back home.

      Note that the big platform is made out of non-ferrous aluminum. This yields two advantages: 1. Super-light (~7kg) and 2. Easy to drill & cut (nothing like burning through drill bits on hard metal to dampen an otherwise wonderfully satisfying afternoon in the shop).

      So, since the base is 70kg, the weight of the platform doesn’t hurt the CG significantly (for my experimental use cases).

      Glad you stopped by & best wishes with your own missions!

      Cheers,

      Roby

      • bobroberts

        Good thinking Roby, many a time have I had to stoop down to wheel my robot back to the garage. It’s quite the hassle.

        I feel foolish for not thinking about moving the compass itself further away from the motors, that would be an elegant solution 😉 Right now I’ve got 10 pounds of poo in a 2 pound enclosure, I like how spread out everything is on your setup.

        True story about enclosures and platform real estate, I’ve drawn most of my stuff up in a CAD system and I go through three or four iterations of increasing enclosure sizes before I am finished with a design.

  7. Great post! Have you seen my question?

    many thanks

    Jorrit

  8. recently went to pixhawk for rover from apm as it says board no longer supported on update. No aux. inputs for sensors on pixhawk. Uno the solution?

  9. CRHISTIAN MACHADO IZAGUIRRY

    Hi. It’s possible connect sabertooth directly on pixhawk, without Pi? Can you make a post about config on mission planner? Thanks and congrats!

    • Hi Crhistian — The Pixhawk Signal 1 and Signal 3 wires are directly connected to 1 and 2 on the Sabertooth — that’s where Pixhawk is sending PWM values out to the Sabertooth. You’re right that I should probably do a post on configuring with Mission Planner – the amount of options and parameters is pretty vast and can be overwhelming.

  10. Hi Rob
    To a complete newbie here the big step to connect the radios to Pixhawk and carry out the first mission planner waypoint then see the rover follow the path.
    I have not seen any further blogs for 6 months. I hope you and family are ok
    Also are you able to do a blog on the zen-f9p well a more comprehensible blog to explain when you connected the rover to the base does that mean rover and base are actually on the moi g platform.
    To a complete newbie this subject is so overwhelming when it comes to the f9p module configurations. This is really robotic science and as one of my previous teachers agreed with me, you have to be crazy to be interested in robotics.
    Enjoy your blogs

    • Hi DGB,

      Thanks for stopping by. Completely agree that it is quite overwhelming for a while when you jump into this field. Hope to release some software at some point not too far out to help with this 🙂

      Take care,

      Roby

Leave a Reply to bobroberts Cancel reply