QRB ROS BATTERY
Overview
qrb_ros_battery
is a package to publish the battery state data from system node.
qrb_battery_client
, which is a dynamic library, is based on dbus framework for helping developers to
connect with server to get the battery data.
Battery data can help developers assess the current battery status and determine if it needs to be recharged at a charging station in a timely manner.
This package leverages type adaption and intra process communication to optimize message formats and dramatically accelerate the communication between participating nodes.
QuickStart
Setup Docker on device: Docker Setup.
Download source code
cd ${QRB_ROS_WS}/src git clone https://github.com/qualcomm-qrb-ros/qrb_ros_battery.git
Build packages
colcon build
Run
cd ${QRB_ROS_WS}/src source install/local_setup.sh ros2 run qrb_ros_battery battery_node
Setup QCLINUX SDK environments: Reference Getting Started - Environment Setup
Create workspace in QCLINUX SDK environment and clone source code
mkdir -p <qirp_decompressed_workspace>/qirp-sdk/ros_ws cd <qirp_decompressed_workspace>/qirp-sdk/ros_ws git clone https://github.com/qualcomm-qrb-ros/qrb_ros_battery.git
Build source code with QCLINUX SDK
export AMENT_PREFIX_PATH="${OECORE_NATIVE_SYSROOT}/usr:${OECORE_TARGET_SYSROOT}/usr" export PYTHONPATH=${OECORE_NATIVE_SYSROOT}/usr/lib/python3.12/site-packages/:${OECORE_TARGET_SYSROOT}/usr/lib/python3.12/site-packages/ colcon build --continue-on-error --cmake-args \ -DCMAKE_TOOLCHAIN_FILE=${OE_CMAKE_TOOLCHAIN_FILE} \ -DPYTHON_EXECUTABLE=${OECORE_NATIVE_SYSROOT}/usr/bin/python3 \ -DPython3_NumPy_INCLUDE_DIR=${OECORE_NATIVE_SYSROOT}/usr/lib/python3.12/site-packages/numpy/core/include \ -DCMAKE_MAKE_PROGRAM=/usr/bin/make \ -DBUILD_TESTING=OFF
Install ROS package to device
cd <qirp_decompressed_workspace>/qirp-sdk/ros_ws/install/qrb_ros_battery tar -czvf qrb_ros_battery.tar.gz include lib share scp qrb_ros_battery.tar.gz root@[ip-addr]:/home/ cd <qirp_decompressed_workspace>/qirp-sdk/ros_ws/install/qrb_battery_client tar -czvf qrb_battery_client.tar.gz include lib share scp qrb_battery_client.tar.gz root@[ip-addr]:/home/ ssh root@[ip-addr] (ssh) mount -o remount rw / (ssh) tar --no-overwrite-dir --no-same-owner -zxf /home/qrb_ros_battery.tar.gz -C /usr/ (ssh) tar --no-overwrite-dir --no-same-owner -zxf /home/qrb_battery_client.tar.gz -C /usr/
Run
(ssh) export HOME=/home (ssh) setenforce 0 (ssh) source /usr/bin/ros_setup.sh && source /usr/share/qirp-setup.sh (ssh) ros2 run qrb_ros_battery battery_node
Packages
Supported platforms
This package is designed and tested to be compatible with ROS 2 Humble running on Qualcomm RB3 gen2.
Hardware |
Software |
---|---|
LE.QCROBOTICS.1.0 |
Updates
Date |
Changes |
---|---|
2025-3-11 |
Initial release |