/brass-energy-monitor

Gazebo energy monitor plugin for BRASS project

Primary LanguagePython

brass-energy-monitor

Gazebo energy monitor plugin for BRASS project

ROS interface

Output

/energy_monitor/energy_level : Float64

  The current energy level, in mwh.

/energy_monitor/voltage : Float64

  The current simulated voltage, determined from the energy level according to
  the empirical data Ivan gathered. The relevant data is in v_data.cc.

/mobile_base/commands/motor_power : kobuki_msgs::MotorPower

  If the power runs out, the OFF message is sent here to turn the robot off.

Input

/energy_monitor/set_charging : Bool

  True if the robot is in charging mode, False otherwise (default: False)

/energy_monitor/set_voltage : Int32

  Set the voltage to a value between [104, 166]. This turns into an energy 
  level (mwh) according to the table in `v_data.cc` which is generated by 
  running `calculate_percent_of_v.py`.

/energy_monitor/set_nuc_utilization : Float64

  Set the NUC utilization percentage to a value between 0.0 and 100.0.

We also subscribe to /sensor/kinect/onoff : String to monitor the Kinect's state, and /gazebo/get_model_state : Twist to monitor the simulated odometry.

Build Instructions

mkdir build
cd build
cmake ../
make

The result will be a file libenergy_monitor.so which needs to be activated by tagging it as a plugin in an appropriate gazebo world/model file.