Skip to content

Commit

Permalink
adding software details to website
Browse files Browse the repository at this point in the history
  • Loading branch information
benonivainqueur committed Oct 12, 2023
1 parent d17d713 commit cb1d3d5
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 2 deletions.
21 changes: 20 additions & 1 deletion CODE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,23 @@ title: Code
nav_order: 3
---

We are working on preparing this. Please come back soon!

<h2> Dependencies </h2>

There are several libraries being used in the software stack such as OpenCV, ROS1, ROS2, Python, C++, and C. Additionally, there are URDF, XML, and JSON files used for configuration.
Since we are using custom PCBS, this required us to flash our own firmware to integrate into our software stack.

<h2>Software Framework </h2>
The entirety of the software stack leveraged using the new packages, and inherently distributed aspects, of ROS2. This included building the communication between the robots using name specs, and ensuring that each individual ROS2 node was able to communicate on the same network. This entailed using namespaces to ensure each individual rover would have a different software identifier, while also standardizing performance through automated bash scripts that would launch, irrespective of the platform.

The platforms our software included were, linux x86 environments for running ROS2 as a base station on your computers, and also on Jetpack, an ARM based version of Ubuntu.

<h2>Bash Scripts</h2>
Using bash scripts, we were able to assign higher level name spaces by carefully providing command-line variables to ROS2 launch file, and were used to launch a series of processes that would handle several other aspects of the software stack.

These bash scripts consisted of:
1. launching the realsense-ros node, which consists of a ROS wrapper necessary to view and utilize data coming from the Intel D435 and T265
2. Pass in custom parameters to optimize performance on the Jetson Nano, such as decimation filters to increase the speed of our depth image, and increases to D435 frames per second to obtain better Aruco tag detection. Furthermore,
3. Building the Realsense SDK from source to include and specify correct optimizations for CUDA and leverage the Jetson Nano’s GPU accelerators.
4. Automate tasks such as sourcing the correct directories, and also installing the correct dependencies necessary, and to even install ROS—if necessary.
5. Group launch several scripts which set up network permissions, opened USB ports for serial communication, created a roscore network, initializing rosserial, and initializing the ros1/ros2 bridge.
30 changes: 29 additions & 1 deletion SCHEMATICS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,33 @@ layout: default
title: Schematics
nav_order: 4
---
This is currently being updated. Here are some introductory schematics with a description of each component.
<div class="title_set">
<h1>Battery Modules</h1>
</div>
<div style="text-align: center;">
<figure>
<img src="./media/battery_module_schematic.png" alt="Battery Module Schematic">
<figcaption>The battery module is the unit that is exchanged between the minibot and hubbot. The battery module consists of a 6S lipo battery, BMS, custom connector PCBs, as well as protection circuitry. The battery module housing is 3D printed and has design elements for proper alignment and exchange. Figure 9 details the system.
</figcaption>
</figure>
</div>

We are working on preparing this. Please come back soon!
<h2>Hub Electronics</h2>
<div style="text-align: center;">
<figure>
<img src="./media/hub_system_electronics.png" alt="Hub Electronics Diagram">
<figcaption>The hub consists of electronic components for sensing the states of battery modules and circuitry for recharging the 3x battery modules.
</figcaption>
</figure>
</div>


<h2>Rover Electronics</h2>
<div style="text-align: center;">
<figure>
<img src="./media/rover_electronics.png" alt="Rover Electronics Diagram">
<figcaption>A simplified block diagram of Rover's electronics.
</figcaption>
</figure>
</div>
Binary file added media/battery_module.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/battery_module_schematic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/connector_pcb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/hub_system_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/rover_electronics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cb1d3d5

Please sign in to comment.