/DP-SLAM

DP-SLAM files and DP-SLAM logger for BWI project

Primary LanguageC

DP-SLAM
Emily Tarrant and Kim Tran


Requirements
	- rosbag
	- rosrecord
	- laser scan data
	- odometry data
	- a computer with decent processing power and memory
	- ImageMagick may be needed to convert files
	
Running the program:

	To run the program ,first launch the segway base and the hokuyo laser. This can be done using segbot_bringup
		$ roslaunch segbot_bringup segbot_hokuyo.launch
	After that, record data in the scan and odom topics while the robot is driving into a bag file
		$ rosbag record -O dpslam.bag /scan /odom
	The logger can then be read data from the topics then writes them out to a file in the required format
		$ rosrun dpslam_logger dpslam.bag
	The produced log file can then be copied and run in the dpslam folder
		$ cd ../dpslam
		$ make
		$ ./slam -p scan_data.log

Common relevant variables:
	- dpslam_logger/logger.cpp: Change argument 'scan_data.log' to desired log name
	- dpslam/map.h:	PARTICLE_NUMBER: Change the number of particles used for the low level process
			H_PARTICLE_NUMBER: Change the number of particles used for the high level process
			MAP_WIDTH and MAP_HEIGHT: Change the dimension of the output low maps
			H_MAP_WIDTH and H_MAP_HEIGHT: Change the dimension of the output high maps
	- dpslam/basic.h: Change the number of grid squares per meter in the map resolution. Typically 20-35 (3-5cm 				  per grid square)
	- dpslam/low.h: Change the number of low level iterations performed before each high level iteration