=====Debug 2D navigation ===== === Measurements === When to do it: for example in case of uncontrolled "recovery behavior" - measure: * make a bag: ''cd bagfiles; rosbag record -a '' - replay the bag : ''rosbag play mybagfile.bag'' - visualize the data: * getting information on a bag: * command line: ''rosbag info mybag.bag '' * in python : see [[http://wiki.ros.org/rosbag/Cookbook#Get_summary_information_about_a_bag| tutorial]] * rosbag API+python: [[http://wiki.ros.org/rosbag/Code%20API|rosbag API]], in [[http://docs.ros.org/api/rosbag/html/python/|python API]] ''# to run in a python terminal \\ import rosbag\\ from std_msgs.msg import Int32, String\\ bag = rosbag.Bag('test.bag', 'r') '' * rqt_bag: ''rqt_bag'' and the "plot" plugin. * rqtplot: ''rqt_plot /odom/twist/twist/angular/z /cmd_vel/angular/z'' * possible causes: * check costmap_common_params: inflation_radius, footprint * check spurious points in laserscan ===Tune === *nav ros+wifibot * plan général: [[image|http://wiki.ros.org/navigation/Tutorials/RobotSetup?action=AttachFile&do=get&target=overview_tf_small.png]] * q: pourquoi je vois pas costmap ? * odom_combined - visual odometry [[http://wiki.ros.org/viso2_ros|viso2_ros]] (il faudra surement ajouter un paquet genre ros-hydro-usb-camera ou ros-hydro-uvs-camera ; quelle diffférence ??) - [[ekf|http://wiki.ros.org/robot_pose_ekf]]; voir aussi [[troubleshoot|http://wiki.ros.org/robot_pose_ekf/Troubleshooting]]; Q: ajouter vision ?? - [[imu|http://wiki.ros.org/imu_drivers#RosAPI]] (e.g. wii) * robot_ekf: * PROBLEME: fitler time older .... =>rostopic echo tf * nav params [[web|http://wiki.ros.org/navigation/Tutorials/RobotSetup]]  - global cost map: pas de map server => static_map=False ( [[web|http://wiki.ros.org/navigation/Tutorials/RobotSetup]]) - base_local_planner_params: diminuer max_vel_x: 0.45,... * move base params [[web|http://wiki.ros.org/move_base?distro=hydro]] - info: [[expected behaviors|http://wiki.ros.org/move_base?distro=hydro#Expected_Robot_Behavior]] -info: implementation: [[class diagrams| https://docs.google.com/drawings/d/1012j70nNhQJ12ol6usWmxOLPiNteOTS1Ai_qbtoObjY/edit?pli=1]] -  recovery behaviors: on peut le disabler avec [[http://wiki.ros.org/move_base#Parameters]] * Autres implémentations: http://code.google.com/p/roswifibot