Skip to content

portlandrobotics/common_platform

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Portland Area Robotics Society -- Common Robotics Platform

Build and master the Common Robotics Platform with Portland Area Robotics Society
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project


Romi Chassis


Our project centers around the innovative construction and programming of a versatile robot using the robust Pololu Romi Chassis Kit as its foundation. At the heart of our design is a custom carrier PCB, which integrates seamlessly with the chassis, ensuring a compact and efficient layout.


Logo

Key components of our build include two TB9051FTG Single Brushed DC Motor Driver Carriers for precise motion control, and a Pololu 5V, 2.5A Step-Down Voltage Regulator D24V22F5 to ensure stable power supply. Navigation and orientation are handled by the sophisticated MPU-9250 9DOF Module, a nine-axis sensor that offers unparalleled accuracy in movement tracking. Additional hardware includes a set of Romi Encoders, a Romi Chassis Caster for stable maneuverability, and a powerful Teensy 4.0 microcontroller for robust processing capabilities. We've also incorporated an SPDT slide switch and two IRFU5505PBF transistors, supported by a suite of nine resistors of varying values to fine-tune our circuitry.


Romi Chassis


Looking towards the future, our vision is to enhance this platform by integrating a Raspberry Pi, aiming to achieve autonomous functionality through the advanced capabilities of ROS2. This robot is not just a machine, but a gateway to exploring the vast possibilities of robotics, making it an ideal platform for enthusiasts and innovators alike in the Portland Area Robotics Society.

(back to top)

Built With

  • CPP
  • C
  • Python 3
  • PlatformIO
  • Arduino
  • KiCadEDA
  • ROS

(back to top)

Getting Started

Prerequisites

  • All the required parts from the BOM on hand. BOM
  • Windows/Mac/Linux PC
  • Soldering supplies

Installation

Welcome to the setup guide for the PARTS Common Robotics Platform. Follow these steps to prepare your hardware and software for an exciting journey into robotics!

1. Solder Your PARTS CRP Board

Soldering the PARTS CRP board is the first crucial step. Follow the instructions carefully to ensure a successful setup.

  • Interactive BOM: Utilize the Interactive BOM for an easier soldering process.
  • Headers for Connectivity: We recommend using headers for connections between boards. This makes disassembly possible if needed.
    • Use female (socket) headers on the bottom board.
    • Use male (pin) headers on the top board. These are typically included with all breakout boards.
  • MOSFET Orientation: Ensure the correct orientation of the MOSFETs during soldering.
  • Resistor for Battery Voltage Divider: Choose the resistor based on your battery choice:
    • Use a 2M ohm resistor (R1) for 6 AA batteries.
    • Opt for a 3M ohm resistor if using higher voltage batteries like 2 LiPo batteries.
    • Install a >100 pf capacitor across R2 to address voltage drop issues.
  • Teensy Board Modification: For battery power, cut the trace on the Teensy board. Refer to the note "Cut to separate VIN from VUSB" on the Teensy 4.0 Back Side image.
  • Resistor Values: The values of R4, R5, R8, R9 depend on your specific usage. For I2C, 4.7k is appropriate.
  • Schematic: Refer to the Main Schematic for detailed understanding.

2. Solder Accessories

Solder accessories like the Inertial Measurement Unit (IMU), ensuring proper orientation and connection.

3. Assemble the Pololu Romi Chassis

The Pololu Romi Chassis forms the physical structure of your robot.

4. Install Arduino IDE

The Arduino Integrated Development Environment (IDE) is essential for programming your robot.

  • Download and install the Arduino IDE suitable for your operating system.

5. Clone PARTS CRP Repository

Get the latest codebase for the PARTS CRP project by cloning the repository.

For detailed instructions, please refer to the Documentation

(back to top)

Usage

This section provides practical examples of how to use the PARTS Common Robotics Platform effectively. We'll start with a basic test to ensure your setup is functioning correctly.

Starting with the Basic Test

  1. Flash the Teensy 4.0 Board: Begin by flashing the Teensy 4.0 board with the basic test code found in the repository at /firmware/basic_test/basic_test.ino. This initial test is crucial for validating your setup.

  2. Expected Behavior: Upon successful flashing, the robot should exhibit a simple behavior pattern: moving forward, pausing, and then moving backward.

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • Build hardware library for common robotics platform
  • Build manual for open robotics platform
    • SBC
    • Microcontroller
    • Software
    • Power
    • Motion
    • Communication
    • Sensors and cameras
    • Soldering
    • PCB design and ordering
  • Create 3D model of platform for Gazebo and other sims
  • ROS2 Setup
    • micro-ROS + ROS2 Humble
    • control
    • commuication
    • navigation
    • avoidance
  • Demo of system

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License and the Solderpad Hardware License v2.1. See LICENSE.txt for more information.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •