0
$\begingroup$

Rosanswers logo

I have a setup with two laptops connected through Wi-Fi. One laptop runs the roscore and joy node, publishing geometry_msgs/Twist messages. The other laptop receives these messages correctly (rostopic echo /p3dx/cmd_vel on both laptops returns the same messages).

The RosAria node (renamed p3dx) listens on the /p3dx/cmd_vel topic for these messages and receives them. When the angular velocity of z is 0.5 m/s, it says to receive:

RosAria: rcv: 1382108077.236526 0.000000 -0.495674

And sent correctly:

RosAria: sent vels to to aria (time 1382108077.164065): x vel -60.710151 mm/s, y vel 0.000000 mm/s, ang vel -28.647890 deg/s

However, when the linear velocity of x is 0.5 m/s, it says to receive:

RosAria: rcv: 1382108210.788572 0.000000 -0.034907

(The small angular velocity is due to operation of a joystick.) And sent incorrectly:

RosAria: sent vels to to aria (time 1382108210.885190): x vel 500.000000 mm/s, y vel 0.000000 mm/s, ang vel -2.053801 deg/s

Luckily, the robot remains stationary and doesn't try to move forward at full speed. However, it simply always remains stationary. Reducing the sent linear velocity in the geometry_msgs/Twist message did not resolve the issue.

I have no idea where this multiplication comes from, nor how to debug it.

Edit: The question was ill-posed. The actual issue is that the linear velocity is not applied to the robot, while the angular velocity is.

Edit: RosAria ouput:

RosAria: using port: [/dev/ttyS0]
Could not connect to simulator, connecting to robot through serial port /dev/ttyS0.
Syncing 0
Syncing 1
Syncing 2
Connected to robot.
Name: Artesis_4106
Type: Pioneer
Subtype: p3dx-sh
Loaded robot parameters from p3dx-sh.p
Setting TicksMM from ROS Parameter: 1
Setting DriftFactor from ROS Parameter: 0
Setting RevCount from ROS Parameter: 16570
RosAria: publishing new recharge state 0.
RosAria: publishing new motors state 0.
RosAria: publishing new motors state 1.

Originally posted by RafBerkvens on ROS Answers with karma: 386 on 2013-10-18

Post score: 0


Original comments

Comment by ReedHedges on 2013-10-18:
I'm not sure I understand your question. RosAria accepts cmd_vel Twist messages in m/s, but converts that to mm/s since that's what ARIA and the Pioneer use. The "RosAria: rcv" Message is just incorrectly printed, I'll fix that.

Comment by RafBerkvens on 2013-10-18:
@ReedHedges The main problem is that the robot isn't moving forward, just turning.

Comment by RafBerkvens on 2013-10-18:
@ReedHedges true! I only now see the unit in mm/s. So that's the correct speed. Yet, this is not applied to the robot.

Comment by ReedHedges on 2013-10-18:
Perhaps you have the same problem as http://answers.ros.org/question/91466/how-to-move-pioneer-3-at-with-rosaria/ . Post what RosAria prints out for Type: and Subtype: when it connects and I'll look up some calibration parameters you may need to set manually (temporarily until RosAria is fixed)

Comment by RafBerkvens on 2013-10-20:
It reads as the same problem, but the parameters that were off for him seem to be correct for me. Or I might have checked those at the wrong location.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

These log messages indicate that it is setting TicksMM to an incorrect value at startup:

Setting TicksMM from ROS Parameter: 1
Setting DriftFactor from ROS Parameter: 0
Setting RevCount from ROS Parameter: 16570

You can change them on the command line when using rosrun or set with dynamic reconfigure.

For a P3DX-SH change TicksMM to 128.


Originally posted by ReedHedges with karma: 821 on 2013-10-21

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by RafBerkvens on 2013-10-21:
Thanks, this did the trick indeed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.