Re: [tekkotsu_dev] Mirage with robots controlled from different machines
- Ok. I checked out last tekkotsu CVS and it compiled right with TGT_CREATE. I also compiled MIRAGE: all ok. I changed ID robots at the remote and local machine. It worked now! Remote connection was a little slow using wireless, but when I connected both PC in a local wired network, it worked like a charm!! :-D
Unfortunately, there are some problems when using TGT_ERS7 :-( :
1. A lot of "unrecognized -Winvalid.pch". I cleaned out this option at Makefiles in both Tekkotsu and project directories; then I tried again...
2. a lot of errors?? warnings?? like this:
In file included from /home/nhr/Tesis/OPEN_R_SDK/mipsel-linux/sys-include/dirent.h:6,
/home/nhr/Tesis/OPEN_R_SDK/mipsel-linux/sys-include/sys/dirent.h:10:2: #error "<dirent.h> not supported"
3. and errors due to missing variables and files and some other things...
3.1 Compiling Planners/RRT/ShapeSpacePlannerBase.cc...
Crew/Pilot.cc:1:27: Motion/WalkMC.h: No such file or directory
3.2 Crew/MapBuilder.cc:2:32: Events/EventRouter.h: No such file or directory
Crew/MapBuilder.cc:3:33: Events/TextMsgEvent.h: No such file or directory
Crew/MapBuilder.cc:4:34: Events/LookoutEvents.h: No such file or directory
Crew/MapBuilder.cc:5:34: Motion/HeadPointerMC.h: No such file or directory
and many many more errores related to Crew/MapBuilder and DualCoding files...
I enclose attached a txt file (errors.txt) with the complete list of errors...
I will try to find out in which point of the CVS versions evolution (from 5.03, the last one that works) it doesn't compile anymore...
El 26/04/12 17:48, Ethan Tira-Thompson escribió:The remote PC does connect, right? It just can’t handle two robots at the same time?The trick with that is to give each robot a different ‘id’ value. Otherwise what’s happening right now is the second PC is trying to ‘take over’ the robot of the first one, which probably isn’t a good idea.The id number is in ms/config/tekkotsu.xml, under the ‘wireless’ section. This is the very last setting in the file. Just give the two robots different ID values and it should work. This is something we haven’t tested very throughly, so try out everything like making sure both robots are getting video feeds, but from my quick test looks good.This setting was intended for multi-agent stuff, so your behaviors can also read the value and use it for communications (behaviors can’t read values in the mirage driver settings…). Although it might be nice to have an option in Mirage to let it pick its own random ID for instantiating each robot so they don’t conflict if people don’t bother setting this for each robot… todo ;)Also, you might want to track down what’s going wrong with the CVS update btw, I don’t think we’ve updated STABLE in a while.-EthanOn Apr 26, 2012, at 3:31 AM, Ignacio Herrero Reder wrote:
Thanks Dave! but...it doesn't work for me.... :-(
Using tekkotsu 5.03 STABLE (can't compile last cvs).
Both PCs are connected in a local network by a gateway/router; one is wired and the other a wireless laptop...
I run mirage and tekkotsu-ERS7 at the wireless laptop; then I run tekkotsu-ERS7 at the wired PC; it detects mirage as there are some messages in the terminal, about Creating meshes, but mirage ends with a "Segmentation fault"...
Another strange thing is that, if a call tekkotsu-ERS7 in both machines with different initial positions, the second call moves the original robot to the new position and mirage crashes...apart from the segmentation fault, it's like it could only manage the same robot....perhaps it's necessary to give something like a different ID to any robot?
mmm, the laptop runs 64bits linux, and the wired PC runs a 32 bits version...could it be the reason?
I will give some other tries...
Ignacio Herrero Reder / Tl. +34-126.96.36.199 Dpto. Tecnologia Electronica / Fax: +34-188.8.131.52 E.T.S. Ing. Telecomunicacion / nhr@... Universidad de Malaga / http://www.dte.uma.es Campus Universitario de Teatinos 29010 Malaga, Spain
El 26/04/2012 11:23, Dave Touretzky escribió:
> Hello. it's possible to use several simulated robots each one
> controlled from a different PC in the same MIRAGE environment? How?
By telling Tekkotsu the IP address of the Mirage server to use, like
./tekkotsu-CREATE -c mirage.plist Drivers.Mirage.Host=ip_address
I've added this to the wiki: