Re: [Playerstage-users] Problem at reading speeds.

 Re: [Playerstage-users] Problem at reading speeds. From: Marcelo Salazar - 2007-12-13 10:39:35 ```Hello Brian: I'd like to thankful the information that you have provided. We've been working hardly and we found two problems: 1) Goals written to P3-DX robot: We found that if we use: direct_wheel_vel_control "1" -> default. It "set independent wheel velocities", so the increment is 20 mm/s, and it hasn't enough precision. In most of cases the goal is wrong. To solve this problem, we changed the .cfg file: driver ( name "p2os" provides [....] port "..." direct_wheel_vel_control "0" ) Now, we are working with Translation and Rotation speeds written directly to the P3-DX robot. The Arcos' software is going to calculate the wheel velocities. 2) Readings from P3-DX robot: If we set the rotational speed to zero the P3-DX robot moves well. When the rotational speed was set to non-zero, the P3-DX moved wrong and we received data wrong. We found that the distance between wheels was wrong. In P3-DX is 330mm. The constant value "DiffConvFactor" needs to be changed to 0.00606 (2/330). (file: robot_params.cc, p3dx_sh_params, line 3 of the struct) (before it was 0.0056) Now, when the rotational speed is set to non-zero, the P3-DX moves well and we receive data well. If you or somebody think that we are doing some wrong, please let us now. If you think that we are doing things well, please let us now too. We hope your answers. Thanks in advance. Marcelo Salazar Juan Calder=F3n ------------------------------------- On Dec 10, 2007, at 5:11 AM, Marcelo Salazar wrote: > I've been working with Player and P3-DX robot, and I have a problem =20 > at reading speeds. > > Linear Speed =3D 0.0 > > Angular Speed =3D 0.9 (This is my problem!, It sould be 1.0 =20 > approximately) > > When I measure with an oscilloscope in the motor=92s encoder, and I =20 > do the calculations, I obtain 1.0 approximately. > > When I use ARIA's lib, I haven't any problem. > That's interesting. Perhaps there's a bug in Player's p2os driver. =20 I'd recommend looking at player/server/drivers/mixed/p2os/sip.cc. =20 The packets from the robot are parsed in SIP::Parse, and the Player =20 data structures are filled in SIP::Fill. brian. ```

 [Playerstage-users] Problem at reading speeds. From: Marcelo Salazar - 2007-12-10 13:13:14 Attachments: Message as HTML ```Hello: I've been working with Player and P3-DX robot, and I have a problem at reading speeds. When I use the command: playerc_position2d_set_cmd_vel() I'm writing linear and angular speed. For example, when I write: Linear Speed = 0.0 Angular Speed = 1.0 At reading with: playerc_client_read() I receive: Linear Speed = 0.0 Angular Speed = 0.9 (This is my problem!, It sould be 1.0 approximately) When I measure with an oscilloscope in the motor's encoder, and I do the calculations, I obtain 1.0 approximately. Why I receive it? Are there any bug in the Player Server code? When I use ARIA's lib, I haven't any problem. When I try this Player code with Stage, I haven't any problem too. Somebody have the same problem? Please help me. Thanks in advance. Marcelo Salazar ```
 Re: [Playerstage-users] Problem at reading speeds. From: Brian Gerkey - 2007-12-11 02:17:09 ```On Dec 10, 2007, at 5:11 AM, Marcelo Salazar wrote: > I've been working with Player and P3-DX robot, and I have a problem =20= > at reading speeds. > > Linear Speed =3D 0.0 > > Angular Speed =3D 0.9 (This is my problem!, It sould be 1.0 =20 > approximately) > > When I measure with an oscilloscope in the motor=92s encoder, and I =20= > do the calculations, I obtain 1.0 approximately. > > When I use ARIA's lib, I haven't any problem. > That's interesting. Perhaps there's a bug in Player's p2os driver. =20 I'd recommend looking at player/server/drivers/mixed/p2os/sip.cc. =20 The packets from the robot are parsed in SIP::Parse, and the Player =20 data structures are filled in SIP::Fill. brian. ```
 Re: [Playerstage-users] Problem at reading speeds. From: Marcelo Salazar - 2007-12-13 10:39:35 ```Hello Brian: I'd like to thankful the information that you have provided. We've been working hardly and we found two problems: 1) Goals written to P3-DX robot: We found that if we use: direct_wheel_vel_control "1" -> default. It "set independent wheel velocities", so the increment is 20 mm/s, and it hasn't enough precision. In most of cases the goal is wrong. To solve this problem, we changed the .cfg file: driver ( name "p2os" provides [....] port "..." direct_wheel_vel_control "0" ) Now, we are working with Translation and Rotation speeds written directly to the P3-DX robot. The Arcos' software is going to calculate the wheel velocities. 2) Readings from P3-DX robot: If we set the rotational speed to zero the P3-DX robot moves well. When the rotational speed was set to non-zero, the P3-DX moved wrong and we received data wrong. We found that the distance between wheels was wrong. In P3-DX is 330mm. The constant value "DiffConvFactor" needs to be changed to 0.00606 (2/330). (file: robot_params.cc, p3dx_sh_params, line 3 of the struct) (before it was 0.0056) Now, when the rotational speed is set to non-zero, the P3-DX moves well and we receive data well. If you or somebody think that we are doing some wrong, please let us now. If you think that we are doing things well, please let us now too. We hope your answers. Thanks in advance. Marcelo Salazar Juan Calder=F3n ------------------------------------- On Dec 10, 2007, at 5:11 AM, Marcelo Salazar wrote: > I've been working with Player and P3-DX robot, and I have a problem =20 > at reading speeds. > > Linear Speed =3D 0.0 > > Angular Speed =3D 0.9 (This is my problem!, It sould be 1.0 =20 > approximately) > > When I measure with an oscilloscope in the motor=92s encoder, and I =20 > do the calculations, I obtain 1.0 approximately. > > When I use ARIA's lib, I haven't any problem. > That's interesting. Perhaps there's a bug in Player's p2os driver. =20 I'd recommend looking at player/server/drivers/mixed/p2os/sip.cc. =20 The packets from the robot are parsed in SIP::Parse, and the Player =20 data structures are filled in SIP::Fill. brian. ```