Code Monkey home page Code Monkey logo

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

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 mw46d avatar roger-random avatar techmav75 avatar

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.