when pids values cause errors that crash system [closed]
When PID values are changes via rviz dynamic plugin to values that are too large both rviz and gazebo ros plugin crash. The model attemps to jump out of bounds ...but error should be handled more gracefully , yes?
for ros gazebo plugin:
[ INFO] [1379439029.301559081, 1.676000000]: Loaded gazebo_ros_control.
gzclient: /build/buildd/ogre-1.7.4+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.
Aborted (core dumped)
and for rviz move-base
python: /build/buildd/ogre-1.7.4+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252: void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"' failed.
[rqt_gui-1] process has died [pid 7495, exit code -6, cmd /opt/ros/hydro/lib/rqt_gui/rqt_gui __name:=rqt_gui __log:=/home/viki/.ros/log/c890f9ee-1fbe-11e3-807c-28cfe95d78b1/rqt_gui-1.log].
log file: /home/viki/.ros/log/c890f9ee-1fbe-11e3-807c-28cfe95d78b1/rqt_gui-1*.log
move_base: /usr/include/pcl-1.7/pcl/conversions.h:247: void pcl::toPCLPointCloud2(const pcl::PointCloud<PointT>&, pcl::PCLPointCloud2&) [with PointT = base_local_planner::MapGridCostPoint]: Assertion `cloud.points.size () == cloud.width * cloud.height' failed.
[move_base-7] process has died [pid 7590, exit code -6, cmd /opt/ros/hydro/lib/move_base/move_base __name:=move_base __log:=/home/viki/.ros/log/c890f9ee-1fbe-11e3-807c-28cfe95d78b1/move_base-7.log].
log file: /home/viki/.ros/log/c890f9ee-1fbe-11e3-807c-28cfe95d78b1/move_base-7*.log
TrajectoryPlannerROS:
# for details see: <a href="http://www.ros.org/wiki/base_local_planner">http://www.ros.org/wiki/base_local_planner</a>
max_vel_x: 5
max_trans_vel: 5
min_vel_x: 3
min_trans_vel: 3
max_rotational_vel: 1.0 # 0.1 rad/sec = 5.7 degree/sec
min_in_place_rotational_vel: 0.1
acc_lim_th: 2.5
acc_lim_x: 2.5
acc_lim_y: 0
Control yaml
rrbot:
# Publish all joint states -----------------------------------
joint_state_controller:s
type: joint_state_controller/JointStateController
publish_rate: 15
# Position Controllers ---------------------------------------
joint1_position_controller:
type: effort_controllers/JointVelocityController
joint: joint1
pid: {p: 5, i: 5, d: 5}
joint2_position_controller:
type: effort_controllers/JointVelocityController
joint: joint2
pid: {p: 5, i: 5, d: 5}
In urdf:
<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="joint1"/>
<actuator name="motor1">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran2">
<type>transmission_interface/SimpleTransmission</type>
<joint name="joint2"/>
<actuator name="motor2">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
For Gazebo in model.sdf
<plugin name="ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/rrbot</robotNamespace>
<robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
</plugin>
What values are you sending? Can you provide instructions on how to reproduce?
added configuration.....just increase pid to some large number. Was trying to get cmdvel up past unit value of 1 inorder to move.