jdelacroix / simiam

A MATLAB-based educational bridge between theory and practice in robotics.
http://gritslab.gatech.edu/projects/robot-simulator
Other
104 stars 52 forks source link

About the position of the IR Sensor #6

Closed BlueBirdHouse closed 10 years ago

BlueBirdHouse commented 10 years ago

The writer of the Khepera_III_Toolbox have a paper: Prorok A, Arfire A, Bahr A, et al. Indoor navigation research with the Khepera III mobile robot: An experimental baseline with a case-study on ultra-wideband positioning[C]//Indoor Positioning and Indoor Navigation (IPIN), 2010 International Conference on. IEEE, 2010: 1-9. There is a map of the K3 robot’s sensor. Your position of the IR Sensors are not save with a software “Player/Stage” from the Kteam Corporation nor with the paper above. I have changed them according to the papers data: %这些参数与论文上面的也不同! %ir_pose = Pose2D(-0.038, 0.048, Pose2D.deg2rad(128)); ir_pose = Pose2D(-0.038, 0.049, Pose2D.deg2rad(128)); obj.ir_array(1) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.019, 0.064, Pose2D.deg2rad(75));
        ir_pose = Pose2D(0.017, 0.063, Pose2D.deg2rad(75));
        obj.ir_array(2) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.050, 0.050, Pose2D.deg2rad(42));
        ir_pose = Pose2D(0.051, 0.045, Pose2D.deg2rad(42));
        obj.ir_array(3) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.070, 0.017, Pose2D.deg2rad(13));
        ir_pose = Pose2D(0.067, 0.015, Pose2D.deg2rad(13));
        obj.ir_array(4) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.070, -0.017, Pose2D.deg2rad(-13));
        ir_pose = Pose2D(0.067, -0.015, Pose2D.deg2rad(-13));
        obj.ir_array(5) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.050, -0.050, Pose2D.deg2rad(-42));
        ir_pose = Pose2D(0.051, -0.045, Pose2D.deg2rad(-42));
        obj.ir_array(6) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(0.019, -0.064, Pose2D.deg2rad(-75));
        ir_pose = Pose2D(0.017, -0.063, Pose2D.deg2rad(-75));
        obj.ir_array(7) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(-0.038, -0.048, Pose2D.deg2rad(-128));
        ir_pose = Pose2D(-0.038, -0.049, Pose2D.deg2rad(-128));
        obj.ir_array(8) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');

        %ir_pose = Pose2D(-0.048, 0.000, Pose2D.deg2rad(180));
        ir_pose = Pose2D(-0.052, 0.000, Pose2D.deg2rad(180));
        obj.ir_array(9) = ProximitySensor(parent, 'IR', pose, ir_pose, 0.02, 0.2, Pose2D.deg2rad(20), 'simiam.robot.Khepera3.ir_distance_to_raw');
jdelacroix commented 10 years ago

Thanks! I updated the location of the IR sensors and adjusted the shape of the robot to ensure that none of the sensors were floating in space.