home/my_username/my_folder/my_webots_project LD_LIBRARY_PATH (not needed for Python controllers) Thus, when running a extern C or Python controller for an e-puck robot on Windows, you should add the C dependencies to your Path environment variable as shown in the table above. Java -classpath $WEBOTS_HOME \lib \controller \java \Controller.jar: $WEBOTS_HOME \projects \languages \java \controllers \Driver \ = $WEBOTS_HOME \lib \controller \java DriverĮ-puck: The e-puck robot has a remote-control plugin library which has dependencies on C libraries. MATLAB: Here is an example of what you should enter in the MATLAB console: Webots environment variables needed by extern controllers:Īdd %WEBOTS_HOME%\lib\controller %WEBOTS_HOME%\msys64\mingw64\binĬ:\Users\MyUsername\my_folder\my_webots_project Please refer to the documentation of your operating system to set environment variables. In order to be able to run an extern Webots controller, a number of environment variables should be set or extended. Note: If the robot.synchronization field is set to TRUE Webots will wait for the extern controller to be launched, otherwise the simulation will run whether the controller is started or not. Moreover, starting external controllers remotely allows to run Webots on a different machine than the controller, which can be useful if the specifications required by the two processes are very different. It is even possible to read the standard input stream ( stdin) like with any standard program. This may seem inconvenient, but in several cases, it turns out to be very useful, because the user has full control over the controller process.įor example, it may run it within a debugging environment, like gdb, a command line tool like $ shell, or within some Integrated Development Environment (IDE), such as Visual C , Eclipse or P圜harm.Īlso, the standard output and error streams ( stdout and stderr) remain under the user control and are not sent to the Webots console. Running an extern robot controller requires that the controller is launched manually. It is also possible to connect controllers from remote computers using a TCP connection. However, if this field is set to, no controller is launched and the robot will behave like if its controller field was an empty string, that is, the robot will not be controlled.īut as soon as a Webots controller is launched manually on the same computer, it will attempt to connect to this robot controller in order to control this robot. Normally, Webots launches automatically the robot controller specified in the controller field of each Robot node. This chapter describes extern robot controllers and how to use them.
0 Comments
Leave a Reply. |