Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/samyarsadat/ros-robot

My R.O.S. (Robot Operating System) Robot project.
https://github.com/samyarsadat/ros-robot

altium micro-ros micro-ros-pico microros pico raspberry-pi raspberry-pi-pico robotics ros ros2 solidworks ubuntu

Last synced: 2 months ago
JSON representation

My R.O.S. (Robot Operating System) Robot project.

Awesome Lists containing this project

README

        

The ROS Robot Project











|

|




----
> [!NOTE]
> This project is still under development!




This is a 3D render of the CAD designs.


## Overview

### Stages
***This project will be completed in stages.***

*The project is currently at stage 1.*



#### Stage 1 (Humble Beginnings / Follow Me)
The robot will follow an object with image processing and a Raspberry Pi camera.


#### Stage 2 (S.L.A.M. It Shut)
A LIDAR sensor will be added.

The robot will be able to map and navigate its environment.


#### Stage 3 (Samyarm 1)
A robotic arm will be added for object manipulation.


#### Stage 4 (Back To The Shipyard)
After stage 3 is completed, I plan to re-design some parts of the robot chassis and PCB.

This will improve upon the current design and allow for future stages and expansions.

Most of the wiring and general design will be kept the same.

This will only improve upon the current design.


#### Future stages
More stages may be added as the project progresses.


### System Architecture and Mechanical Design Overview
#### System Architecture
The general architecture of the robot's electronics system consists of a main computer *(the Raspberry Pi 4B)* and two,
less powerful microcontrollers *(the Raspberry Pi Pico/RP2040)*.
The Pi 4 handles image processing, mapping & navigation, and any other type of resource-intensive processing
whilst the less-powerful Picos handle I/O for motors, sensors, LEDs, etc.



ROS is used to handle communications between multiple nodes either on the same machine (i.e. a mapping node and a navigation node running on the Pi 4)
or between external nodes (i.e. the two Raspberry Pi Picos running microROS).
Both Raspberry Pi Picos are connected to the Pi 4 via USB cables.



More details regarding the electronics design [here](Circuit%20Diagrams%20%26%20PCB%20Files/).


#### Mechanical Design Overview
The mechanical design of the robot is quite simple.
The chassis of the robot is 3D printed in two halves using PLA filament (more details regarding 3D printing
[here](CAD%20Files/STL%20files/)) and the robot uses four geared DC motors
(Namiki 22CL-3501PG) in a differential drive configuration.


## File Structure
There are 5 folders in this repository.

Their names and purposes are as follows:

**.github**

GitHub issue templates, pull request templates, etc.

**Assets**

Assets used on GitHub (such as images used in this README file).

**CAD Files**

3D CAD design files and 3D printing files for the chassis and other mechanical parts of the robot.

**Circuit Diagrams & PCB Files**

Overall circuit diagrams and PCB design files for the robot.

**Source Code**

Source code for the ROS package of the robot and for the firmware of the Raspberry Pi Picos.


## Contact
You can contact me via e-mail.

E-mail: [email protected]



If you think that you have found a bug or issue please report it here.


## Contributing
Please take a look at CONTRIBUTING.md for contributing.


## Credits
| Role | Name |
| -------------- | ---------------------------------------------------------------- |
| Lead Developer | Samyar Sadat Akhavi |
| CAD Design | Samyar Sadat Akhavi |
| PCB Design | Samyar Sadat Akhavi |




Copyright © 2022-2024 Samyar Sadat Akhavi.