Close
0%
0%

Sawppy the Rover

Motorized model of Mars rovers Curiosity and Perseverance For Under $500

Similar projects worth following
Sawppy is a motorized model whose layout and proportion mimics that of Mars rovers Curiosity and Perseverance. It faithfully reproduces the 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!

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, and getting there 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 nickname "Sawppy".


See the "Links" section for pointers to additional information:

  • Live Onshape CAD file: This is where I'm tweaking and building Sawppy in full public view. Be warned the live file has upsides (latest ideas!) and downsides (latest idea doesn't work!)
  • Github: This is where the assembly instructions currently live. It also has a snapshot of Sawppy components in STL file format. These parts may lag behind the live CAD data, but they have been printed, installed, and proven to work on my rover.
  • Build Blog: The history of Sawppy, including stories of design goals and lessons learned from failures.

Since the time I declared Sawppy version 1.0 (mechanical foundation) complete and posted assembly instructions, others have built on top of what I've released to the world! They're outlined in the project log "Sawppy Builders" entries, page 1 and page 2 with more to come as I hear about more rovers.

Sawppy V1 Schematic.png

Bare bones Sawppy version 1 schematic

Portable Network Graphics (PNG) - 192.78 kB - 03/13/2019 at 06:14

Preview
Download

  • 3 × 1 kg spool of 3D printer filament Exact amount of filament used will depend on slicer settings, see "Instructions" section.
  • 10 × LewanSoul LX-16A Serial Bus Servo Design also can be adapted to use Dynamixel AX-12A or Herkulex DRS-0101
  • 3 × Box of 100 M3 * 8mm hex bolts Fastening 3D-printed components to aluminum extrusions
  • 3 × Box of 100 M3 hex nuts Fastening 3D-printed components to aluminum extrusions
  • 3 × Box of 100 M3 washers (< 10mm diameter) Fastening 3D-printed components to aluminum extrusions. Design can accommodate up to 10mm diameter washers, larger washers will require modifying CAD file.

View all 17 components

  • 2022/12/15 Hangout and Nerdout

    Roger12/12/2022 at 22:23 0 comments

    "Hangout and Nerdout" will have a space-themed episode on December 15th 2022, and Sawppy will be one of the topics of discussion.

    My presentation slides are here: 20221215 Hangout Nerdout

    Event landing page: https://events.hackster.io/hangoutnerdout

  • Status Update, Perseverance Landing Edition

    Roger03/02/2021 at 02:07 0 comments

    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 elsewhere on this 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. (I used to cross-post them to this project page, but I've stopped doing that since it's a different rover project.)

  • Trying to Improve Sawppy Documentation

    Roger11/09/2020 at 07:11 0 comments

    When I decided to release Sawppy to the world, I thought briefly about how to best organize all the information I want to convey for rover assembly. I quickly fell into a state of Analysis Paralysis and, as a path out of that state, decided that it was better to have something written down whatever the format. No matter how unorganized, is still better than keeping it all in my head.

    I first tried putting it in the “Build Instructions” section, but that feature has some strange and unpredictable limitations that became annoying as the length of instructions grew. The final straw was when I noticed that images and instructions for earlier steps were disappearing as I added later steps. That made me… unhappy, so I went to something else.

    The second attempt is what I have as of today: a loose collection of Markdown files on a Github repository. Edited in a code editor rather than a word processor, I struggled with typos and grammatical errors as I lacked the usual automated proofreading tools present in a word processor. Still, with a large helping of assembly pictures, it was just barely enough for people to build their own rovers.

    I was painfully aware of the fact there is a ton of obvious room for improvement. This was just the “get it written down” first stage and at some point I need to revisit the various problems still open. The most significant of which is lack of structure beyond an index page with links to all the other pages. The index suggested a relative ordering that matched my personal assembly order, but that doesn’t necessarily work for anyone else. And worse, they would be stuck if they wanted to ask some specific questions my layout is unable to answer.

    As an example of problems with Sawppy’s documentation, look at a single component: a Sawppy wheel axle. There are at least three entirely separate pages relating to the wheel axle:

    1. The page of parts list, telling a builder to buy 8mm metal shaft.
    2. The page for 8mm shaft modification, where I describe how to cut the long shaft into shorter segments. Followed by steps to turn these segments into wheel axles. Other segments were turned into steering shafts, plus those turned into rocker-bogie suspension pivots.
    3. The page for wheel hub assembly, which incorporates a single segment of the 8mm wheel axle shaft.

    While these three files were all linked from the index page, there’s no obvious way to retrieve the relationship between them in the context of wheel axles. I can manually add links between them, but this is time consuming and perpetually incomplete. Even worse, as the number of relationships grew, it will quickly become a maintenance nightmare.

    Thus I started my quest to find a system to document and track these types of relationships without losing too much of the advantages of my current system. This means every candidate system must meet the following challenges:

    Challenge A: Easy to Contribute

    When a Markdown file is hosted on GitHub, a potential contributor can click the “Edit” button to create a fork of the repository, make a quick fix, and create a pull request all via GitHub website. This presents an extremely low barrier to entry for contributors which is a feature I want to preserve. If contributors were required to install and learn some piece of documentation software, that would discourage many people from participating before we even talk about the learning curve for that software.

    Challenge B: Easy to Manage

    When using GitHub’s web interface to edit a Markdown file, visualizing the change is as simple as clicking over to the “Preview” tab of the editor. Sadly such ease can’t be matched by any system external to GitHub, but it would be nice to have some way to let a contributor see what the end results look like. Failing that, I must have a way to visualize the final impact of changes before I merge a pull request. It is unacceptable to not see changes until after merging into...

    Read more »

  • Rhys Mainwaring’s ROS Melodic Software and Simulator for Sawppy

    Roger01/31/2020 at 22:37 3 comments

    When I created Sawppy, my first goal was to deliver something that could be fun for robotics enthusiasts to play with. The target demographics were high school students and up, which meant creating a software stack that is self-contained and focused enough to be easy to learn and modify.

    To cater to Sawppy builders with ambition for more, one of the future to-do list was to write the necessary modules to drive Sawppy via open source Robot Operating System. (ROS) It is a platform with far more capability, with access to modules created by robotics researchers, but not easy for robotics beginners to pick up. I’ve played with ROS on-and-off since then, never quite reaching the level of proficiency I needed to make it happen.

    So I was very excited to learn of Rhys Mainwaring’s Curio rover. Curio is a Sawppy sibling with largely the same body but running a completely different software stack built on ROS Melodic. Browsing the Curio code repository, I saw far more than just a set of nodes to run a the physical rover, it includes two significant contributions towards a smarter rover.

    Curio Rover in Simulation
    There’s a common problem with intelligent robotics research today: evolving machine learning algorithms require many iterations and it would take far too long to run them on physical robots. Even more so here because, true to their real-life counterparts, Sawppy and siblings are slow. Rhys has taken Sawppy’s CAD data and translated physical forms and all joint kinematics to the Gazebo robot simulator used by ROS researchers. Now it is possible to work on intelligent rovers in the virtual world before adapting lessons to the real world.

    Rover Odometry
    One of the challenges I recognized (but didn’t know how to solve) was calculating rover wheel odometry. The LX-16A servos used on Sawppy could return wheel position, but only within an approximately 240 degree arc out of the entire 360 degrees circle. Outside of that range, the position data is noisy and unreliable.

    Rhys has managed to overcome this problem with an encoder filter that learned to recognize when the servo position data is unreliable. This forms the basis of a system to calculate odometry that works well with existing hardware and can be even faster with an additional Arduino.

    ROS Software Stack For Sawppy
    Several people have asked me for ROS software for Sawppy, and I’m glad Rhys stepped up to the challenge and contributed this work back to the community. I encourage all the Sawppy builders who wanted ROS to look over Rhys’ work and contribute if it is within your skills to do so. As a ROS beginner myself, I will be alongside you, learning from this project and trying to run it on my own rover.

    https://github.com/srmainwaring/curio


    (Cross-posted to NewScrewdriver.com)

  • Sawppy Builders (Page 2)

    Roger08/23/2019 at 07:48 2 comments

    This is the second page of Sawppy Builders, for Page 1 click here.


    Steve (jetdillo)

    I met Steve at Maker Faire Bay Area 2019 in May, where he showed me pictures of a few of his Sawppy parts. It is now August 2019 and his Sawppy is mechanically complete. Steve is a HomeBrew Robotics member like Marco, and the new rover is neon green to distinguish from Marco's neon yellow Sawppy.

    In terms of modifications, Steve is adopting Marco's faster wheel drive motors, and instead of cutting drive shafts from metal Steve has printed his from NylonX. It'll be interesting to see if that material is strong enough for the job!

    See more details at Steve's YASP (Yet Another Sawppy Project) page.


    Leif Sorgule

    Leif is teaching a robotics course for high school students and he thought Sawppy might be an interesting team project for the class. The class will start with the Arduino control option, given cost and learning resources available for Arduino. It'll be fun to see what the students dream up for their own Sawppy modifications.


    Patrick Leiser

    Patrick's Sawppy variant (named Swappy) made an appearance at the Rocklin Mini Maker Faire, representing the Sierra College Robotics Club. It might be the first of Sawppy's siblings to be chauffeured around in a Tesla Model 3, though this picture shows it doesn't quite fit in the frunk.


    TeamSG Aussie Sawppy

    Sawppy has a brother down under! This is a father-and-son team putting a rover together, and their chosen yellow-and-black color scheme looks very sharp.


    ... and hopefully more rovers to come!

  • Sawppy at Maker Faire Bay Area 2019

    Roger07/28/2019 at 23:53 0 comments

    I took some footage of Sawppy's adventures at Maker Faire Bay Area 2019 and assembled them into three videos.

    It was raining at the event, so Sawppy needed to put on a raincoat before venturing outdoors:

    It was the first time Sawppy attended a three-day long event and one of the steering servos failed on the third day.

    After the event, Sawppy needed some cleaning and minor repairs.

  • Curiosity Rover 3D Resources

    Roger06/25/2019 at 20:52 0 comments

    Prompted by a question on the JPL Open Source Rover web forum, I compiled all the 3D resources I had collected on Mars rover Curiosity. This reference data helped Sawppy match Curiosity's overall proportions and suspension geometry, which was my goal of making a mechanically faithful motorized model. I stopped there, but others rover builders like @lmckeega are working to improve accuracy in appearance so I thought I'd share these resources to assist such efforts.

    3D web sites

    My starting point was JPL's official open source rover website whose opening animation has a 3D model of Curiosity cruising on a simulated Mars surface. I tried to extract that 3D mesh without success.

    On a similar front, we could see a 3D model of Curiosity in the "Experience Curiosity" website. It's possible this is using the exact same data set as the OSR, but still I'm not enough of a web developer to pull out the 3D data.

    Finally we have a 3D model visible on Curiosity's mission site. Again it may or may not be the exact same one used in above two sites, but the difference here is that we have a "Download" button. Clicking that button results in a file named Curiosity_static.glb. My laptop running Windows 10 has a 3D Viewer app installed by default, which was able to view this file. I don't know what viewer software would be required for other platforms.

    3D printing

    A web search for "Curiosity 3D Model" and similar keywords would repeatedly lead me to a 3D-printable static model. Unfortunately, for my purposes this model is not useful. The geometry of this model were modified to be friendly to 3D printing and is not a faithful representation of Curiosity.

    3D animation

    However, on the same site, there are two Curiosity models for the free open source 3D animation program Blender. As far as I can tell, these two models have the same 3D data but with different textures. "Clean" is factory fresh Curiosity, and "Dirty" represents Curiosity after cruising on Mars for a while.

    The advantage of these files is that suspension parts are separate elements that can be animated to show suspension articulation. I believe these files formed the basis for Gazebo simulation described here.

    It also means we can split parts apart for a closer look. However, this file only has enough detail for animated graphics, it does not have enough detail for CNC machining. Much of the surface detail are represented by bitmap textures instead of 3D mesh data.

    While there is not enough detail for building a high fidelity model, these files were the best resource I had to measure component sizes and their relative layouts. I was able to bring them up in Blender, switch to orthographic projection view, and get images of Curiosity free of perspective distortion. In case that's useful to anyone, and you don't want to install & run Blender just to obtain those images, here they are:

    (Cross-posted to NewScrewdriver.com)

  • Wired Joystick Controller With Arduino

    Roger05/24/2019 at 00:37 2 comments

    As a presenter it was great to see the wealth of information provided by Maker Faire Bay Area organizers. It is clearly the compilation of many years of experience and lessons learned. One item caught my eye: anyone using wireless communication should have a contingency plan in case wireless fails.

    I've definitely encountered this before with SGVHAK Rover and Sawppy on the standard 2.4GHz WiFi band. So far I've been able to avoid most problems by adding a dual-band router and moving up to the 5 GHz band, but in a large event like the flagship Maker Faire, even that might not be enough.

    So as part of my Maker Faire prep work, I designed and built a wired joystick controller with an Arduino as the microprocessor. When active, it replaces the Raspberry Pi and wireless router on board Sawppy. This also serves as a lower-cost alternative to rover builders or those who like the thought of walking their rovers on a leash.

    More resources:

  • Sawppy Will Be At Maker Faire Bay Area 2019

    Roger05/10/2019 at 19:43 0 comments

    I know I've said I wanted to keep my Hackaday.io project page focused on rover design and evolution and less on rover adventures in the wild... but I'm going to break my own rule for this one. I'm super excited to have been accepted as a maker presenting their project at Maker Faire Bay Area 2019. It's not just A maker faire... it is THE maker faire. Most of my travel logistics have been nailed down, it is happening!

  • Sawppy Builders (Page 1)

    Roger05/07/2019 at 23:03 0 comments

    I started my Sawppy project in March 2018. By May 2018 I had my first rolling chassis but it was fragile. Every time my rover broke, I learn a little more about mechanical design, and Sawppy improved over the following months. I also started writing assembly instructions and supporting documentation to help any other interested people build their own Sawppy, not knowing if anyone would take me up on my offer. It was extremely gratifying to see other people have indeed accepted my invitation!

    This post recognizes those who have embarked on their own Sawppy adventures, roughly in the order of when I learned about their efforts. Sometimes I learn about their ambitions before they got started, sometimes I learn about it only after their rover had been completed. Given this, it is likely there are other Sawppy builders out there I don't know about at all! But that's fine, I just love the fact there are more Sawppy rovers running around.

    I used to list a few Sawppy builders in my main project description page, but the list has grown too long to fit in that space. I'm going to track Sawppy builds on this project log entry, editing it as I go to add more rovers as they come online. I don't know if there'll ever be a day when even this is too unwieldy to track all the Sawppy builds out there... but as far as problems go, that's one I would be very happy to have.

    To everyone who decided my project was worth your own time and money and effort to build: Thank you.

    Roger


    Daniel Perron

    Daniel was one of the first to jump in and start exploring the information I had released. Daniel also helped spread the word of Sawppy via comments on various web page comments about JPL's Open Source Rover, and for that I'm grateful.

    I designed Sawppy to use Misumi aluminum extrusions because I saw Misumi had distributors worldwide. Unfortunately my hope of easy availability turned out to be wrong in Canada. But makers are problem solvers! Daniel redesigned his Sawppy to use wooden beams instead.


    Quinn Morley

    Quinn is a person who thinks big. Quinn has been working to scale up Sawppy's design, making modifications as needed, for a much larger rover. This picture shows one of his big wheels next to a standard sized Sawppy wheel. This rover will be a mobile testbed for his project developing deep ice drilling techniques.


    Bob Krause, Inventor Studios

    Bob leads a FIRST Robotics team and they have their own version of Sawppy's CAD file filled with their improvements for a better fit with what they want their rover to do. They can't use their rover in an actual FIRST competition because I didn't design Sawppy around competition rules. However, the team members are thinking about using Sawppy's construction technique for their future projects. All of this makes me extremely happy.


    Chris Dakin

    Sawppy has a sibling in the UK! During Sawppy's evolution I had to adjust various pieces and occasionally aluminum extrusion lengths. This resulted in some recuts and some unnecessary (in hindsight) waste. When I documented their final dimensions, I thought it was possible someone could cut all the required pieces out of two extrusion beams at the 2 meter standard length sold by Misumi. Thanks to the build log for Chris' Sawppy, I saw this hypothesis has been proven.


    Marco Walther

    Marco has lots of robot building experience and wanted to add a Sawppy to his robot army. I received many helpful pieces of feedback about my posted instructions for Sawppy, pointing out where I could...

    Read more »

View all 43 project logs

  • 1
    New Home for Sawppy Build Instructions

    After a loss of data event for instructions posted to hackaday.io, Sawppy the Rover's build instructions are now hosted on Github.

View all instructions

Enjoy this project?

Share

Discussions

lmckeega wrote 02/14/2019 at 23:31 point

Hi Roger,

I am also a beginner to robotics and the Raspberry Pi. I would like to build a Sawppy Rover and have started some of the printing and purchasing. I don't have a problem with any of the printing or construction, but would like a little more information on how the electronics are configured. Could you include a list of the electronics boards/components that are required? I am a programmer, so feel that I can figure out the programming, but it is unclear what parts I need.

Thank you.

  Are you sure? yes | no

Roger wrote 02/25/2019 at 06:34 point

Sorry I didn't see your question earlier. Judging by your follow-up question, you've figured it out but I'll post an answer for future readers: The minimum electronics components for a bare-bones Sawppy has [10 * LewanSoul LX-16A] wired in parallel with each other and to [1 * LewanSoul "BusLinker" a.k.a. "Debug Board"] to translate generic USB serial to servo half-duplex serial. That translator board is connected to [1 * Raspberry Pi] via USB.

  Are you sure? yes | no

jsa2010 wrote 02/25/2019 at 18:18 point

Thanks Roger this is exactly what I needed, perfect timing! I’m building Sawppy with my kids, and this was the only bit that I wasn’t quite sure of. We still have lots of printing and building ahead of us before we even get there. Thanks for an awesome project! The $ difference between JPL OSR and Sawppy is enabling our 3 kids (elementary, middle, and high schooler) to build and program this at home and really get excited about STEM, robotics and exploration. Thanks again!!

  Are you sure? yes | no

Roger wrote 03/13/2019 at 06:23 point

I've also just posted a schematic for everyone to reference.

  Are you sure? yes | no

aanandbajaj wrote 02/08/2019 at 23:41 point

Hello Roger,

I'm a beginner to robotics. Do you suggest I start with other smaller projects first before this one? Also, what resources would you recommend to someone who is new to this area?

  Are you sure? yes | no

Roger wrote 02/11/2019 at 21:10 point

While I worked to make Sawppy as easy to build as I could, it is still a robot with a multi link suspension system and moving it requires coordinating ten motors. There are more beginner-friendly robots with just two motors driving wheels with no suspension.

That said, if simple robots are too boring to hold your interest, by all means dig into something challenging enough to motivate you. The "best" robot will be different for everyone. As long as you are learning as you go, because the learning is what matters.

  Are you sure? yes | no

Bob wrote 11/29/2018 at 18:16 point

Roger, this is an exceptional project. 

I've been following developments since your first post announcing Sawppy back in May. We ordered the components soon after, though didn’t start printing the parts from the public OnShape design until about a month or so ago. The printing and assembly processes were very straight-forward with only a few mild surprises.

The aspect of this project that caught our attention is how we’ve been able to bring into our lab off the shelf raw materials like uncut lengths of extruded aluminum beams, nuts and bolts from McMaster-Carr, FDM filament, and very straight-forward drivetrain components and control systems to construct a functional bot of this scale.

I'm a life-long techie. We've taught 3D design classes and camps in East Bay schools, and been working in our garage-based 3D design lab for about 5 years. And yet, we've learned so many tips, tricks, geometries, and processes from this project.

The community that's developed around our lab is composed primarily of teenagers who design and race drones, hack scooter and skateboards, and design useful objects that they sell on eBay to earn what they need for the 5 to 10 projects they have going on at any given time. Many of these kids are also involved with FIRST robotics competitions, FTC and FRC. So when they saw the Sawppy rover come together, they didn't see a Curiosity model as much as a set of design toolkit on which to base their next generation competitive robots.

So... We've begun evolving a copy of the OnShape Sawppy design document. So far, all the changes we've made in our version is backward compatible with yours. Our focus at this point is to increase the configurability of the design, as you can see in the list of changes we’ve made so far that’s included below. 

* Wheel width can be changed
 - Wheel width changeable
 - Steerable knuckle width varies with wheel width
 - Fixed knuckle width varies with wheel width
* Wheel rim and tire can be printed as separate parts of a dual-extrusion printer job
* Beam width & height can be changed
 - All 3D printed components that accept beams varies based on beam dimensions
* LX-16A brackets now accept heat-sets so that servos are held more tightly

* The geometry of the LX-16A bracket changed. 
 - The orientation of the servo is rotated 180 degrees to fit narrow knuckles and narrow tires.

The area we’re focusing on next is support for drive-train and control systems that will move the bot much (much) faster than the LX-16A servos currently allow. The first step in that direction is to design in FTC-compatible (First Technical Challenge) components, which we have an almost endless supply of parts laying around the lab. Driving a bogie suspended robot around on rough terrian at high speeds will likely require adding shock dampeners to the suspension. 

Our longer-term aspiration is to create a more flexible robot design tool that allows designers to create robots with different dimensions, drive-trains, suspensions, control systems, and accessories.

We’ve made our copy of the OnShape document public. It’s named SawppyRover.neobobkrause. You can link to it here… https://cad.onshape.com/documents/aaa3eec885d174f48744d770/w/a9ccb2ae8a9fa3bfab65a3f5/e/02e39956ce53a7a4a720a4aa

We would like all changes made to your design to be shared and merged so that there continues to be a single design used by all, if you're open to that.

Roger, thanks once again for all the work you put into this design and for documenting the design and releasing it to the community. It’s awesome.

- Bob Krause

Inventor Studios

Berkeley, CA

  Are you sure? yes | no

Roger wrote 11/29/2018 at 19:46 point

Wow, Bob, this is fantastic! I love the changes made to make Sawppy parameters more configurable. I'm open to the idea of having one integrated CAD file, but I just spent 15 minutes on Onshape documentation & forums and failed to find a way to merge changes made in a copy back to the master. (A "pull request" in Git parlance.) I'd love pointers to documentation to do so if you know of any.

In the meantime, I'll add links to your variant's Onshape CAD file. Have you guys documented your project on hackaday.io or elsewhere? I could add links to that, too.

I was just in the SF Bay area last week, I should have stopped by Inventor Studios. Oh well, maybe another time.

  Are you sure? yes | no

Bob wrote 11/29/2018 at 20:05 point

OnShape is a useful tool, though it's still just a shadow of its big brother Solidworks. OnShape has the capability to merge forked versions within a single document, though not across two documents, even if one document started out as a copy of the other. 

The good news is that I made a copy of your original document on 10/2/18. It appears that you haven't modified your version since 9/17/18. So if you're comfortable with the changes we've made, we could just use our version as the master version going forward.

From this point on, you could make a copy of my document that you would own, then control edit permissions for designers who you approve (like us). Then you and I and any other approved designers will make changes to this single document. The checkin process each team would go through would involve merging its changes with any other changes that have been checked in.

Thoughts?

  Are you sure? yes | no

Bob wrote 11/29/2018 at 20:43 point

Here are some shots of some wheels and knuckles we've printed that are narrower (65mm). One wheel has a TPU tire on a PLA rim. The other rim was printed using transparent PETG. The third photo shows the narrow fixed knuckle from the inside. Also note that the orientation of the servo has been rotated 180 degrees.

(Can images be added in comments?)

https://www.dropbox.com/s/u8qaj90vdefdtd8/IMG_5790.jpg?dl=0

https://www.dropbox.com/s/w68ovzi40b3lyi3/IMG_5789.jpg?dl=0

https://www.dropbox.com/s/r89cadrrx283x9m/IMG_5787.jpg?dl=0

  Are you sure? yes | no

Bob wrote 10/09/2018 at 14:44 point

Is there any firmware for the rover? Even an incomplete codebase would be valuable and allow builders to evolve the code forward.

  Are you sure? yes | no

Roger wrote 10/10/2018 at 00:55 point

I'm working towards making Sawppy work with the open source Robot Operating System. As an interim solution, my rover is running the code I wrote for SGVHAK Rover but configured to send commands to Sawppy's LewanSoul serial bus servos. 

https://github.com/Roger-random/SGVHAK_Rover/blob/development/config_sawppy.json

  Are you sure? yes | no

Bob wrote 10/10/2018 at 01:15 point

Roger that. ;-) 

I'm still printing. And given everything else on our plates, may be for awhile. We'll first print your reference design and get it running with the LewanSoul servos. But we're really here to explore how a modified rover architecture would handle itself in the FIRST Robotics ring. Yes, that would involve looking at rigidity, drive train, firmware, scalability, configurability, durability, stability, and 5 other flavors of 'ability. But have you seen Erector Set pieces and decade-old electronics most commonly used on FTC bots?

Thanks for putting your design out for all to explore. You've done a terrific job. It's exciting to have the OnShape geometry available to configure. As somebody coming at this as a 3D'er, we really like it when we have full control of the geometry to configure based on our needs.

  Are you sure? yes | no

Quinn Morley wrote 09/15/2018 at 15:42 point

Roger, how much scale-ability do you think there is to be had by merely changing the length of the aluminum extrusion and changing the wheel diameter? I want to create one approximately the same size as Curiosity to use as a testbed. 

  Are you sure? yes | no

Roger wrote 09/17/2018 at 20:06 point

Sawppy is approximately 1/4 scale of Curiosity. When scaling up, the first limitation will be the servo motors I used. I tried them with a 1/3 scale wheel and they struggled to climb modest obstacles, so an actual-size rover will need more powerful motors. I haven't experimented beyond 1/3 scale so I don't know for sure what else will be problematic, but here are my guesses: 

(1) 15mm extrusion beams start twisting along their axis. Possible solution: use larger extrusion beam profiles like 60mm or alternate structural members.

(2) 3D printed connectors deform under load. Possible solution: print with very rigid materials like carbon fiber infused nylon.

(3) 8mm steel drive and steering shafts start bending. Possible solution: larger diameter shafts and corresponding larger bearings.

Personally my 1/4 scale rover already takes up too much space at home and barely fits in my car's seat for transport. I admire your goal of going full size, that's huge! (I mean that both as a compliment and literally.) Whether you end up using my Sawppy design or not, please document your project online. I'd love to watch as it progresses.

  Are you sure? yes | no

Quinn Morley wrote 09/18/2018 at 07:29 point

Great answer. I'll think about the wheels and wheel motors. Your plastic parts may work if we scale them up for 60mm extrusion, they should have a much higher stiffness. Different motors, shaft diameters etc would be the biggest obstacle. I'll post the project when I get started. I really appreciate your feedback and love your design! Thanks again.

  Are you sure? yes | no

Dongwon Lee wrote 09/14/2018 at 06:09 point

Hello. Thank you for nice 3D modeling of Mars Rover. I started to print out each parts. I'm considering electric configuration. First of all is power. How much power will be need per 1 servo?. I will use 5200mAh 2S 30C battery..  the other thing is motor/control balance. 10 servo+ 1 controller  or 5 servo + 1 controller at each left/right side .. which one is better?

  Are you sure? yes | no

Roger wrote 09/17/2018 at 19:38 point

Your battery will be more than adaquate. The LewanSoul LX-16A servo I used drew a little over 1A when stalled at maximum effort. In the worst case (and hopefully very unlikely) scenario with all ten servos stalled, that's over 10A. Let's say 15A to be conservative. A 5200mAh 30C battery can withstand peak draw of 5.2A * 30 = 156A, so your battery can provide peak power over ten times what's needed.

  Are you sure? yes | no

Roger wrote 09/17/2018 at 19:42 point

All the motor control power management circuit is built in to the LewanSoul LX-16A servo so each motor has their own controller. The LewanSoul "debug board" controller is primarily a serial communications translator so a single one will be fine for the entire servo network.

  Are you sure? yes | no

todbot wrote 07/09/2018 at 22:15 point

Hi Roger,  it was great chatting with you at the SGVHAK BBQ. We talked a bit about traction add-ons for Sawppy's wheels.  I'm sure you've already considered this, but I've always admired the O-rings on the original Big Trak as a cheap & repairable solution. I found these 4" diameter ones on McMaster that are 50 for $12. https://www.mcmaster.com/#9452k192/=1dn5rr1

  Are you sure? yes | no

Roger wrote 07/12/2018 at 23:56 point

That's a nice and inexpensive venue to explore. I'll start brainstorming what kind of rover wheel I could build with these rings. Thanks for the pointer!

  Are you sure? yes | no

Daniel Perron wrote 06/05/2018 at 11:23 point

I love what you did and  I start to made my own  with my 3D printer. All the wheel are done using PETG and I'm doing the  boogie wheel right now. I'm missing the aluminium extrusion dimension but I will use wood stick cut from my bench saw instead.  I still missing a lot of 3D printer parts so I suppose that the dimension will show itself when I put all pieces together.  I did create a python3 class object for the LX16A.  I will refine that class to add the missing catch exception handler.  https://github.com/danjperron/LX16A    

  Are you sure? yes | no

Roger wrote 06/05/2018 at 17:20 point

Thanks for letting me know you're building one. It's very encouraging to hear! As you've noticed it's still a work in progress with incomplete information, but I'm happy to expedite filling in information holes on request. Since you would like aluminum extrusion dimensions, I've filled in the "Components" section with extrusion beams and their lengths. Let me know if you need anything else.

  Are you sure? yes | no

Daniel Perron wrote 06/16/2018 at 02:34 point

I start to learn little by little onshape.  I did change your servo coupler. I'm using 12mm M3 flat head hex screw and I change the length of  the servo coupler  to 8mm instead of 10mm. This way I could use the 12mm screw to attach the  coupler  with the provided adapter to the LX16A motor.  https://imgur.com/a/rRuu83O. I also grind a part of the wheel to be able to  tight the lock screw of the wheel using allen key.

  Are you sure? yes | no

Roger wrote 06/17/2018 at 19:10 point

Great work! Have you considered creating a Hackaday.io page for your Sawppy build? I'd love to see you detail your modifications. Why you made them, and how well they worked. Together we will keep improving the design in the spirit of open source!

  Are you sure? yes | no

terence.d.healy wrote 05/17/2018 at 15:18 point

Excellent rover and very nice work.  I'm very interested to hear how you are using the servo motors rather than gear motors with encoders. Can you tell us about the software a bit? Do you use ROS - if so, what computing hardware? 

  Are you sure? yes | no

Roger wrote 05/17/2018 at 16:29 point

I do have ambition to put ROS on Sawppy and give it some autonomy, but for now I'm still working on the chassis hardware. At the moment Sawppy's brain is a bare-bones piece of software that allows simple tele-operation and runs on a Raspberry Pi. (Translation: right now it's just a very expensive remote control car.) Code is up on Github, search for "SGVHAK Rover"

  Are you sure? yes | no

John Whitten wrote 05/16/2018 at 19:21 point

Awesome. I am both intrigued and jealous. I applaud your good efforts and eagerly await your next developments. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates