Added Java support.
This commit is contained in:
@@ -18,30 +18,41 @@
|
||||
# Where you put the libbreezyslam library
|
||||
LIBDIR = /usr/local/lib
|
||||
|
||||
JAVADIR = ../java/edu/wlu/cs/levy/breezyslam
|
||||
|
||||
# Use EOG or your favorite image-display program
|
||||
VIEWER = eog
|
||||
|
||||
# Set these for different experiments
|
||||
DATASET = exp2
|
||||
USE_ODOMETRY = 1
|
||||
USE_ODOMETRY = 0
|
||||
RANDOM_SEED = 9999
|
||||
|
||||
all: log2pgm
|
||||
all: log2pgm Log2PGM.class
|
||||
|
||||
pytest:
|
||||
./log2pgm.py $(DATASET) $(USE_ODOMETRY) $(RANDOM_SEED)
|
||||
$(VIEWER) $(DATASET).pgm
|
||||
$(VIEWER) $(DATASET).pgm ~/Desktop/$(DATASET).pgm
|
||||
|
||||
|
||||
cpptest: log2pgm
|
||||
./log2pgm $(DATASET) $(USE_ODOMETRY) $(RANDOM_SEED)
|
||||
$(VIEWER) $(DATASET).pgm
|
||||
|
||||
javatest: Log2PGM.class
|
||||
java -classpath ../java:. -Djava.library.path=$(JAVADIR)/algorithms:$(JAVADIR)/components Log2PGM \
|
||||
$(DATASET) $(USE_ODOMETRY) $(RANDOM_SEED)
|
||||
$(VIEWER) $(DATASET).pgm
|
||||
|
||||
log2pgm: log2pgm.o
|
||||
g++ -O3 -o log2pgm log2pgm.o -L$(LIBDIR) -lbreezyslam
|
||||
|
||||
log2pgm.o: log2pgm.cpp
|
||||
g++ -O3 -c -I ../cpp log2pgm.cpp
|
||||
|
||||
Log2PGM.class: Log2PGM.java
|
||||
javac -classpath ../java Log2PGM.java
|
||||
|
||||
$(DATASET).pgm:
|
||||
./log2pgm.py $(DATASET) $(USE_ODOMETRY) $(RANDOM_SEED)
|
||||
|
||||
@@ -49,4 +60,4 @@ backup:
|
||||
cp -r .. ~/Documents/slam/bak-breezyslam
|
||||
|
||||
clean:
|
||||
rm -f log2pgm *.pyc *.pgm *.o *~
|
||||
rm -f log2pgm *.pyc *.pgm *.o *.class *~
|
||||
|
||||
@@ -106,7 +106,6 @@ static void load_data(
|
||||
while (fgets(s, MAXLINE, fp))
|
||||
{
|
||||
char * cp = strtok(s, " ");
|
||||
|
||||
|
||||
long * odometry = new long [3];
|
||||
odometry[0] = atol(cp);
|
||||
@@ -356,11 +355,11 @@ int main( int argc, const char** argv )
|
||||
}
|
||||
else
|
||||
{
|
||||
((RMHC_SLAM *)slam)->update(lidar);
|
||||
slam->update(lidar);
|
||||
}
|
||||
|
||||
Position position = slam->getpos();
|
||||
|
||||
|
||||
// Add new coordinates to trajectory
|
||||
double * v = new double[2];
|
||||
v[0] = position.x_mm;
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
% data from Paris Mines Tech and displays the map and robot
|
||||
% position in real time.
|
||||
%
|
||||
% Usage:
|
||||
%
|
||||
% >> logdemo(dataset, [use_odometry], [random_seed])
|
||||
%
|
||||
% Examples:
|
||||
%
|
||||
% >> logdemo('exp2')
|
||||
%
|
||||
% For details see
|
||||
%
|
||||
% @inproceedings{coreslam-2010,
|
||||
@@ -84,7 +92,7 @@ for scanno = 1:size(scans, 1)
|
||||
% Update SLAM with lidar alone
|
||||
slam = slam.update(scans(scanno,:));
|
||||
end
|
||||
|
||||
|
||||
% Get new position
|
||||
[x_mm, y_mm, theta_degrees] = slam.getpos();
|
||||
|
||||
@@ -110,7 +118,6 @@ for scanno = 1:size(scans, 1)
|
||||
x_pix = x_pix_r + mm2pix(x_mm, MAP_SIZE_METERS, MAP_SIZE_PIXELS);
|
||||
y_pix = y_pix_r + mm2pix(y_mm, MAP_SIZE_METERS, MAP_SIZE_PIXELS);
|
||||
|
||||
|
||||
% Add robot image to map
|
||||
fill(x_pix, y_pix, 'r')
|
||||
drawnow
|
||||
|
||||
@@ -64,11 +64,11 @@ def load_data(datadir, dataset):
|
||||
break
|
||||
|
||||
toks = s.split()[0:-1] # ignore ''
|
||||
|
||||
|
||||
odometry = (int(toks[0]), int(toks[2]), int(toks[3]))
|
||||
|
||||
lidar = [int(tok) for tok in toks[24:]]
|
||||
|
||||
|
||||
scans.append(lidar)
|
||||
odometries.append(odometry)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user