Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #include <ecl/config.hpp>
00013
00014
00015
00016
00017
00018 #include <iostream>
00019 #include <ecl/linear_algebra.hpp>
00020 #include <ecl/formatters/floats.hpp>
00021 #include <ecl/geometry/pose2d.hpp>
00022 #include <ecl/math.hpp>
00023 #include "../../include/ecl/mobile_robot/differential_drive.hpp"
00024
00025
00026
00027
00028
00029 using std::cout;
00030 using std::endl;
00031 using ecl::RightAlign;
00032 using ecl::Format;
00033 using ecl::Pose2D;
00034 using ecl::linear_algebra::Vector2d;
00035 using ecl::linear_algebra::Vector3d;
00036
00037
00038
00039
00040
00041 int main(int argc, char **argv) {
00042
00043 Format<double> format; format.width(8); format.precision(2); format.align(RightAlign);
00044
00045 cout << endl;
00046 cout << "***********************************************************" << endl;
00047 cout << " Partial Inverse" << endl;
00048 cout << "***********************************************************" << endl;
00049 cout << endl;
00050
00051
00052
00053 Pose2D<double> a(1.0, 2.0, ecl::pi/2.0);
00054 Pose2D<double> b(2.0, 3.0, ecl::pi);
00055
00056 Vector2d partial_inverse;
00057
00058
00059 partial_inverse = ecl::DifferentialDrive::Kinematics::PartialInverse(a, b);
00060 std::cout << partial_inverse << std::endl;
00061
00062 cout << endl;
00063 cout << "***********************************************************" << endl;
00064 cout << " Passed" << endl;
00065 cout << "***********************************************************" << endl;
00066 cout << endl;
00067
00068 return 0;
00069 }