Monday 28 January 2013

MORSE CODE PART - I

MORSE 0.6

I installed MORSE 0.6 and linked it up with ROS on Ubuntu 12.04 and  it was fun to try out simulations of PR2 and ATRVs. I was interested in simulating a 2 robot system where one robot was guided by ROS nodes while the other was controlled by MORSE. This article is a brief on how I got that working ! 

THE kb_control CODE

Koushik and I have been tying to use kbhit() function to model teleoperation in ROS, however lack of a conio.h  in gcc made us channel our efforts differently (fcntl.h), and develop our codes.

SETTING IT UP IN MORSE

Instead of a single ATRV, I put in 2 ATRVs in my simulation, Castor and Pollux. Castor controlled by ROS nodes while Pollux was by MORSE keyboard. In the Python script (two_atrv.py) it was easy to 'connect up' Castor to ROS and Pollux to MORSE;























To link up ROS nodes with MORSE, remapping of the launch file (kb_control_morse.launch) is done,


The remapping is done by checking the rxgraph and enabling publisher/subscriber connectivity to ensure the interconnectivity of all the nodes. A working rxgraph for this simulation is as shown,


THE SIMULATION

Download the kb_control package from https://github.com/Arkapravo/kb_control and install it, rosmake kb_control

Place the file kb_control/morse/two_atrv.py at /opt/ros/morse/share/morse/examples/scenarii/

Start an instance of the master

Start the morse simulation, cd /opt/ros/morse/share/morse/examples/scenarii/ && morse run two_atrv

Start the kb_node, roslaunch kb_control kb_control_morse.launch

Now you should be able to control Castor with ROS and Pollux with MORSE.Click on the blender screen, the arrow keys will move Pollux around.Click on the kb_control terminal window, the arrow keys will move Castor around.


MORSE 1.0

MORSE 1.0 is slated for release in February 2013, with various improvements and newer features.

ACKNOWLEDGEMENTS

I am thankful to the morse-user mailing list (morse-users at laas dot fr) particularly, Florian Lier (flier at techfak dot uni-bielefeld dot de), Michael Karg (kargm at in dot tum dot de) and Séverin Lemaignan (severin dot lemaignan at laas dot fr). I am also thankful to my friend Vasileios Lahanas (vasileios dot lahanas at hotmail dot com) for his suggestions regarding kbhit() function. 

The codes discussed here can be found at, https://github.com/Arkapravo/kb_control, any issues with the simulation then feel free to write to us, Arkapravo Bhaumik (arkapravobhaumik at gmail dot com) and Koushik Kabiraj (koushik dot atti at gmail dot com).

Wednesday 2 January 2013

PIONEER 3AT USING PLAYER

This post is about my experience with the P3-AT robot [2], so let`s see a video about it.


The robot P3-AT has a board computer with a Linux Debian 3 installed running a player`s server [1]. We were using a Control algorithm to do some experiments. The P3-AT is equipped with sonar, camera and compass.

REFERENCES 
[1] http://playerstage.sourceforge.net/ 
[2] http://www.mobilerobots.com/researchrobots/p3at.aspx