This document provides an overview of the hardware and software components of the Pico2 board project. The documentation includes hardware information, high-level code structure, key filenames, functions, and ROS2 topics.
The Pico2 board is a microcontroller-based system designed for integration with ROS2 for various robotic applications. The key components and sensors connected to the Pico2 board include:
The code running on the Pico2 board is written in C/C++ and is designed to interface with ROS2 for communication and control. Below is a summary of the key components of the code:
uros_pico2_board.c
: The main source file containing the core logic for voltage monitoring, ROS2 integration, and other sensor management.CMakeLists.txt
: The build configuration file used to compile the project and link necessary libraries.Voltage Monitoring:
AX1_voltage
ROS2 topic.ax1_voltage
: ROS2 publisher for the battery voltage.getVoltage()
: Function to read and compute the battery voltage.AX1_voltage
Temperature Monitoring (DHT22):
ax1_temperature
: Planned ROS2 publisher for temperature data.getTemperature()
: Planned function to read temperature from the DHT22 sensor.AX1_temperature
(planned)Cooling System:
Several system-level dependencies are required to compile and run the Pico2 board software. These include development tools, libraries for ROS2, and additional utilities.
Installation via apt
:
sudo apt-get install ros-jazzy-ros-base ros-jazzy-rmw-microros i2c-tools libi2c-dev python3-pip build-essential gcc-arm-none-eabi libnewlib-arm-none-eabi cmake picotool wiringpi
Python libraries were installed to support additional functionality, such as integrating with Adafruit sensors for testing and development.
Installation via pip
:
sudo pip3 install adafruit-circuitpython-adxl34x adafruit-circuitpython-dht
AX1_temperature
ROS2 topic.