Introduction: SAWR Simple Autonomous Wheeled Robot
The goal of the Simple Autonomous Wheeled Robot (SAWR) project is to define a basic "example robot" to demonstrate autonomous navigation using ROS with the Intel® RealSense™ 3D cameras. This robot can also be used as a software development and testing platform and to deliver training material.
The associated git repository contains the core hardware specifications, software, and documentation to enable you to build and run your own SAWR.
A 01.org/sawr site also exists and is for supplemental materials, such as blogs, tutorials, event notifications, and videos. It is intended to provide ongoing support to a community of SAWR users and builders.
The frame of the SAWR is modeled using OpenSCAD and can be replicated easily with a laser cutter and standard hardware (nuts, bolts, spacers, o-rings, etc).
For compute and sensing, for this initial release we have focused on the Intel® RealSense™ Robotic Development Kit which includes an Aaeon UP Board and an Intel® RealSense™ R200 3D camera. The frame can also support a Intel® Joule™ Development Kit and a RealSense™ ZR300 3D camera. However we are still working on testing the SW stack for the second option and writing instructions. Stay tuned! In general, the SAWR is a work in progress and we intend to continue to update it with new technologies and capabilities. Follow this site or "watch" the github repo to be informed of updates.
How to get started? First, you need a robot; then you need to install the software, and then run it.
You can follow theseBuild and Assemblyinstructions to create your SAWR. To configure your robot's software stack, follow the Install andLaunch instructions. In general, you should look at the README on the github site for more detail on the SAWR.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Making a Frame
The SAWR frame, driver and wheel components are laser cut from two Acrylic or POM sheets: one 2mm thick and the second 3mm thick.
Acrylic is perfectly fine and is low-cost, but POM (also known as Acetal, Delrin, or Duracon) is more durable and is recommended for heavy use, such as in a classroom, or if you need to transport the robot frequently. Using Acrylic only for the 2mm sheet but POM for the 3mm sheet is also possible and gives most of the benefit of using POM alone.
If you just want to laser-cut the frame, start with the PDF files below, being careful not to resize them. If you do not have access to the size of sheet specified in these PDF files, you can rearrange the parts using a 2D vector graphics editor such as Inkscape, which is free. In this case, you want to start from the SVG file. If you need to rearrange the file with Adobe Illustrator, however, start from the PDF file, as Adobe Illustrator (annoyingly...) tends to resize SVG on import.
The lines in these files have been colored red and blue. Red lines should be cut first, followed by the blue lines (i.e. following Trotec conventions). Basically, the outline of a part should be cut last so it is only freed from the main sheet once all interior features have been cut. Depending on your laser cutter (i.e. if you have a Universal laser cutter), you may have to modify the colors to get the right cutting order. Depending on the laser cutter model the cut time is between 24 min to 1 hr.
Sheet 1: 2mm Thick
Use one of the following to cut parts from a 2mm sheet of either Acrylic or POM:
Sheet 2: 3mm Thick
If you are using Acrylic, use one of these files to cut a 3mm sheet:
If you are using POM and want a cantilevered suspension, use one of the following files instead for the 3mm sheet:
Step 2: Bill of Materials and Assembly Instructions
In addition to the frame, you will need a number of other parts. Here is a Bill of Materials (BOM), with estimated cost for each, based on prices from the sources cited. The links are for reference only; you may be able to find alternative suppliers with lower costs for these parts.
Select Download from the following web pages:
This information is also stored on the github site.
Please note that All mechanical drawings, 3D assemblies, and electrical schematics presented
in this document are also available in the form of web links to CAD cloud storage. In general, the online versions of these images and models may be more up-to-date than the images in this document, in addition to allowing interaction, such as rotating a 3D model. Therefore, please follow the links provided in any case where a clearer view is needed or to ensure you have the latest version of the figure. You can also use OpenSCAD to look at the model locally.
Fastener specifications and part numbers are provided in the BOM and 2D drawings. Generic hardware part numbers are from the McMaster-Carr catalog. Note however that all fasteners are sized in metric. In many cases equivalent parts can be substituted, so in addition to McMaster-Carr part numbers we also provide (in BOM and drawings) generic specifications of each part so you can find appropriate substitute parts if you would like.
Generally a 10% tolerance is assumed for the thickness of the plates making up the frame and for the sizes of holes. For example, the slots for tabs on 3mm plates are actually 3.3mm wide so plates that are a little thicker than they are supposed to be will still work. The same is true for most bolt holes; an M3 bolt hole is generally 3.2mm in diameter (the threaded part of an M3 bolt is actually slightly less than 3mm in diameter). This allows for both manufacturing variance (eg for plates, which can very in thickness even within a single sheet!) and for the use of Imperial substitutions for bolts. One exception however where an accurate size is needed is for the bearings and the bolt used for the wheel axle. These must be exact as a press fit is used so either get metric bolts and bearings or edit the CAD files and/or PDF files before cutting if you must make substitutions.
Cut sheets and instructions for making a frame are in the Make subdirectory on the sawr_hardware package in the github site..
Here is a drawing of all laser cut components with the names we will be using to refer to them in the assembly notes.
The Tower plate provides the option to mount either the RDK kit (UP board and Intel RealSense R200) or an Intel Joule Development Kit with an Intel RealSense ZR300 camera. It is also possible to combine a Joule with an R200 camera.
Step 3: Software Installation and Launching Robot
The SAWR software stack supports autonomous navigation using simultaneous localization and mapping (SLAM). This means that it is capable of creating a model of its environment (a map) and then figuring out its current location with respect to that map (localization). In addition, "autonomous navigation" means the robot can be given a goal destination in the map, then it can plan a path from its current estimated position to the destination, and then execute the plan. The plan of course will route around known obstacles in the map but during execution the robot will also dynamically avoid obstacles that show up along the way, re-planning as necessary.
Follow these instructions to set up the software stack on your robot.
Once set up, refer to LAUNCH.md for instructions on how to run and use the software stack.
SAWR uses ROS (Robot Operating System, an open-source middleware framework for robotics) but this is not a tutorial on how to use ROS for mobile autonomous robotics. Please see the ROS wiki and also the many excellent books on ROS. Please also visit and follow the SAWR 01.org project page for more discussion, information, and resources for learning about robotics using SAWR.