Exemple #1
0
        void IStepper.Reset()
        {
            TurtlesimPose message = new TurtlesimPose();

            message.x = 0;
            message.y = 0;
            rosSocket.Publish(publication_id, message);
        }
Exemple #2
0
        private static void subscriptionHandler(Message message)
        {
            TurtlesimPose geo = (TurtlesimPose)message;

            Console.WriteLine("Väljast2:");
            Console.WriteLine(geo.x);
            xposition = geo.x;
            yposition = geo.y;
        }
Exemple #3
0
        public CompoundTerm DoAction(CompoundTerm action)
        {
            switch (action.Name)
            {
            case ("Tests"): return(null);

            case ("StartPosition"):
                xposition = 0;
                TurtlesimPose messageP = new TurtlesimPose();
                messageP.x                = 0;
                messageP.y                = 0;
                messageP.theta            = 0;
                messageP.angular_velocity = 0;
                messageP.linear_velocity  = 0;
                rosSocket.Publish(publication_id, messageP);


                return(null);

            case ("MoveTurtle"):
                GeometryTwist message = new GeometryTwist();
                float         speed   = (float)action[0];
                message.linear.x = speed;
                rosSocket.Publish(publication_id, message);
                return(null);

            case ("Goal_Start"):
                if (xposition > 0)
                {
                    return(NModel.Terms.Action.Create("Goal_Finish"));
                }
                else
                {
                    return(NModel.Terms.Action.Create("Goal_Failed"));
                }


            default: throw new Exception("Unexpected action " + action);
            }
        }