views:

76

answers:

0

Hi, I am new to player/stage. But somehow I managed to come up with the below code but is not moving

First the configuration file

driver
(
    name "stage"

    provides ["simulation:0"]
    plugin "stageplugin"

    #load the world file
    worldfile "robotWorld.world"
)

driver
(
    name "stage"
    provides [
                    "position2d:0"
                    "laser:0"
             ]
    model "robot"
)

The map.inc file

define map model
(
    #color of the map
    color "black"

    #we need a boundary wall aroung the map, then only the robot can't go outside of     the map

    boundary 1

    gui_nose 1
    gui_grid 1
    gui_movemask 0
    gui_outline 0

    fiducial_reurn 0
    gripper_return 0
)

The robot.inc file

define robots_laser laser
(
    # minimum range of the laser
    range_min 0.0

    #maximum range of the laser
    range_max 2

    #field of view or pan angle of the camera
    #fov 180

    #assume the robot's size as 400*200, and  the camera is in the front end
    pose [200 100 0 0]

    #size of the camera
    size [0.025 0.025 0.001]
)

define robot position
(
    #size of the robot
    size [50 50 50]

    #as a default centre of rotation is the geometry centre

    #shape of the robot
    polygons 1

    polygon[0].points 4
    polygon[0].point[0] [0 0]
    polygon[0].point[1] [1 0]
    polygon[0].point[2] [1 1]
    polygon[0].point[3] [0 1]

    # car steering model
    drive "car"

    #mass of the robot
    mass 10.0

    robots_laser()  
)

The world file is

include "robot.inc"
include "map.inc"

#size of the simulation
size [15 15]

#interval_sim=5
#interval_real=10

#GUI window
window
(
    size [700 700]
    scale 2.5
    show_data 1
)

map
(
    bitmap "map2"
    size [300 300 3]
)

robot
(
    name "robot"
    pose [0 0 0 0]
    color "Green"
)

This is the main cpp file (mainCode.cpp)

#include<iostream>
#include<unistd.h>
#include<time.h>
#include<player-3.0/libplayerc++/playerc++.h>

using namespace std;

int main(int argc,char * argv[])
{
    using namespace PlayerCc;
    cout << "111111111111" << endl ;
    PlayerClient robotClient("localhost",6665);

    Position2dProxy p2dProxy(&robotClient,0);
    LaserProxy laserProxy(&robotClient,0);

    p2dProxy.SetMotorEnable(true);

    p2dProxy.RequestGeom();

    robotClient.Read();

    while(true) 
    {
        robotClient.Read();
        p2dProxy.SetCarlike(240,0);
        cout << laserProxy[45] << endl ;
    }

    cout << "reached the end of the coding" << endl ;
}

Every thing is fine but the robot is not moving, So In the above code I am getting a constant value as the output. And in the simulation robot is not moving. Anybody, please help me?