Re: reset position of the controller using supervisor_field_set

Olivier Michel <[email protected]> Wed, 24 May 2006 18:01:59 +0200
Newsgroups gmane.comp.cybernetics.webot.contest
Organization Cyberbotics Ltd.
Message-ID <[email protected]>
Hi Fernando,

No, unfortunately, this is not possible to do it in Java within the 
contest framework.
You cannot call supervisor_*() methods from your Java controller. This 
won't work.

-Olivier

fernando alonso wrote:
> mmm.... I understand that the normal controller send a message to
> supervisor for reset the position of the robot, the supervisor is in a
> infinity loop reciever messages, when recieve a message, read it and
> reset the position of the boot using supervisor_field_set.
>
> But the controller's supervisor is possible do it in Java?
>
>
> 2006/5/24, fernando alonso <[email protected]>:
>   
>> This is my simplify  controller's code :
>>
>>
>>  static int robot;                   //descriptor del robot
>>  static float[] posicion_inicial;    //posicion inicial
>>
>>
>>  public static void main() {
>>
>>      for (int i = 0; i < 10; i++){
>>            .....
>>            robot_step(64);
>>      }
>>      resetPosition();
>>  }
>>
>>
>>  /** Get the beginning position*/
>>  public static void getBeginningPosition(){
>>    supervisor_field_get(robot, SUPERVISOR_FIELD_TRANSLATION_Z |
>> SUPERVISOR_FIELD_TRANSLATION_X, posicion_inicial,64);
>>  }
>>
>>
>>  /** Reset the position to the begining position */
>>  public static void resetPosition(){
>>    supervisor_field_set(robot, SUPERVISOR_FIELD_TRANSLATION_Z |
>> SUPERVISOR_FIELD_TRANSLATION_X, posicion_inicial);
>>  }
>>
>>
>>
>> how I can do it in webots?
>>
>>
>>
>>
>> 2006/5/24, fernando alonso <[email protected]>:
>>     
>>> I just want to reset the position of my robot, but I don't want to
>>> receive the real position in it.
>>> Instead of that, I only want to use the normal controls of the robot
>>> to place my robot in a determinate coordinate.
>>>
>>> I am implementing "Swarm Intelligence" algorithm to learn how to move
>>> within the labyrinth and it's necessary that
>>> the "fitness" function leaves the position of the robot in the same
>>> place in which it was before its execution.
>>> That is the reason why I need resetting the position of the robot in
>>> the robot controller and .
>>>
>>> What I don't understand is why I must use the supervisor and if I only
>>> want to move my robot with its
>>> controller, I would not need sending anything from the emitter. In
>>> addition to this I want to reset the position when
>>> I need it not when the supervisor would think it is the time for that.
>>>
>>> 2006/5/24, fernando alonso <[email protected]>:
>>>       
>>>> Sorry, me English es very poor:
>>>>
>>>> I want reset the position of the my robot, I wan't receiver
>>>> information in my robot. I only want put my robot in a place when need
>>>> it. I want the code for put my robot in a coordenades when the normal
>>>> controller need it.
>>>>
>>>> I want apply Swarm Intelligence for learning to move for the laberint
>>>> and I need use fitness funtion that each execute reset the position
>>>> the robot for can evaluate the fitness of the movement. I don't
>>>> understand why I have to use the supervisor.
>>>>
>>>> 2006/5/24, Olivier Michel <[email protected]>:
>>>>         
>>>>> Hello,
>>>>>
>>>>> The "stand me up" trick won't work with Webots 5.1.6 as it was not
>>>>> implemented in the roboka world.
>>>>> However, I just ported it from the previous contest and integrated it
>>>>> into Webots 5.1.7 which I just released now. So, rush to download Webots
>>>>> 5.1.7 and you will see in the source code of the Roboka0.java controller
>>>>> how to set the robot at any position in the maze (this is done when
>>>>> pressing the Esc key, but you can do it programmatically as well). Of
>>>>> course this feature will be disabled in the contest matches (real robots
>>>>> can't fly that way), but I believe it is very useful for developing
>>>>> robot controllers.
>>>>>
>>>>> Moreover, as requested by several people, I added new sample roboka
>>>>> worlds called roboka0.wbt, roboka1.wbt, roboka2.wbt and roboka3.wbt
>>>>> which offer different maze configurations.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> -Olivier
>>>>>
>>>>> László Márton wrote:
>>>>>           
>>>>>> Hello,
>>>>>>
>>>>>> In last two robojudo conets I used for training
>>>>>> pruposes a different robot like the one from contest.
>>>>>>
>>>>>> It was capable to reset himself if it was necessary.
>>>>>> I don't know if it works with the new controlers but
>>>>>> it  worths a try.
>>>>>>
>>>>>> The code looks like that:
>>>>>>
>>>>>> //first declare the desired coordinates and position
>>>>>>
>>>>>> //String message="stand me up 0 0 1 0";
>>>>>> String message="stand me up 0 0 0.5f 3.14f";
>>>>>> //String message="stand me up 0";
>>>>>> // the figures here mean the following:
>>>>>> // 0: robot = Judoka0 1: robot = Judoka1
>>>>>> // 0.5 the X position of the robot
>>>>>> // 0.5 the Z position of the robot
>>>>>> // 0 the orientation of the robot (radians)
>>>>>> // It is also possible to simply pass "stand me up 0"
>>>>>> // the supervisor will then use the last initial
>>>>>> position
>>>>>>
>>>>>> byte [] msg=null;
>>>>>> try
>>>>>> { // convert the String into bytes using the
>>>>>>   // ISO-8859-1 encoding
>>>>>>   msg=message.getBytes("ISO-8859-1");
>>>>>> } catch(Exception e) {}
>>>>>>
>>>>>>
>>>>>>
>>>>>> //then when you want to reset the robot position call
>>>>>>  emitter_send(emitter,msg.length,msg);
>>>>>>
>>>>>> Best regards
>>>>>> Márton László
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> fernando alonso wrote:
>>>>>>> Hello, i need some help:
>>>>>>>
>>>>>>> I'm not able to put my bot in a determinate
>>>>>>>
>>>>>>>               
>>>>>> position. I want to
>>>>>>
>>>>>>             
>>>>>>> execute  my controller and finally put my bot
>>>>>>>
>>>>>>>               
>>>>>> again at the beginning,
>>>>>>
>>>>>>             
>>>>>>> but Webot doesn't work as I want. I'd very much
>>>>>>>
>>>>>>>               
>>>>>> like to know how to do
>>>>>>
>>>>>>             
>>>>>>> it!!
>>>>>>>
>>>>>>> I send you the Controller and the World.
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> __________________________________________________
>>>>>> Do You Yahoo!?
>>>>>> Tired of spam?  Yahoo! Mail has the best spam protection around
>>>>>> http://mail.yahoo.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Yahoo! Groups Links
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>
>>>>>
>>>>> Yahoo! Groups Links
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> --
>>>> Fernando Alonso Martín
>>>> NIA: 100033362
>>>>
>>>>         
>>> --
>>> Fernando Alonso Martín
>>> NIA: 100033362
>>>
>>>       
>> --
>> Fernando Alonso Martín
>> NIA: 100033362
>>
>>     
>
>
>   


------------------------ Yahoo! Groups Sponsor --------------------~--> 
You can search right from your browser? It's easy and it's free.  See how.
http://us.click.yahoo.com/_7bhrC/NGxNAA/yQLSAA/pU_rlB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/webots-contest/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/