ROS – ros_dcdc_usb

Table of contents

The “ros_dcdc_usb” package is used to interface the Mini-box DCDC-USB Intelligent buck-boost DC-DC converter with the ROS environment retrieving information about Input and Output power and integrating it to the ROS “diagnostic” system.

The DCDC-USB is used to generate the 12V stabilized input power for Nvidia Jetson TK1 and Nvidia Jetson TX1, starting from the filtered battery input power coming from the Power Distribution Board.

Source code

Installation

The installation of the package is straightforward:

  1. Goto ROS workspace directory:
    $ cd ~/catkin_ws/src
  2. Clone the repository:
    $ git clone https://github.com/Myzhar/ros_dcdc_usb
  3. Back to the main directory of the workspace:
    $ cd ~/catkin_ws
  4.  Compile:
    $ catkin_make

Usage

Edit the file “launch/dcdc_usb.launch” to adapt the parameters to the features of the system:

<launch>
  <node pkg="ros_dcdc_usb" type="dcdc_usb_node" name="dcdc_usb_node" output="screen">      
     <!-- Critical low battery level (V) [Default 12.3 - 4S Lithium battery] -->
     <param name="criticalLowInput" value="12.3"/>
     
     <!-- Warning low battery level (V) [Default 12.8 - 4S Lithium battery] -->
     <param name="warningLowInput" value="12.8"/>

     <!-- Output level (V) [Default 10%] -->
     <param name="output" value="12.0"/>
 
     <!-- Output tollerance (V) [Default 0.3] -->
     <param name="outputToll" value="0.3"/>
   </node>   
</launch>

The node is fully compatible with the package “diagnostic” that allows to MyzharBot to inform the ROS “world” about the status of the power of its “brain” verifying that input levels are over a warning value and a critical value and that output power is correct according to a tollerance value.

The node publishes also a “status message” containing information according to “msg/DCDCStatus.msg”:

Header header

# DCDC-USB connected
bool ready

# Input voltage
float64 input_voltage

# Output voltage
float64 output_voltage

The node can be run simply with the following command:

$ roslaunch ros_dcdc_usb dcdc_usb.launch

Comments are closed.