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:
- Goto ROS workspace directory:
$ cd ~/catkin_ws/src
- Clone the repository:
$ git clone https://github.com/Myzhar/ros_dcdc_usb
- Back to the main directory of the workspace:
$ cd ~/catkin_ws
- 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