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.