Skip to content

Mayur62987/Pal-Robotics-PMB2-Testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

pmb2_stopping_dist_test

Summary

The test script automates the stopping distance test on the pmb2 platform

Linear x velocity is tested in a range from 0.1 - 1 m/s stopping distance is measured using the onboard SICK TiM571 lidar

The large corridor is used to measure relative distace to a wall from spawn position SICK TiM571 Specifications:

  • 15 Hz refresh rate
  • accuracy of +-20mm
  • Resolution angle 0.33 deg

The Tester.py script has the following steps:

  • pmb2 is spawned at 0 x,y,z position and orienation
  • Desired test velocity is published to cmd_vel linear x
  • Velocity is meaured from Odometery Twsit topic
  • Once desired velocity is measured, 0 velocity is published to cmd_vel
  • Distance traveled is measured using Odom and Lidar
  • Lidar distance is determined by averaging 7 central range measurements with cos of angle increment
  • Results are published on stop_test_results topic

Logger.py is used to log data to csv file for each run:

  • Logger.py must be run in the stop_dist_test directory
  • Rostime, surface type, velocity before brake, stop distance lidar, stop distance odom and stop time is written to the log file

Analysis.py is run once a log is generated to graph results:

  • path to log may edited with os.chdir("path")
  • data_frame is set with the log file name self.data_frame1 = pd.read_csv("file_name")
  • figures for velocity vs stop time, velocity vs lidar stop distance and velocity vs odom stop distace are generated and saved within the log folder

velocity_vs_stop_distance_lidar velocity_vs_stop_distance_odom velocity_vs_stop_time

Videos :

  • video_with_voice.mp4 has an explination of the testing procedure
  • compressed video.mp4 is a short run of the simulation
compressed_video.mp4

Log :

  • stop_dist_test-30_10_2021_16_43_59.csv contains a filtered run of results
  • graphs output by Analysis.py saved

Future work:

  • Add more surfaces with varying friction
  • Adjust weight on the pmb2 platform
  • determine stopping distance for reverse actions (negative velocity)
  • include angular movements
  • include obstructing elements to block line of sight to the wall

Run procedure:

  • install simulation from http://wiki.ros.org/Robots/PMB-2/Tutorials/Installation/PMB2Simulation
  • clone stop dist_test in pmb2_public_ws/src folder
  • perform catkin build in workspace
  • perform bash source: source ./devel/setup.bash
  • roslaunch pmb2_gazebo pmb2_gazebo.launch public_sim:=true world:=large_corridor
  • rosrun stop_dist_test Logger.py within the pmb2_public_ws/src/stop_dist_test folder
  • rosrun stop_dist_test Tester.py
  • once log is generated rosrun stop_dist_test Analysis.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors