CJ's home at Brooklyn College

Carlos Jaramillo's
Distributed Research Experience as Undergraduate (Summer 2009)

WEEKLY JOURNAL

Home
The Lab
About Me
My Mentor
RoboCup 2009
Final Report
The Project
Journal
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Progress Report
Week 7
Week 8
Week 9
Week 10
Tips

Week 3:

Task Comments
Meeting with Mentors and Team We decided to leave the Mezzanine Project into John's hands for now. However, new questions/tasks arose:
1) Do you need an instance of player for each robot or 1 instance of player to control multiple robots?
2) Can one computer control multiple robots at the same time using bluetooth?
3) Can other bluetooth dongles interfere with the robots being controlled?
4) Look at PosixSerial on how to change the ROBOT_ADDRESS argument for one controller being used for multiple robots.
and Learn about Socket connections
5) Figure out how to model Scribbler robot (instead of the Pioneer in Player/Stage (Look into Pyro's "How to interface your own robot")
Troubleshooting Pyro to use Player/Stage Due to a change in the interface for shared libraries (particularly in playerc.h) in the newer version, there was trouble with Pyro's Python-binding. I learned that when bug fixes alter a library's interface, dependent programs run into problems. Therefore, it is important to be aware of changes in supporting libraries and keep them unmodified as much as possible so it provides backward compatibility. The troubleshooting steps for getting Player/Stage to work with Pyro are in my notes.
Pyrobot Look at how Roomba works within Player/Stage in Pyro. Observed its limitations, such as not being able to control multiple robots within the same graphical interface. Although Pyro makes the use of configuration files, robots, and controllers a straight forward process within a uniform interface, its limitations force me to continue using Player/Stage through the command line.
Myro Got Roomba and Scribbler connected at the same time using myro's libraries, but through an independent python shell, for example:
First, navigate to the myro folder where the robots (classes: roomba.py and scribbler.py) are located, and then start a Python console:
../myro/robots$ python
>>> import roomba
>>> robot1 = roomba.Roomba('/dev/ttyUSB0')
>>> import scribbler
>>> robot2 = scribbler.Scribbler('/dev/rfcomm0')