ARIA-Users
Date Index
Thread Index
[Aria-users] Re: running wander.cpp using Infowave modems
- To: Hossein Miri <H.Miri@xxxxxxxxxxxxxxx>
- Subject: [Aria-users] Re: running wander.cpp using Infowave modems
- From: Matt LaFary <lafary@xxxxxxxxxxxxxxxx>
- Date: Mon, 26 May 2008 19:39:40 -0400
- Cc: support@xxxxxxxxxxxxxxxx, aria-users@xxxxxxxxxxxxxxxx,reed@xxxxxxxxxxxxxxxx
- Content-Transfer-Encoding: 7bit
- Content-Type: text/plain; charset=ISO-8859-1; format=flowed
- Delivered-To: aria-archives@activmedia.com
- Delivered-To: aria-users@server.local.net
- In-Reply-To: <445800D8FD5D3D43878FD7D2842A3047898F4F@EXCL2VS2.adir.hull.ac.uk>
- References: <445800D8FD5D3D43878FD7D2842A30478DEF40@EXCL2VS2.adir.hull.ac.uk> <482D8D6D.3000301@mobilerobots.com> <445800D8FD5D3D43878FD7D2842A3047898F4A@EXCL2VS2.adir.hull.ac.uk> <48346608.6090509@mobilerobots.com> <445800D8FD5D3D43878FD7D2842A3047898F4B@EXCL2VS2.adir.hull.ac.uk> <4835896B.2090900@mobilerobots.com> <445800D8FD5D3D43878FD7D2842A3047898F4C@EXCL2VS2.adir.hull.ac.uk> <4836DBB4.3070006@mobilerobots.com> <445800D8FD5D3D43878FD7D2842A3047898F4F@EXCL2VS2.adir.hull.ac.uk>
- Resent-Date: Mon, 26 May 2008 20:42:57 -0400 (EDT)
- Resent-From: aria-users@xxxxxxxxxxxxxx
- Resent-Message-ID: <HIben.A.hz.Pk1OIB@server.activmedia.com>
- Resent-Reply-To: aria-users@activmedia.com
- Resent-Sender: aria-users-request@xxxxxxxxxxxxxx
- User-Agent: Icedove 1.5.0.14pre (X11/20080208)
Right now there are two variables, the linux installation and the Aria
version. To sort out what the problem is, we need to see if it is one
of those two variables. This is why I suggested copying the Aria from
the old machine to the new machine. If that works, it means its Aria
somehow, and we'll figure out how so you can use the new Aria. If it
doesn't, it'll mean its the installation somehow, and we can focus on that.
Try taking out the second line you had in inittab, the first one is
needed so that you have permission to read/write the port. Then try
using '<program> -rb 38400' and seeing if that works. And try the
switchToBaudRate thing I mentioned.
Matt LaFary
MobileRobots Inc
Hossein Miri wrote:
> Hi Matt/Reed,
>
> amigo.p files are the same between the two machines. And I did make the modifications you suggested, but to no avail. Also, the lines of code that I have included in my /etc/inittab are necessary for the Infowave modems to communicate through the serial port. I did try commenting them out to see what would happen, but it resulted in absolutely no connection, with the error message: Cannot open serial port /dev/ttyS0 So I put them back in, and the modems were communicating. But obviously no movement in the robot. Just the constant sonar sounds, non-stop.
>
> I am hesitant to copy anything from the old working machine (Fedora 4 - Aria 2.4) across to my own machine (Fedora 8 - Aria 2.5) simply because: My Linux Fedora 8 machine and Aria 2.5 and Amigo and Infowave modem should work together. I would like to find out why it cannot even run a simple example such as wander.cpp. The only thing that comes to my mind is that Fedora 8 is causing this problem (I mean whatever differences there are between Fedora 4 and 8). The old machine is running Fedora 4 and it works fine with Aria 2.4. The same Amigo and pair of modems fail on Fedora 8
>
> I have included below the error message that I got today, to see if this one rings a bell with an Aria user. Please get back to me and let me know about your thoughts. Thank you,
>
> Press CTRL-C or Escape to exit.
> Could not connect to simulator, connecting to robot through serial port /dev/ttyS0.
> Syncing 0
> Syncing 1
> Syncing 2
> Connected to robot.
> Name: hull_100022
> Type: Pioneer
> Subtype: amigo
> Loaded robot parameters from amigo.p
> ArRobot: rotVelMax of 15360 is over the absolute max of 2152, capping it
> ArRobot: setRotAccel of 11264 is over the absolute max of 3944, capping it
> ArRobot: setRotDecel of 11265 is over the absolute max of 3944, capping it
> ArSerialConnection::write: Error on writing.
> ArSerialConnection::write:: Input/output error
> ArSerialConnection::write: Error on writing.
> ArSerialConnection::write:: Input/output error
> .
> .
> .
> Escape was pressed, program is exiting.
> Disconnecting from robot.
>
>
> ---
> Hossein MIRI (Joshua) - Ph.D. Student
> Neural, Emergent, and Agent Technologies Research Group (NEAT)
> Department of Computer Science, University of Hull, Kingston-upon-Hull
> East Riding of Yorkshire, HU6 7RX, United Kingdom +44 7917 897 946
> http://www.hmiri.com
> http://hjoshua.squarespace.com
> ---
>
>
>
> Is the amigo.p the same between the two machines? And can you send the
> output of the program run on the working machine? I'm curious about
> those ArRobot messages.
>
> What Aria is the working machine using?
>
> Also, would you run the program on both the working and non working
> machine with verbose logging? You can do that by putting the following
> line after Aria::init(); :
>
> ArLog::init(ArLog::StdOut, ArLog::Verbose);
>
>
> A few things to try if you're in a hurry (if you try them please let me
> know how it goes):
>
> Take out those lines in /etc/inittab for your infowave modems, since you
> shouldn't need them and its possibly confusing things somehow. Though
> the last time I used the infowave modems was on RedHat 6.something so
> its possible thats changed, but its still something to try.
>
> Try passing in -robotBaud 38400 to your program.
>
> Try changing the SwitchToBaudRate value in amigo.p to 0.
>
> If the working machine is using a different Aria try copying that
> directory to the non-working machine and running it, and try it with a
> recompile. You can use the ARIA and LD_LIBRARY_PATH environment
> variables to do this without uninstalling the Aria on the non-working
> machine.
>
> Matt LaFary
> MobileRobots Inc
>
>
>
> - - - - - - - - - -
>
>
>
>> I don't have a serial cable. It connects to another Linux machine (Fedora 4) which shows that the Infowave modem and the Amigo are both in a working condition.
>>
>> My machine is (supposed to be) identical to that working machine, except that mine is Fedora 8 and runs the new version of ARIA (2.5.1).
>>
>> I have added a couple of lines of code to my /etc/inittab file to set the correct serial port settings for the Infowave modem:
>>
>> s0:2345:respawn:/bin/chmod 666 /dev/ttyS0
>> s1:2345:respawn:/bin/stty -F /dev/ttyS0 38400 -parenb -cstopb cs8 crtscts
>>
>> I got this code snippet from that Fedora 4 machine and added them to mine.
>>
>> I also tried making and running demo but I get the same thing: modem and Amigo light up, but the Amigo doesn't move - it just keeps making constant sonar noises. So connection establishes, but then it appears to get stuck. Does that clarify my problem at all?
>>
>> Thanks Matt,
>>
>> ________________________________
>>
>>
>> Does it work if you connect to the amigobot directly with a serial cable
>> (and adapter)?
>>
>> You should also try demo instead, and then try teleop and unguarded
>> teleop and see if either work (let me know).
>>
>> Matt LaFary
>> MobileRobots Inc
>>
>>
>> - - - -
>>
>>
>>> Hi,
>>>
>>> No, it doesn't wander at all. It doesn't move. It keeps making sonar noises non-stop (until I hit the Escape).
>>>
>>> I am using ARIA 2.5.1 with Fedora 8
>>>
>>> The error message I get is this:
>>>
>>> Syncing 0
>>> No packet.
>>> Syncing 0
>>> Syncing 1
>>> Syncing 2
>>> Connected to robot.
>>> Name: hull_100022
>>> Type: Pioneer
>>> Subtype: amigo
>>> Loaded robot parameters from amigo.p
>>> ArRobot: rotVelMax of 15360 is over the absolute max of 2152, capping it
>>> ArRobot: setRotAccel of 11264 is over the absolute max of 3944, capping it
>>> ArRobot: setRotDecel of 11265 is over the absolute max of 3944, capping it
>>>
>>>
>>> - - -
>>>
>>>
>>> The 'ArRobot: <message>' things may be errors or because of strange
>>> settings in the firmware configuration. Does the robot drive forwards
>>> and avoid things like it's supposed to? You might also try wander mode
>>> in demo instead of wander, as its more tested and used.
>>>
>>> Matt LaFary
>>>
>>>
>>> - - -
>>>
>>>
>>>> Hi Reed,
>>>>
>>>> Your suggestion resolved my problem - thank you. Now I get another error message when I try to run wander.cpp. The modem red light and Amigo's amber light go on, but the Amigo keeps making sonar noises. And it doesn't stop unless I press escape. This is what I type in and what I get:
>>>>
>>>> cd /usr/local/Aria/examples
>>>>
>>>> ./wander
>>>>
>>>> This program will just have the robot wander around . . . . . .
>>>> Press CTRL-C or Escape to exit.
>>>> Could not connect to simulator, connecting to robot through serial port /dev/ttyS0.
>>>> Syncing 0
>>>> No packet.
>>>> Syncing 0
>>>> Syncing 1
>>>> Syncing 2
>>>> Connected to robot.
>>>> Name: hull_100022
>>>> Type: Pioneer
>>>> Subtype: amigo
>>>> Loaded robot parameters from amigo.p
>>>> ArRobot: rotVelMax of 15360 is over the absolute max of 2152, capping it
>>>> ArRobot: setRotAccel of 11264 is over the absolute max of 3944, capping it
>>>> ArRobot: setRotDecel of 11265 is over the absolute max of 3944, capping it
>>>
>>> - - - - -
>>>
>>>
>>>> Hi Hossein, it appears you are using GCC 4, which is more strict about C++
>>>> syntax than GCC 3.
>>>>
>>>> You can upgrade to ARIA 2.5.1 at http://robots.mobilerobots.com/ARIA <http://robots.mobilerobots.com/ARIA> which fixed
>>>> this problem (among many other changes -- see the Change Log to see what they
>>>> were and decide if you want to upgrade.)
>>>>
>>>> Or you can just edit ArArgumentBuilder.h and ArBasePacket.h and fix the errors
>>>> by removing the class qualifications from the method declarations, then
>>>> recompile ARIA by running 'make' in /usr/local/Aria. (And similar changes for
>>>> any other classes with the same problem.)
>>>>
>>>> Reed
>>>
>>>
>>>
>>>>> Hi everybody,
>>>>>
>>>>> I have a Fedora 8 machine that runs ARIA 2.4-1. It connects to an
>>>>> Amigobot using a pair of wireless Infowave modems. I have added a
>>>>> couple of lines of code to /etc/inittab to set the correct serial port
>>>>> settings for the modem.
>>>>>
>>>>> When I go to /usr/local/Aria/examples to run a simple example like
>>>>> wander.cpp this is what happens when I type in "make":
>>>>>
>>>>> make -C .. lib/libAria.so
>>>>> make[1]: Entering directory `/usr/local/Aria'
>>>>> make[1]: `lib/libAria.so' is up to date.
>>>>> make[1]: Leaving directory `/usr/local/Aria'
>>>>> make -C .. examples
>>>>> make[1]: Entering directory `/usr/local/Aria'
>>>>> g++ -g -Wall -D_REENTRANT -fno-exceptions -Iinclude
>>>>> examples/dpptuDemo.cpp -o examples/dpptuDemo -Llib -lAria -lpthread -ldl
>>>>> include/ArArgumentBuilder.h:86: error: extra qualification
>>>>> 'ArArgumentBuilder::' on member 'internalAdd'
>>>>> include/ArBasePacket.h:170: error: extra qualification 'ArBasePacket::'
>>>>> on member 'setMaxLength'
>>>>> make[1]: *** [examples/dpptuDemo] Error 1
>>>>> make[1]: Leaving directory `/usr/local/Aria'
>>>>> make: *** [all] Error 2
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> *****************************************************************************************
> To view the terms under which this email is distributed, please go to http://www.hull.ac.uk/legal/email_disclaimer.html
> *****************************************************************************************