0
$\begingroup$

Rosanswers logo

I have 3 pioneers, only one of which is running p2os. The two running Aria are all set up in terms of teleop and working with the navigation stack, I am having a problem with the Pioneer 2 with p2os. I followed the tutorials carefully, but I have an error I can't seem to fix. I have an external laptop hooked up via USB2Serial connection. I have a launch script like so

 <node name="p2os" pkg="p2os_driver" type="p2os" ns="$(env NAMESPACE)" output="screen" >
      <param name="port" value="/dev/Aria" />
      <remap from="/cmd_vel" to="/virtual_joystick/cmd_vel" />
      <remap from="pose" to="odom" />
   </node>

When I run the launch, it outputs the following message repeatedly for about a minute before crashing. I have tried changing permissions on my symlink, on ttyUSB*, and directly on the bus port its on, to no avail.

[ERROR] [1347049242.964984100][/robot_brain_3/p2os]: Error reading packet header from robot connection: P2OSPacket():Receive():read(): [Receive]

Also if you look on the display screen on the robot, it says No Conn 9.6kb p2os v1.p 14.8 Specifically the no conn presumably means no connection...but the output is different than if I just turned off the pioneer. It is clearly receiving something.

Oh and running the dashboard works, but it just spams the error in it's little logger, can't get any other useful information.

Any ideas?

Edit* Sample process

sudo apt-get install ros-electric-p2os
sudo chmod 777 -R /dev/ttyUSB0
sudo chmod 777 -R /dev/Aria
sudo chmod 777 -R /dev/bus/usb/001/126  #these are all the same, just for sanity's sake
roslaunch p2os_launch sample_p2os.launch #where sample_p2os.launch is a script like above

[INFO] [/robot_brain_3/p2os]: using serial [port]: [/dev/Aria] [P2OSNODE]
[INFO] [/robot_brain_3/p2os]: P2OS connection opening serial port /dev/Aria...[Setup]
[ERROR] [/robot_brain_3/p2os]: Error reading packet header from robot connection: P2OSPacket():Receive():read(): [Receive]
[ERROR] [/robot_brain_3/p2os]: Error reading packet header from robot connection: P2OSPacket():Receive():read(): [Receive]
[ERROR] [/robot_brain_3/p2os]: Error reading packet header from robot connection: P2OSPacket():Receive():read(): [Receive]

Originally posted by Jyo on ROS Answers with karma: 100 on 2012-09-07

Post score: 3


Original comments

Comment by jbohren on 2012-09-09:
Does "/dev/Aria" exist, and what is it on this system if you're not using Aria?

Comment by Jyo on 2012-09-10:
`/dev/Aria does exist, and it is the usb2serial device to the pioneer. It is called Aria just for consistency sake, it could be renamed to /dev/pioneer or something.

Comment by jbohren on 2012-09-29:
Did you ever get this working?

Comment by jbohren on 2012-09-29:
What version of P2OS does your pioneer have? I found one with 1.D and it's giving the same error. Apparently the latest version is 1.Q

Comment by Jyo on 2012-10-01:
I have not gotten it working yet, it has been kind of sidelined, but I am using 1.P. I could try flashing the newest version, but it seems odd that that would be the issue :/

Comment by jbohren on 2012-10-01:
Yeah, if you're only one version off, it's probably not that. We spent some time hacking on a Pioneer2 over the weekend and got stuck with the same error you're reporting.

Comment by Mendelson on 2013-09-30:
Has anybody managed to solve this problem? I'm facing the same issue... I'm using a Pioneer P3-AT, Ubuntu 12.04 LTS, ROS Hydro.

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Add the user to the group dialout

Don't waist time to set rights on your usb devices.

On Ubuntu 12.04 it is enough to add the user to the group dialout

sudo usermod -a -G dialout $USER

The user have to logout and to login again to update the policy.

Greetings Markus


Originally posted by Markus Bader with karma: 847 on 2012-10-10

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$
0
$\begingroup$

Rosanswers logo

I don't recommend you use Aria. We have three pioneers at Vanderbilt, all of which are running ubuntu and working with ROS. No Aria is required. There P2OS driver is working with electric and is installable through the package manager.

To fix your current problem, you might try this:

sudo chmod 777 -R /dev/ttyUSB0

It is picky about user rights.


Originally posted by allenh1 with karma: 3055 on 2012-09-09

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by Jyo on 2012-09-10:
I did try sudo chmod 777 -R /dev/ttyUSB0. And I am also using that p2os driver. However Is the p2os driver really only compatible with electric? I am using fuerte on this install, that could be the issue?
Edit* Just tried on a electric install, no go.

Comment by jbohren on 2012-10-03:
Which version of P2OS is on your pioneers?

Comment by allenh1 on 2012-10-03:
The ros-electric-p2os package from the ubuntu repository.

Comment by jbohren on 2012-10-03:
I mean the version of the embedded OS on the pioneer robot itself. 1.A... 1.Q?

Comment by allenh1 on 2012-10-03:
I'll have to get back to you on that... They are Pioneer-3DX robots. I am not sure how to get the OS version, but, if you provide instructions, I am very willing to.

Comment by jbohren on 2012-10-03:
Aha! So I'm pretty sure our problem is Pioneer 2 related.

$\endgroup$

Your Answer

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