loading

RoboRealm MSRS Simulation

The RoboRealmSimulation MSRS interface provides a way for RoboRealm to process camera views from the MSRS Simulator. This allows a robot to react visually with the simulation environment. The included example provides for a single Lego NXT within the default environment next to a yellow cone. The task is for the Lego Robot to find the yellow cone and head towards it. Once the robot is close enough to the cone it should turn to another direction and proceed away from the cone. On reaching a time limit the robot should then proceed to search for the cone and repeat the process.

To run the example, start RoboRealm and load in the following program. The program loaded into RoboRealm is used to detect, track, and then steer away from the cone. Be sure that the RoboRealm API server is active. To check this open the Options->API Server and ensure that the checkbox is selected.

Download v4 the RoboRealm MSRS interface code and open the RoboRealmSimulation package in C#. Run the program. Once running the simulation will start and display the Lego robot and the yellow cone. Switching over to RoboRealm should now show the simulation camera attached ontop of the robot. Note that you don't see the camera on the robot in the 3rd person view.

How does it work?

The simulator system provides access to each camera by exposing a webcam service interface not unlike the interface that is provided by the actual webcam service. This webcam interface is accesed by the RoboRealmSimluation program and transfers the image to RoboRealm using the RoboRealm Interface Service which then uses the API to transmit the image to the RoboRealm application. Once within RoboRealm the image is treated like any other webcam or still image and can be processed using any of the RoboRealm modules. The processed results, in this case being left_motor and right_motor based on a yellow objects COG is then passed back through the API, RoboRealm Interface Service and finally to the RoboRealmSimulation program. Once the RoboRealmSimulation program has the information it binds to a diferential drive service within the MSRS Simulator and provides the new motor coordinates. This final action moves the robot and repeats the process again.

The obvious advantage is that using the MSRS Services RoboRealm can now be used in many different environments with many different robots to test out vision proceedures. It is worth mentioning, however, that the simulation environment is free from the regular image noise that one experiences in the real world. Thus, it should be used as an experimentation system to prototype image processing algorithms but care should be taken when transfering the system to a real robot as most of the parameters will need to be changed and new noise reduction modules added.

Following are some videos of the Simulation environment with the roving Lego NXT

(652 Kb) Video of the Lego NXT from our perspective as it performs its task.

(958 Kb) Video from the point of view of the Lego NXT as it sees the ball and cone.

Enjoy!


 New Post 

RoboRealm_MSRS_Simulation Related Forum PostsLast postPostsViews
None