Table of Contents

Robotino Operation Log

Robotino operation main page: Robotino Operation

Week 7

10/10/7

Further developed PFNav to navigate potential field with successful early tests.


Some known issues of the day:

10/10/5

Formalized the robotino navigator class which allows basic controls of the robotino using ROS. It is based on the the approach_grab class developed earlier.

The class was then inherited by the PFNav class which extends robotinoNavigator in to navigate potential fields defined in the potentialField Class.

Some known issues of the day:

the robotino odometry object is not returning accurate readings for rotation. The temporary fix was to simply not rotate. I am currently unable to find any method of calibration.

10/10/4

Built a c++ class to represent a potential field used in potential field navigation.

below is the header file

potfield.h
class potentialField{
 
    public:
        // diffenet points used
        struct point{
            float x;
            float y;
        };
 
        struct attractivePoint{
            float x;
            float y;
            float weight;
        };
 
        struct repulsivePoint{
            float x;
            float y;
            float weight;
            float maxRange;
        };
 
        void addPoint(repulsivePoint p);        // adds a repulsive point to the potential field
        void addPoint(attractivePoint p);       // adds a attractive point to the potential field
        std::vector<float> attractiveGrad(point p);
        std::vector<float> repulsiveGrad(point p);
        std::vector<float> netGrad(point p);
        float magnitude(std::vector<float> vect);
        std::vector<float> normalize(std::vector<float> vect);
        std::vector<float> netGradNormalized(point p);
 
        void printPotentialField();
 
    private:
        double findDist(point p,repulsivePoint t);
        double findDist(point p,attractivePoint t);
 
        std::vector< attractivePoint > attractiveField;
        std::vector< repulsivePoint > repulsiveField;
};

Week 6

10/29/13

Modified object seeking program to look off camera if ball is not found based on last known position.

Completed tutorial for Robotino Object Seeking

10/28/13

Robotino ball tracking code has been re written in the form of a class and cleaned up significantly from last tutorials release

The ball tracking code has also been extend to track balls outside the robotino's field of view.

The code now also loops. So if the ball is dropped it will attempt to pick it up again.

Images were also taken and added to the Robotino_Vision_Pickup tutorial

cameraright.jpeg cameraleft.jpeg

Week 4

10/18/13

Preprogrammed movement and used pre-programed arm poses to pick up an object. See video for details.


10/15/13


Implemented 6 dof proportional control for arm.

Implemented posing feature to allow for manual positioning of arm


Week 3

10/8/13

10/7/13

Experimented with cmakelist.txt files and tried to make one to compile a robotino program. no success. asked on forums

Read through the robotino api2 demos to understand them

Week 2

10/5/13

Robotino API2_Setup

Hello World on the Robotino

tutorials were created and published

10/4/13

run the following as root!!!

cd home/robotino/build/circle
target/example_circle 127.0.0.1

10/3/13:

10/2/13:

10/1/13:

Week 1

9/30/13: