ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

pr2 cannot install pr2_robot

asked 2018-03-12 12:37:37 -0500

CodyLL gravatar image

updated 2018-03-12 12:55:17 -0500

gvdhoorn gravatar image

While debugging audio drivers on the pr2 robot the package pr2_robot was unintentionally uninstalled. I cannot seem to install ros-indigo-pr2-robot again. pr2_robot is also a dependency for pr2-core which needs to be reinstalled.

I followed the instructions here.
and here

The problem being the prior Clearpath server is no longer available as far as I can tell

I emailed Clearpath for a replacement location and they replied with this url

I tired to get the key via this command

sudo wget | sudo apt-key add

and then updated my source list to look like this

deb trusty pr2  
deb trusty main

This includes many of the pr2 debs but does not include the install for ros-indigo-pr2-robot.
I still get this result

sudo apt-get update

sudo apt-get install  ros-indigo-pr2-robot
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ros-indigo-pr2-robot is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'ros-indigo-pr2-robot' has no installation candidate

Is there anther location I am missing that needs to be added to my source lists or a way to manually install ros-indigo-pr2-robot so that pr2-core can be installed?

Please let me know any additional information that may help.
Thanks for any assistance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-03-15 18:00:41 -0500

CodyLL gravatar image

Although I would not call it the cleanest solution I did manage to get the pr2 working again. As I could not find a proper install method for ros-indigo-pr2_robot and the install did not actually contain much I used the program equivs to trick apt into thinking it was installed to fulfill the dependency of other packages I needed to install. I used this method

These are the exact commands

$ sudo apt-get install equivs
$ mkdir equivs_test
$ cd equivs_test/
$ equivs-control ros-indigo-pr2-robot.control
$ nano ros-indigo-pr2-robot.control
the primary line changed was package: ros-indigo-pr2-robot
$ equivs-build ros-indigo-pr2-robot.control
$ sudo dpkg -i ros-indigo-pr2-robot_1.0_all.deb
$ sudo apt-get install ros-indigo-pr2-robot
states newest version is already installed as I hoped

I then installed the main pr2 packages in a somewhat random order

$ sudo apt-get install pr2-installer
$ sudo apt-get install pr2-chrony pr2-ckill pr2-core pr2-core-indigo pr2-environment pr2-ft pr2-iptables.d pr2-net* pr2-nuc-ssh pr2-sys* pr2-users pr2-webui

pr2-webui would not install. I saved the original output of these commands if anyone is interested.

I can now run the command robot start and the robot is beeping on boot unlike before but c2 is not booting correctly by default. I can get c2 to boot correctly by starting the robot and letting c2 boot into the clearpath OS then running the service dnsmasq manually on c1.

$ sudo service dnsmasq stop
$ sudo dnsmasq -d # -d is optional to see debug info

When dnsmasq is running on c1 simply reboot the clearpath OS on c2 using a monitor and keyboard and it will netboot correctly from c1. robot start is now successful on c1.

I set the service dnsmasq to run on startup on c1. I do not know if this was necessary or even a good thing to do but it did not solve the problem. I am including it here simple for debugging and records.

$ sudo update-rc.d dnsmasq defaults
$ sudo update-rc.d dnsmasq enable
update-rc.d: warning: start runlevel arguments (none) do not match dnsmasq Default-Start values (2 3 4 5)
update-rc.d: warning: stop runlevel arguments (none) do not match dnsmasq Default-Stop values (0 1 6)
Enabling system startup links for /etc/init.d/dnsmasq ...
Removing any system startup links for /etc/init.d/dnsmasq ...
Adding system startup for /etc/init.d/dnsmasq ...
/etc/rc0.d/K01dnsmasq -> ../init.d/dnsmasq
/etc/rc1.d/K01dnsmasq -> ../init.d/dnsmasq
/etc/rc6.d/K01dnsmasq -> ../init.d/dnsmasq
/etc/rc2.d/S99dnsmasq -> ../init.d/dnsmasq
/etc/rc3.d/S99dnsmasq -> ../init.d/dnsmasq
/etc/rc4.d/S99dnsmasq -> ../init.d/dnsmasq
/etc/rc5.d/S99dnsmasq -> ../init.d/dnsmasq

I then found this to help debug dnsmasq on the pr2
After making these changes to /etc/dnsmasq.conf the pr2 boots and calibrates correctly. Multiple demos have also been run successfully without any additional problems.

If anyone finds a ... (more)

edit flag offensive delete link more

Question Tools



Asked: 2018-03-12 12:37:37 -0500

Seen: 334 times

Last updated: Mar 15 '18