diff --git a/CODE.md b/CODE.md index 43bd97d..dc2f24e 100644 --- a/CODE.md +++ b/CODE.md @@ -4,4 +4,23 @@ title: Code nav_order: 3 --- -We are working on preparing this. Please come back soon! \ No newline at end of file + +

Dependencies

+ +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. + +

Software Framework

+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. + +

Bash Scripts

+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. diff --git a/SCHEMATICS.md b/SCHEMATICS.md index cdd833e..966db07 100644 --- a/SCHEMATICS.md +++ b/SCHEMATICS.md @@ -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. +
+

Battery Modules

+
+
+
+ Battery Module Schematic +
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. +
+
+
-We are working on preparing this. Please come back soon! \ No newline at end of file +

Hub Electronics

+
+
+ Hub Electronics Diagram +
The hub consists of electronic components for sensing the states of battery modules and circuitry for recharging the 3x battery modules. +
+
+
+ + +

Rover Electronics

+
+
+ Rover Electronics Diagram +
A simplified block diagram of Rover's electronics. +
+
+
diff --git a/media/battery_module.png b/media/battery_module.png new file mode 100644 index 0000000..aae0e35 Binary files /dev/null and b/media/battery_module.png differ diff --git a/media/battery_module_schematic.png b/media/battery_module_schematic.png new file mode 100644 index 0000000..f6767dd Binary files /dev/null and b/media/battery_module_schematic.png differ diff --git a/media/connector_pcb.png b/media/connector_pcb.png new file mode 100644 index 0000000..8a47115 Binary files /dev/null and b/media/connector_pcb.png differ diff --git a/media/hub_system_diagram.png b/media/hub_system_diagram.png new file mode 100644 index 0000000..2e8d5d6 Binary files /dev/null and b/media/hub_system_diagram.png differ diff --git a/media/rover_electronics.png b/media/rover_electronics.png new file mode 100644 index 0000000..d9f8884 Binary files /dev/null and b/media/rover_electronics.png differ