1. BRASS project的github仓库:
<model name="battery_demo_model"> <pose>0 0 0 0 0 0</pose> <static>false</static> <link name="body"> <battery name="brass_battery"> <voltage>12.592</voltage> </battery> </link> <plugin name="battery" filename="libbattery_discharge.so"> <ros_node>battery_monitor_client</ros_node> <link_name>body</link_name> <battery_name>linear_battery</battery_name> <constant_coef>12.694</constant_coef> <linear_coef>-3.1424</linear_coef> <initial_charge>1.1665</initial_charge> <capacity>1.2009</capacity> <resistance>0.061523</resistance> <smooth_current_tau>1.9499</smooth_current_tau> <charge_rate>0.2</charge_rate> </plugin> <plugin name="consumer" filename="libbattery_consumer.so"> <link_name>body</link_name> <battery_name>linear_battery</battery_name> <power_load>6.6</power_load> </plugin> </model>
2. 一个电池plugin示例:
代码仓库:
https://bitbucket.org/ammpedro/cloudsim-ed-actuation/src/default/
会将一个battery msg用rostopic发送出来。
会将一个battery msg用rostopic发送出来。
问题是需要配合代码仓库中的differential torque drive。
3. ros-kinetic分支上的pr2-simulator里的ros-gazebo-plugin中有能源管理节点,可以模拟电池电量,具体链接:
代码:
亲测可以将能源管理的节点插件单独编译并使用,经观察,电量的减少基本只和时间的流逝有关。可以做电池使用时间的标定测试,以确定插件的参数。