Git Product home page Git Product logo

roger-random / sawppy_rover Goto Github PK

View Code? Open in Web Editor NEW
426.0 40.0 84.0 20.29 MB

Sawppy the Rover: A Motorized Model of Mars Rover Curiosity and Perseverance for <$500 In Parts

Home Page: http://sawppy.com

License: MIT License

OpenSCAD 3.29% C++ 13.62% CMake 0.16% C 60.74% Jupyter Notebook 12.25% Dockerfile 0.07% JavaScript 8.23% HTML 0.79% CSS 0.85%
sawppy rover rover-platform jpl-rover mars-rovers-curiosity mars-rovers-perseverance 3d-printing sawppy-rover perseverance curiosity

sawppy_rover's Introduction

Sawppy the Rover

Sawppy is a motorized model of Mars rovers Curiosity and Perseverance. It faithfully reproduces the Rocker-Bogie suspension kinematics of real rovers and is intended to be a hardware platform for future software projects in autonomous operation. Go forth and boldly explore the back yard, Sawppy!

All information for building Sawppy is free and public open source for anyone to build their own. Build instructions can be found under the docs subdirectory.

Sawppy the Rover was inspired by JPL's Open Source Rover project. Most of the differences between Sawppy and its JPL inspiration were motivated by a desire to reduce cost and complexity. JPL's rover is designed for education, to be assembled by a school team and give a robust foundation for structured curriculum. Sawppy is more suited for individual hobbyists like myself who are happy to tinker and willing to make some trade-offs to lower cost.

The budget was $500, see price breakdown here. Getting to that price point required the following changes:

These two major design goals can be summarized as: Servo Actuated Wheels, Printed Interconnect For Extrusion. The acronym SAWPIFE led to the nickedname "Sawppy".

Development Status

Status Update, Perseverance Landing Edition

Generating web traffic was never an objective of my Sawppy project so I hadn't kept an eye on the statistics, but I looked at it just now and noticed a distinct rise over the past two weeks. I guess the successful landing of Perseverance rover on Mars motivated a lot of people to think about 3D-printing their own rover here on Earth. Welcome, fellow rover fans!

Here's a quick summary past and future for fans new and old alike:

What you see on this project page is what I now refer to as "Sawppy V1". It was my first project that I documented with the explicit goal of helping others build their own. In contrast to most of my other projects which were just to show an example and/or notes to remind myself later. I was happy to see that many people have accepted my invitation and built their own rovers. (See "Sawppy Builders" log entries on Sawppy's Hackaday.io page.) I appreciate constructive feedback submitted by Sawppy rover builders from around the world, and have been pondering how I can evolve future Sawppy versions to address feedback.

One persistent line of feedback was that Sawppy was still too complex and expensive for some rover fans, even though Sawppy was designed to be more affordable and simpler than the JPL Open Source Rover that inspired it. It is true I built Sawppy for myself and others with roughly my level of skill and budget. This translated to an audience of mostly adult hobbyists and some students of college and high school age who can drop $500 USD on a project.

To address the audience left out of the fun by Sawppy V1, my current step in Sawppy evolution is "Micro Sawppy". I am designing and developing a smaller, simpler, and more affordable rover. One that I want to be accessible to elementary school age students (with adult supervision) with a target parts cost of $100 USD. I also want to write the instructions to be more exact and prescriptive. Sawppy V1 instructions had several areas that were left open to builder preference, something I've learned is confusing to beginners who lacked the experience to have a preference.

Micro Sawppy also serves as my testbed for several ideas for 3D-printed rover construction that, if successful, I want to adapt and scale up to a "Sawppy V2". This future rover would be roughly the same size as Sawppy V1. But I want to make it easier to build, more adaptable to variations, and a lower base cost target of $400 USD.

For latest updates and/or more details, I post my development progress to the Sawppy category on my personal blog.

Sawppy version 1.0

This milestone includes a motorized rolling chassis that is mechanically functional. The remaining areas (electrical, software, etc.) are still very immature, just barely enough to validate mechanical chassis function. Click this image for a YouTube video illustrating the chassis in action, climbing a backpack that is almost double the height of wheel diameter.

Sawppy conquers a backpack

Sawppy version 1.1

Sawppy has received only minor mechanical changes for this milestone, including the rocker joint angle limiter visible in action in the backpack demo video above. Most of the attention has been on software, with contributions by the Sawppy community.

A Sawppy builder can now choose from many Sawppy software options. Roughly in order of power and complexity, they are:

  • Simplest: Wired control running on an Arduino instead of Raspberry Pi. Created as a backup control option in noisy RF environments where WiFi is unreliable. It also happens to feature the bare-bones version of Sawppy geometry calculations. Wired control meant skipping all the overhead of wireless communication. Cutting out all HTML code also meant this is a good basis for other control mechanisms: send desired speed and direction into Arduino and let it handle Sawppy chassis geometry calculation.
  • Original: HTML-based wireless teleoperation software stack modified from SGVHAK rover. This was written to be easy for others to understand and modify.
  • R/C control: lightly modified from my SGVHAK rover software by Marco Walther (mw46d) for a Raspberry Pi-based way to interface with traditional remote control receivers.

Plus two options for turning Sawppy into a ROS robotics platform.

  • ROS Kinetic: heavily modified from my SGVHAK rover software by Marco Walther (mw46d) which translates ROS /cmd_vel commands into Sawppy movement. This is a good stepping stone beyond original Sawppy software.
  • ROS Melodic: a ground-up rewrite of a ROS-centric stack by Rhys Mainwaring (srmainwaring) is extensive and powerful. Going beyond responding to /cmd_vel commands, it also calculates /odom by interpolating LX-16A position encoder ~270 degree feedback into full 360 degrees. Plus visualizing rover state in RViz, and files to put a digital Sawppy in Gazebo robot simulation environment.

Modifications From Rover Builders

Many people who built their own Sawppy rover are also people who love to tinker and experiment. As a result these rovers reflect the individuality of their builder. Some of these builders have shared their work with the community, see the modifications folder for more information.

Other Project Resources

Financial Support

Sawppy is shared free of charge, but builders in the United States may choose to buy some parts via Amazon affiliate links which will send a small sales commission to Sawppy's creator.

sawppy_rover's People

Contributors

adamgreen avatar dependabot[bot] avatar madhephaestus avatar mw46d avatar nbering avatar roger-random avatar techmav75 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sawppy_rover's Issues

LX-16A Servo not available online from Amazon.

Hello Sawppy_Rover team. I ordered one LewanSoul LX-16A Servo on Amazon and received it. However, I went back to order more and Amazon is out and says that it doesn't know when they will become available. I am also having trouble finding the LewanSoul Bus Linker. I am speculating that this is a Coronavirus thing that's affecting the distribution of these. If I order straight from China the shipping is very expensive. Anyone have any idea where I can get these pieces locally?

onShape CAD document

Is this intended to be behind a paywall? I know models can be shared publicly but the Swappy document is forcing me to register with onShape just to view it. Unless I overlooked it, do you guys have a CAD file of the entire build somewhere in this repo?

Parts list missing qty of 608 bearings

I'm willing to do a PR for the addition, but while I was putting together my parts orders, I had trouble getting a count for the bearings.

If I'm not mistaken, the bearings qty breaks down as:

Assembly Assembly Qty. Bearing Qty. Subtotal
Steering Knuckle 4 2 8
Fixed Knuckle 2 1 2
Corner Steering Joints 2 2 4
Suspension Bogie Joints 2 2 4
Suspension Rocker Joints 2 2 4
Grand Total 22

I'm not sure if my count is entirely accurate, because some of the part installation instructions are inconsistent as to whether the bearing count is for all instances of that assembly, or per-assembly. Steering knuckle in particular looks like it shows 2-per assembly but says "2 bearings". Fixed knuckle lists 2 bearings as well, but it's hard to tell from the photos if that's 2 per-assembly or total.

Things to maybe add to Parts List

As I was reading through the documentation to put together a list of the things I have to order, I ended up adding a few things to my list that didn't show up in docs/Parts List.md

Maybe there should be a tools section to give a list of tools that someone who is newer to these type of builds (such as myself) might not already have in their possession?

  • 8mm Reamer
  • Metric Tap & Die Set (A M3 tap specifically)

In the hardware section, I don't see mention of any M3x16mm socket head screws but I do see 10 of them being mentioned in the differential assembly instructions. Should these be added to the main hardware list?

What about a list of electronic components required? No matter if a person uses an Arduino or a RaspberryPi, they will need the LewanSoul BusLinker hardware to interface with the LX-16A servos which are included in the list.

I just opened this Issue to start a conversation about this topic. I can draft up a PR in the future based on resulting feedback.

As this is my first issue here, I just wanted to thank you for all of the work involved in this project. I really appreciate it! There is an awesome amount of work here!

Request Master Parts List

I would like to either request a master parts list, to show quantity and description of parts required, such as screws. Alternately, I would be happy to put one together as I build my rover and provide it once it's complete.

Schematic is missing ground plane for +5V voltage regulator

Schematic diagram is missing the ground plane for +5V voltage regulator. There's no connection to battery negative, and no connection to Raspberry Pi ground plane.

Spotted by [Jeffery Reedy], thanks Jeff!

A text warning errata has been added to the documentation just below the schematic. This issues tracks the need to replace the flawed schematic diagram with a corrected one.

.prt files

Hey Sawppy team!

We're looking to build our own version of Sawppy but would like to replace the Aluminum profiles with cylindrical carbon fiber tubes. Would you be willing to share the .prt files with us so we could directly adjust them? Of course we'd be more than happy to share the outcome with you guys as well!

Cheers,
Marco and David

Issues with Clip 2n125 Clip 3n20

Hi,

We're using a Cura Lulz bot to 3D print the parts, however, for clips 2n125 and 3n20, we're experiencing some difficulty during printing as they are not printing smoothly. What extruder would you prefer we print with and is there anything else you think we should be aware of when printing the clips?

Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.