
Build and master the Common Robotics Platform with Portland Area Robotics Society
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
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.
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.
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.
- All the required parts from the BOM on hand. BOM
- Windows/Mac/Linux PC
- Soldering supplies
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!
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.
Solder accessories like the Inertial Measurement Unit (IMU), ensuring proper orientation and connection.
The Pololu Romi Chassis forms the physical structure of your robot.
- Follow the Romi Chassis Assembly Guide for detailed instructions on assembling the chassis.
The Arduino Integrated Development Environment (IDE) is essential for programming your robot.
- Download and install the Arduino IDE suitable for your operating system.
Get the latest codebase for the PARTS CRP project by cloning the repository.
- Use Git to clone the repository or download it directly from the PARTS CRP GitHub page.
For detailed instructions, please refer to the Documentation
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.
-
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. -
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
- 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).
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License and the Solderpad Hardware License v2.1. See LICENSE.txt for more information.