From: Marcelo B. S. <bor...@dc...> - 2004-04-19 12:49:10
|
Hello, We are working with a pionner P3 AT and player version 1.3.2. The robots are equiped with a gyro How can I read de data from de gyro? there is any dispositive that acomplish this task? tanks, Marcelo Borghetti |
From: Brian G. <ge...@ro...> - 2004-04-19 16:14:22
|
On Mon, 19 Apr 2004, Marcelo Borghetti Soares wrote: > We are working with a pionner P3 AT and player > version 1.3.2. The robots are equiped with a gyro > How can I read de data from de > gyro? there is any dispositive that acomplish > this task? hi Marcelo, Where is this gyro connected? For example, is it connected to the AUX2 port on the P2OS board, or maybe directly to a serial port on the embedded computer? Also, what kind of gyro is it? brian. -- Brian P. Gerkey ge...@ro... Stanford Robotics Lab http://robotics.stanford.edu/~gerkey |
From: Marcelo B. S. <bor...@dc...> - 2004-04-19 16:46:06
|
Hi Brian, The operations manual of our pionner say that that gyro is attached to AN6 and AN7 analog-to-digital input ports on the H8S microcontroler. But, I have difficulties to understand that. I don't know the kind of gyro, the only thing that i said is that the gyro is the same got from active media robotics. Another problem we are faced in: I cant read de sonar array values in the scan variable. I indexed the array from 0 to 31 (like in Stage) and nothing is returned. I certified of load de driver in config file. Motor device work very well, but the sonar make seen stuck. thanks for all, Marcelo Borghetti Soares On Mon, 19 Apr 2004, Brian Gerkey wrote: > On Mon, 19 Apr 2004, Marcelo Borghetti Soares wrote: > > > We are working with a pionner P3 AT and player > > version 1.3.2. The robots are equiped with a gyro > > How can I read de data from de > > gyro? there is any dispositive that acomplish > > this task? > > > hi Marcelo, > > Where is this gyro connected? For example, is it connected to the > AUX2 port on the P2OS board, or maybe directly to a serial port on the > embedded computer? > > Also, what kind of gyro is it? > > > brian. > > -- > Brian P. Gerkey ge...@ro... > Stanford Robotics Lab http://robotics.stanford.edu/~gerkey > |
From: Marcelo B. S. <bor...@dc...> - 2004-04-20 20:46:34
|
Hi again I'm working with p2os_sonar driver, player v1.3.2 and robots Pionner P3 AT. Is this the correct driver for this kind of robots? I can't read anything from the arrays of sonars. help-me please and thanks, Marcelo Borghetti On Mon, 19 Apr 2004, Marcelo Borghetti Soares wrote: > Hi Brian, > > The operations manual of our pionner say that that gyro > is attached to AN6 and AN7 analog-to-digital input ports > on the H8S microcontroler. But, I have difficulties > to understand that. > I don't know the kind of gyro, the only thing that i said > is that the gyro is the same got from active media robotics. > > Another problem we are faced in: I cant read de sonar array > values in the scan variable. I indexed the array from 0 to 31 > (like in Stage) > and nothing is returned. I certified of load de driver in config > file. Motor device work very well, but the sonar make seen stuck. > > > thanks for all, > > Marcelo Borghetti Soares > > > > > > On Mon, 19 Apr 2004, Brian Gerkey wrote: > > > On Mon, 19 Apr 2004, Marcelo Borghetti Soares wrote: > > > > > We are working with a pionner P3 AT and player > > > version 1.3.2. The robots are equiped with a gyro > > > How can I read de data from de > > > gyro? there is any dispositive that acomplish > > > this task? > > > > > > hi Marcelo, > > > > Where is this gyro connected? For example, is it connected to the > > AUX2 port on the P2OS board, or maybe directly to a serial port on the > > embedded computer? > > > > Also, what kind of gyro is it? > > > > > > brian. > > > > -- > > Brian P. Gerkey ge...@ro... > > Stanford Robotics Lab http://robotics.stanford.edu/~gerkey > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > |
From: Brian G. <ge...@ro...> - 2004-04-20 23:46:01
|
On Tue, 20 Apr 2004, Marcelo Borghetti Soares wrote: > I'm working with p2os_sonar driver, player v1.3.2 and > robots Pionner P3 AT. Is this the correct driver for this > kind of robots? I can't read anything from the arrays of sonars. hi Marcelo, Yes, you're using the right driver. Are the sonar values all zero? Try 'playerv' to visualize the data, and 'playerprint' (in examples/c++) to print it out. I assume that ARIA/Saphira can read the sonars OK? I don't see anything different about the Pioneer 3 from the manual, so I'm not sure what's going on here. Anybody else out there had luck with getting sonar data from a Pioneer 3? brian. -- Brian P. Gerkey ge...@ro... Stanford Robotics Lab http://robotics.stanford.edu/~gerkey |
From: Brian G. <ge...@ro...> - 2004-04-20 23:56:05
|
One more thing: are the sonars actually firing? When they fire, you can hear them, as a kind of clicking or crackling. brian. On Tue, 20 Apr 2004, Brian Gerkey wrote: > On Tue, 20 Apr 2004, Marcelo Borghetti Soares wrote: > > > I'm working with p2os_sonar driver, player v1.3.2 and > > robots Pionner P3 AT. Is this the correct driver for this > > kind of robots? I can't read anything from the arrays of sonars. > > hi Marcelo, > > Yes, you're using the right driver. Are the sonar values all zero? > Try 'playerv' to visualize the data, and 'playerprint' (in examples/c++) > to print it out. > > I assume that ARIA/Saphira can read the sonars OK? > > I don't see anything different about the Pioneer 3 from the manual, so I'm > not sure what's going on here. > > Anybody else out there had luck with getting sonar data from a Pioneer 3? > > brian. > > -- Brian P. Gerkey ge...@ro... Stanford Robotics Lab http://robotics.stanford.edu/~gerkey |
From: Marcelo B. S. <bor...@dc...> - 2004-04-21 00:44:18
|
Hi Brian, Yes, the sonars are fire... I hear all of them. But the double variable SCAN returns zero for all sonar array. I'm using PLAYERC_CLIENT_READ to update the data in my client program, but nothing happens. ARIA/Saphira read the sonars perfectly, but i'm trying write all code with the player library. thanks, Marcelo Borghetti On Tue, 20 Apr 2004, Brian Gerkey wrote: > > One more thing: are the sonars actually firing? When they fire, you can > hear them, as a kind of clicking or crackling. > > brian. > > On Tue, 20 Apr 2004, Brian Gerkey wrote: > > > On Tue, 20 Apr 2004, Marcelo Borghetti Soares wrote: > > > > > I'm working with p2os_sonar driver, player v1.3.2 and > > > robots Pionner P3 AT. Is this the correct driver for this > > > kind of robots? I can't read anything from the arrays of sonars. > > > > hi Marcelo, > > > > Yes, you're using the right driver. Are the sonar values all zero? > > Try 'playerv' to visualize the data, and 'playerprint' (in examples/c++) > > to print it out. > > > > I assume that ARIA/Saphira can read the sonars OK? > > > > I don't see anything different about the Pioneer 3 from the manual, so I'm > > not sure what's going on here. > > > > Anybody else out there had luck with getting sonar data from a Pioneer 3? > > > > brian. > > > > > > -- > Brian P. Gerkey ge...@ro... > Stanford Robotics Lab http://robotics.stanford.edu/~gerkey > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > |
From: Brian G. <ge...@ro...> - 2004-04-22 04:53:23
|
hi, I've just checked in a new driver that adds preliminary support for the gryo that comes with some Pioneer 3s. If you're interested in trying it out, you should get the latest code from CVS. This driver supports the 'position' interface, just filling the 'yawspeed' field. To use it, add the following line to your Player .cfg file: position:1 (driver "p2os_gyro") I have *not* tested this code (there were no robots available on the plane where I wrote the code). Furthermore, some thought and experimentation needs to go into deciding how to handle the gyro rate values. Right now, I'm just averaging each set of measurements (they arrive in groups of 4) and reporting the resulting mean, in the gyro's own arbitrary units, as the 'yawspeed.' There's much to be done here in terms of filtering and calibration (I'm currently ignoring the temperature values that come with each rate) in order to get meaningful angular rates. I won't be doing this work, since I don't have access to the hardware. For those interested, start by looking at SIP::ParseGyro() in server/drivers/mixed/p2os/sip.cc. And send in your patches! brian. -- Brian P. Gerkey ge...@ro... Stanford Robotics Lab http://robotics.stanford.edu/~gerkey |
From: Marcelo B. S. <bor...@dc...> - 2004-04-22 11:40:54
|
> hi, > > I've just checked in a new driver that adds preliminary support for the > gryo that comes with some Pioneer 3s. If you're interested in trying it > out, you should get the latest code from CVS. > > This driver supports the 'position' interface, just filling the 'yawspeed' > field. To use it, add the following line to your Player .cfg file: > position:1 (driver "p2os_gyro") > > I have *not* tested this code (there were no robots available on the plane > where I wrote the code). Furthermore, some thought and experimentation > needs to go into deciding how to handle the gyro rate values. Right now, > I'm just averaging each set of measurements (they arrive in groups of 4) > and reporting the resulting mean, in the gyro's own arbitrary units, as > the 'yawspeed.' > > There's much to be done here in terms of filtering and calibration (I'm > currently ignoring the temperature values that come with each rate) > in order to get meaningful angular rates. I won't be doing this work, > since I don't have access to the hardware. For those interested, start > by looking at SIP::ParseGyro() in server/drivers/mixed/p2os/sip.cc. > And send in your patches! I'll try use this driver soon. Thanks for help, Marcelo ----------------------------------------------- Marcelo Borghetti Soares - bor...@dc... VeRLab - Laboratorio de Visao e Robotica - UFMG |
From: Richard V. <va...@cs...> - 2004-04-21 02:35:20
|
Marcelo, I have similar equipment to you and things work fine. Do you have the same problem using the C++ client library? Could you post the smallest client program that demonstrates your problem? We may be able to spot the trouble. Richard. On Apr 20, 2004, at 5:41 PM, Marcelo Borghetti Soares wrote: > Hi Brian, > > Yes, the sonars are fire... I hear all of them. > But the double variable SCAN returns zero for all > sonar array. I'm using PLAYERC_CLIENT_READ to > update the data in my client program, but nothing > happens. > > ARIA/Saphira read the sonars perfectly, but i'm trying > write all code with the player library. > > thanks, > > Marcelo Borghetti > > On Tue, 20 Apr 2004, Brian Gerkey wrote: > >> >> One more thing: are the sonars actually firing? When they fire, you >> can >> hear them, as a kind of clicking or crackling. >> >> brian. >> >> On Tue, 20 Apr 2004, Brian Gerkey wrote: >> >>> On Tue, 20 Apr 2004, Marcelo Borghetti Soares wrote: >>> >>>> I'm working with p2os_sonar driver, player v1.3.2 and >>>> robots Pionner P3 AT. Is this the correct driver for this >>>> kind of robots? I can't read anything from the arrays of sonars. >>> >>> hi Marcelo, >>> >>> Yes, you're using the right driver. Are the sonar values all zero? >>> Try 'playerv' to visualize the data, and 'playerprint' (in >>> examples/c++) >>> to print it out. >>> >>> I assume that ARIA/Saphira can read the sonars OK? >>> >>> I don't see anything different about the Pioneer 3 from the manual, >>> so I'm >>> not sure what's going on here. >>> >>> Anybody else out there had luck with getting sonar data from a >>> Pioneer 3? >>> >>> brian. >>> >>> >> >> -- >> Brian P. Gerkey ge...@ro... >> Stanford Robotics Lab >> http://robotics.stanford.edu/~gerkey >> >> >> >> ------------------------------------------------------- >> This SF.Net email is sponsored by: IBM Linux Tutorials >> Free Linux tutorial presented by Daniel Robbins, President and CEO of >> GenToo technologies. Learn everything from fundamentals to system >> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click >> _______________________________________________ >> Playerstage-users mailing list >> Pla...@li... >> https://lists.sourceforge.net/lists/listinfo/playerstage-users >> > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > -- Richard Vaughan School of Computing Science / Simon Fraser University |
From: Marcelo B. S. <bor...@dc...> - 2004-04-22 11:22:34
|
Hi Richard, the code I wrote: //*-------------------------------------------------------* client = playerc_client_create(NULL, "localhost", 6665); playerc_client_connect(client); position_client = playerc_position_create(client, 0); playerc_position_subscribe(position_client, PLAYER_ALL_MODE); sonar_client = playerc_sonar_create(client, 0); playerc_sonar_subscribe(sonar_client, PLAYER_ALL_MODE); playerc_client_read(client); playerc_position_enable(position_client, 1); playerc_position_set_speed(position_client, 0, 0, 0); for (;;) { playerc_client_read(client); for (count=0; count<31; count++) printf("%.1f,", sonar_client->scan[count]); printf("\n"); } //*-----------------------------------------------------------* On Tue, 20 Apr 2004, Richard Vaughan wrote: > I have similar equipment to you and things work fine. Do you have the > same problem using the C++ client library? Could you post the smallest > client program that demonstrates your problem? We may be able to spot > the trouble. thanks, Marcelo ----------------------------------------------- Marcelo Borghetti Soares - bor...@dc... VeRLab - Laboratorio de Visao e Robotica - UFMG |
From: Brian G. <ge...@ro...> - 2004-04-27 18:56:09
|
On Thu, 22 Apr 2004, Marcelo Borghetti Soares wrote: > the code I wrote: > > //*-------------------------------------------------------* > client = playerc_client_create(NULL, "localhost", 6665); > playerc_client_connect(client); > > position_client = playerc_position_create(client, 0); > playerc_position_subscribe(position_client, PLAYER_ALL_MODE); > > sonar_client = playerc_sonar_create(client, 0); > playerc_sonar_subscribe(sonar_client, PLAYER_ALL_MODE); > > playerc_client_read(client); > playerc_position_enable(position_client, 1); > > playerc_position_set_speed(position_client, 0, 0, 0); > > for (;;) > { > playerc_client_read(client); > for (count=0; count<31; count++) > printf("%.1f,", sonar_client->scan[count]); > printf("\n"); > } > > //*-----------------------------------------------------------* hi Marcelo, Your code looks OK to me, although you really must check the return values from the libplayerc functions. Just like system and standard library calls, each libplayerc function returns a value to indicate whether it succeeded or failed. If you don't check the return values, you won't know, for example, whether subscribing to the sonars actually worked. Please modify your code to check all the return values and verify that they all succeed. Assuming that they do succeed... Have you tried visualizing the data with playerv? Run playerv, and click on Devices->sonar:0->Subscribe. You should see the sonars as brown cones emanating from the center of the display. If you can see the sonar data in playerv, then player is working and libplayerc is working (playerv uses libplayerc), so you must be doing something wrong in your use of libplayerc. If you can't see the sonar data in playerv, then I suspect the problem is in player. To be sure, try playerprint, which uses the C++ client library (you can playerprint in the player distribution in examples/c++). For example: $ playerprint sonar should print out sonar range values on the console. Let me know the results of these tests and then we'll continue the debugging. One more thing: do you have the latest Pioneer configuration parameters? See this message for how to get the new ones for the Pioneer 3 from CVS: http://sourceforge.net/mailarchive/message.php?msg_id=6993046 brian. -- Brian P. Gerkey ge...@ro... Stanford AI Lab http://ai.stanford.edu/~gerkey |
From: Marcelo B. S. <bor...@dc...> - 2004-04-30 19:35:27
|
Hi Brian, We installed the more recently version from CVS. After that, the sonar looks good. Then, we try capture the value from gyro (the last version from CVS include the ps2os_gyro). In the configure file were included the line specifing the driver p2os_gyro. How can I read the data using the 'position interface'? We access the value from 'yawspeed' using 'struct_player_position_data' but thats looks weird. The value returned from that is equal to the value of 'x_pos', 'y_pos', etc, and surprisengly 'va'. How can we relate de 'yawspeed' with the gyro dispositive (position) using the libplayerc??? Access the value from 'yawspeed' is very strange because it's not present in the variable list of 'position interface'. thanks, Marcelo Borghetti On Tue, 27 Apr 2004, Brian Gerkey wrote: > On Thu, 22 Apr 2004, Marcelo Borghetti Soares wrote: > > > the code I wrote: > > > > //*-------------------------------------------------------* > > client = playerc_client_create(NULL, "localhost", 6665); > > playerc_client_connect(client); > > > > position_client = playerc_position_create(client, 0); > > playerc_position_subscribe(position_client, PLAYER_ALL_MODE); > > > > sonar_client = playerc_sonar_create(client, 0); > > playerc_sonar_subscribe(sonar_client, PLAYER_ALL_MODE); > > > > playerc_client_read(client); > > playerc_position_enable(position_client, 1); > > > > playerc_position_set_speed(position_client, 0, 0, 0); > > > > for (;;) > > { > > playerc_client_read(client); > > for (count=0; count<31; count++) > > printf("%.1f,", sonar_client->scan[count]); > > printf("\n"); > > } > > > > //*-----------------------------------------------------------* > > hi Marcelo, > > Your code looks OK to me, although you really must check the return values > from the libplayerc functions. Just like system and standard library > calls, each libplayerc function returns a value to indicate whether it > succeeded or failed. If you don't check the return values, you won't > know, for example, whether subscribing to the sonars actually worked. > Please modify your code to check all the return values and verify that > they all succeed. > > Assuming that they do succeed... > > Have you tried visualizing the data with playerv? Run playerv, and > click on Devices->sonar:0->Subscribe. You should see the sonars as > brown cones emanating from the center of the display. > > If you can see the sonar data in playerv, then player is working and > libplayerc is working (playerv uses libplayerc), so you must be doing > something wrong in your use of libplayerc. If you can't see the sonar > data in playerv, then I suspect the problem is in player. > > To be sure, try playerprint, which uses the C++ client library (you can > playerprint in the player distribution in examples/c++). For example: > $ playerprint sonar > should print out sonar range values on the console. > > Let me know the results of these tests and then we'll continue the > debugging. > > One more thing: do you have the latest Pioneer configuration parameters? > See this message for how to get the new ones for the Pioneer 3 from CVS: > http://sourceforge.net/mailarchive/message.php?msg_id=6993046 > > brian. > > -- > Brian P. Gerkey ge...@ro... > Stanford AI Lab http://ai.stanford.edu/~gerkey > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek > For a limited time only, get FREE Ground shipping on all orders of $35 > or more. Hurry up and shop folks, this offer expires April 30th! > http://www.thinkgeek.com/freeshipping/?cpg=12297 > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > ----------------------------------------------- Marcelo Borghetti Soares - bor...@dc... VeRLab - Laboratorio de Visao e Robotica - UFMG |
From: Brian G. <ge...@ro...> - 2004-05-01 17:34:33
|
On Fri, 30 Apr 2004, Marcelo Borghetti Soares wrote: > We installed the more recently version from CVS. > After that, the sonar looks good. Glad to hear it. > Then, we try capture the value from gyro (the last version > from CVS include the ps2os_gyro). In the configure file > were included the line specifing the driver > p2os_gyro. How can I read the data using the 'position > interface'? We access the value from 'yawspeed' using > 'struct_player_position_data' but thats looks weird. > The value returned from that is equal to the value of > 'x_pos', 'y_pos', etc, and surprisengly 'va'. > How can we relate de 'yawspeed' with the gyro dispositive > (position) using the libplayerc??? Access the value from > 'yawspeed' is very strange because it's not present in the > variable list of 'position interface'. We call the field in question 'yawspeed' in the protocol specification, but each client library may call it something else. In the case of libplayerc, it's called 'va'. So that is the value that you should examine. Btw, make sure that you're accessing the gyro as a *different* position device. For example, your config file should look something like: position:0 (driver "p2os_position") sonar:0 (driver "p2os_sonar") position:1 (driver "p2os_gyro") Then you would access the robot base as the 0th position device and the gryo as the 1st position device. You can specify the index (0 or 1 in this case) when you call playerc_position_create(). The values for 'va' will definitely look weird. As I mentioned in my previous mail, the p2os_gyro driver is currently reporting the raw values from the gyro, which are on some arbitrary scale between 0 and 1023. Then libplayerc is assuming that the units are degrees/second (that's what the protocol specification says) and is converting them to radians/second for you. You'll need to modify SIP::ParseGyro() in server/drivers/mixed/p2os/sip.cc to that some sensible unit coversion is done. Without the actual hardware, I can't do that conversion for you. brian. -- Brian P. Gerkey ge...@ro... Stanford AI Lab http://ai.stanford.edu/~gerkey |
From: Michael B. <mb...@cs...> - 2004-04-21 01:57:37
|
Hi Marcelo and Brian, > Anybody else out there had luck with getting sonar data from > a Pioneer 3? The sonar works fine on our Pioneer 3-DX. The only problem we ran into was that the p2os parameter files (even in Player 1.4rc2) didn't contain data for the Pioneer 3. So we needed to copy the updated files (robot_params.cc and robot_params.h) from CVS to server/drivers/mixed/p2os and re-compile Player. It doesn't seem like this would solve the particular problem you're describing though. Before updating the parameter files, we only got values for 8 of the 16 sonars, but the values weren't zero. -Michael > hi Marcelo, > > Yes, you're using the right driver. Are the sonar values all zero? > Try 'playerv' to visualize the data, and 'playerprint' (in examples/c++) > to print it out. > > I assume that ARIA/Saphira can read the sonars OK? > > I don't see anything different about the Pioneer 3 from the manual, so I'm > not sure what's going on here. > > Anybody else out there had luck with getting sonar data from a Pioneer 3? > > brian. |
From: Brian G. <ge...@ro...> - 2004-04-20 23:42:24
|
On Mon, 19 Apr 2004, Marcelo Borghetti Soares wrote: > The operations manual of our pionner say that that gyro > is attached to AN6 and AN7 analog-to-digital input ports > on the H8S microcontroler. But, I have difficulties > to understand that. > I don't know the kind of gyro, the only thing that i said > is that the gyro is the same got from active media robotics. hi Marcelo, Ok, I've just read the relevant section on the gyro in the manual. We get the gyro data by sending a special command to the robot and then parsing a special packet that it returns. This has not yet been implemented in Player. It'll be easy to implement getting the data, and the simplest thing to do will be to present the data via the 'position' interface, with just the 'yawspeed' field filled in. We do the same thing now for the Pioneer compass, but fill in the 'yaw' field. When I get a chance, I'll do this and send you some code to try (I don't actually have a Pioneer 3 or gyro here to test). In the meantime, if you you want to do it yourself, have a look in the code at server/drivers/mixed/p2os. brian. -- Brian P. Gerkey ge...@ro... Stanford Robotics Lab http://robotics.stanford.edu/~gerkey |