https://github.com/nasa-jpl/open-source-rover Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Customer Stories + White papers, Ebooks, Webinars + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} nasa-jpl / open-source-rover Public * Notifications * Fork 1.2k * Star 7.5k A build-it-yourself, 6-wheel rover based on the rovers on Mars! opensourcerover.jpl.nasa.gov License Apache-2.0 license 7.5k stars 1.2k forks Activity Star Notifications * Code * Issues 37 * Pull requests 0 * Discussions * Actions * Projects 2 * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights nasa-jpl/open-source-rover This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 2 branches 4 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/n] Use Git or checkout with SVN using the web URL. [gh repo clone nasa-j] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @Achllle Achllle Merge pull request #411 from nasa-jpl/fix/regulator-links ... 318253c Sep 21, 2023 Merge pull request #411 from nasa-jpl/fix/regulator-links Fixed links to 12/5V regulators 318253c Git stats * 839 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github typo May 6, 2023 21:51 electrical Move pcb readme to pcb folder, add instructions for configuring roboc... August 30, 2023 21:24 examples Major cleanup/overhaul July 10, 2023 23:55 images Add link to youtube video showing OSRv2 roving around September 12, 2023 13:27 mechanical Add image with cabling result for rocker-bogie July 30, 2023 17:34 parts_list Generated by GitHub Actions (Parse parts lists / generate_md) September 18, 2023 21:46 .gitignore Build site with MkDocs April 4, 2023 14:16 DISCLAIMER.txt Add final newline June 16, 2021 08:23 LICENSE.txt Add final newline June 16, 2021 08:23 README.md Update README.md September 15, 2023 19:26 mkdocs.yml Build site with MkDocs April 4, 2023 14:16 requirements.txt Bump pymdown-extensions from 9.2 to 10.0 June 26, 2023 01:26 View code [ ] JPL Open Source Rover Project About the OSR Motivation At a glance Features Join a community of hundreds of builders Maintenance Status Online 3D Model Skills Necessary Tools Necessary Mandatory tools Optional Tools Expected time commitment Getting Started Rover Build Roadmap Ordering parts Parts Lists Additional Projects Disclaimer README.md JPL Open Source Rover Project NOTE: For the previous major version of the OSR, please see v3.1.0. [lit_up_sho] [osr-side-o] [rover] [osr_onshap] The JPL Open Source Rover is an open source, build it yourself, scaled down version of the 6 wheel rover design that JPL uses to explore the surface of Mars. The Open Source Rover is designed entirely out of consumer off the shelf (COTS) parts. This project is intended to be a teaching and learning experience for those who want to get involved in mechanical engineering, software, electronics, robotics but is also an excellent research platform for rugged terrain. No prior skills or knowledge is required. Youtube video of OSR2 in action A gallery of some community builds including previous versions of the rover can be found here. Drive a simulated rover around straight from your browser: opensourcerover.jpl.nasa.gov About the OSR Motivation JPL is always looking to inspire the next generation of scientists, engineers, and roboticists to help us explore and learn about our solar system (and beyond!). We release the plans for this rover as a way to try and give budding enthusiasts a fun robotics project that will help teach them and get them involved in robotics sooner and at a lower cost. At a glance [osr-onshap] The OSR has been around since 2017 and has undergone many iterations. It is a premium and robust robot with a unique look, high customizability, and powerful abilities. The hardware and electronics were designed with expansions like a head display and robot arm in mind. spec value top speed ~1.6m/s (~slow running, subject to motor selection nb motors 10 structural material aluminum total cost ~$1600 (about the cost of a TurtleBot 3 Waffle) [rover] The OSR mostly uses parts from GoBilda for the mechanical assembly. For GoBilda's (international) shipping options, see here. Other open-source, cheaper alternatives exist but are slower, less strong, and are more fragile. See Additional Projects. Features This rover is designed to function similarly to the 6 wheel rover designs on Mars and employs a few of the major driving mechanics that the mars rovers use to traverse rocky surfaces: * Rocker-Bogie: The Rocker-Bogie suspension system allows all 6 wheels to continually be in contact with the ground while climbing over obstacles * Differential Pivot: Allows weight to be mechanically offloaded from one side of the rover to the other while climbing * 6-Wheel Ackerman Steering: Driving and steering/turning mechanism that governs where the wheels point and how fast each of them will move. A Raspberry Pi acts as the "brain" of this rover for its versatility, accessibility, simplicity, and ability to add and upgrade your own modifications. Any method with which you can communicate with a Raspberry Pi (bluetooth, WiFi, USB devices, etc) can be interfaced into the control system of the robot. Join a community of hundreds of builders Considering building one yourself? The best way to ask questions, reach maintainers, learn about modifications, and join the community of Open Source Rover builders is to join our Slack group: [slack_logo] Note: JPL and Caltech have no official affiliation with this forum; it is run by individuals of the general public. On these you can ask questions if you need help or clarification on any aspects of the project. Additionally, you can post and promote any modifications or addons that you have created on this project. We highly encourage additions and modifications to be posted so that this project and community can grow. Maintenance Status As an open-source hardware project, the rover is continuously improving. Please check issues, pull requests, and the Slack forum to see if any big changes are expected soon. Online 3D Model You can view a 3D model of the latest version of the rover in your browser at OnShape. Skills Necessary This project has elements in mechanical assembly/fabrication, uses a host of electrical components, and has software that will run it all. In order to complete this project, you will need to have some experience in the following: * Fabrication/Machining: All parts are Consumer Off-The-Shelf (COTS) parts and no metal machining should be required to complete the 'base' version of the rover. However for any optional expansions, it may be useful to have access to the following skills/tools: + Metal cutting using band saw/dremel + Drilling using drill press/hand drill + Filing and sanding for part cleanup + General Fabrication/Machining Safety * Electronics: This project uses components like motors, motor controllers, and batteries. While prior experience with the following skills is not required, having access to someone who can help will save a lot of time: + Soldering + Electrical debugging + Wiring + Electrical Safety * Software: The rover's brain is a Raspberry Pi. All code can be found in the osr-rover-code repository along with step-by-step instructions to set it up. Basic familiarity with Linux, ROS, Git, and Python will be helpful though. Most of the above are skills that you can learn and pick up fairly quickly from watching videos and doing research on the internet, and throughout the project we try to give supplemental information on some of these as well. See the build documents for more information. Tools Necessary This project assumes you have some standard tools to help assemble the project. If you do not have any of the optional tools, we provide examples of online services that you can use to have the parts fabricated and sent to you. Mandatory tools * Metric hex keys * Pliers * Wire Snips * Wire Strippers * Solder Iron * Solder * Digital Multimeter * Wire strippers, e.g. these Optional Tools * 3D printer * Laser Cutter (for the body plates, online services available) * Benchtop Power Supply (to test without using battery) * Items for operating a Raspberry Pi (Keyboard, mouse, monitor, 5V micro USB power adapter) Expected time commitment In our experience, this project takes no less than 100 person-hours to build, and depending on the familiarity and skill level of those involved could be significantly more. Experienced builders may be able to build this project in this amount of time. However, this project is generally meant to be a teaching and learning tool. Throughout the documentation, we try to give supplemental information for those who might be new to this kind of project. Getting Started Rover Build Roadmap * Stage 1: Order parts. You'll want to get started on this ASAP! * Stage 2: Create the wiring. The cables connect the Printed Circuit Board (PCB) in the body to each motor and integrate into the rocker-bogie and corner assemblies so they need to be built first. * Stage 3: Make the electronics: Soldering the PCB and installing into the rover along with peripheral connections. We'll also use the wiring to test your PCBs. * Stage 4: Make the mechanical assemblies: the body, the two rocker-bogies, the drive and corner motor assemblies. The instructions will guide you through how to do these step by step while integrating the cabling from Stage 2. You'll then attach them into something that will start to look like a rover! * Stage 5: Setting up and configuring the operating system rover code. The Rover Code repo's README files will walk you through all necessary steps for getting the rover software up and running on the Raspberry Pi. These steps can be completed at any point during the project, all the way up to when all the electronics and mechanical parts are completed and you are ready to start driving and controlling the robot. * What's next? Add your own upgrades! We chose Raspberry Pi as the brain of the project so that it should be easy to add, change, and upgrade to build exciting things on top of this already cool robot. Some upgrade ideas to get you brainstorming: sonar for collision detection, IMU for orientation / closed-loop driving / obstacle mapping, camera for object identification and tracking, sensor packages (temperature, pressure, humidity), solar panels, or even a robotic arm! Ordering parts Parts Lists The Parts List Readme contains all the parts necessary to build the entirety of the robot as it is listed in our documentation. You can select higher RPM motors (to drive your rover faster) at the sacrifice of max stall torque. A selection of motors that would integrate easily with the rest of the suggested rover design can be found at GoBilda - 5203 series. The rover design and the software can accommodate different wheel sizes if you find wheels you like better. The body plates that attach to all sides of the body are designed to be made from laser cut acrylic, MDF, hardwood, or similar. The 2D cutout files are the .DXF files in the laser cut parts folder. They were designed to be around 3mm thick (1/8"). You can choose a material and cut them at your local makerspace's laser cutter or order them from an online service like Sculpteo or SendCutSend. Additional Projects Take a look at these alternative Mars rover replicas: * Sawppy Rover * ESA ExoMy Disclaimer Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology. Government sponsorship acknowledged. By downloading, cloning, or otherwise using the contents of this repository, you agree to the terms specified in the attached DISCLAIMER.txt file. About A build-it-yourself, 6-wheel rover based on the rovers on Mars! opensourcerover.jpl.nasa.gov Topics robot robotics mars mars-rover Resources Readme License Apache-2.0 license Activity Stars 7.5k stars Watchers 453 watching Forks 1.2k forks Report repository Releases 4 v2 design (v4.0.0) Latest Sep 14, 2023 + 3 releases Packages 0 No packages published Contributors 31 * @Achllle * @ericjunkins * @ejunkins * @apollokit * @mikcox * @dcschooley * @sethfischer * @github-actions[bot] * @kevincloutier * @xtream1101 * @BaeHenryS + 20 contributors Languages * Prolog 88.9% * AMPL 9.4% * HTML 1.2% * Python 0.5% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.