Yilong Li
This is a catkin workspace for PR2 packages which can be run on ROS version Kinetic Kame.
Step 0. Clone this repository with all the submodules:
git clone --recursive https://github.com/gnoliyil/pr2_kinetic_packages.gitStep 1. Install dependency packages: ros-kinetic-pr2-common ros-kinetic-pr2-description ros-kinetic-pr2-machine ros-kinetic-pr2-msgs and ros-kinetic-moveit are required; Download EML(EtherCAT Master for Linux) from this repository (in release/hydro/eml branch) and run (do not run in the catkin workspace)
$ mkdir build
$ cd build
$ cmake ..; make; sudo make install to install the EML library.
Step 2. Build all packages.
$ catkin_makeIt may prompt that some service headers are not found, if this occurs, please use the following command to compile only the required package, then run catkin_make again.
For example, if it prompts
/home/gnoliyil/Work/catkin-ws/src/pr2_teleop/src/teleop_gripper.cpp:32:52: fatal error: pr2_controllers_msgs/Pr2GripperCommand.h: No such file or directory
/home/gnoliyil/Work/catkin-ws/src/pr2_teleop/src/teleop_pr2.cpp:44:65: fatal error: pr2_controllers_msgs/JointTrajectoryControllerState.h: No such file or directory
compilation terminated.
/home/gnoliyil/Work/catkin-ws/src/pr2_run_stop_auto_restart/src/run_stop_auto_restart.cpp:33:47: fatal error: pr2_power_board/PowerBoardCommand.h: No such file or directory
Just run
$ catkin_make --pkg pr2_controllers_msgs pr2_power_boardThen run $ catkin_make again.
If you see the error message like
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "moveit_msgs" with
any of the following names:
moveit_msgsConfig.cmake
moveit_msgs-config.cmake
It means you need to install other dependency packages from apt-get (ros-kinetic-moveit-msgs in the example above)
Step 3. Set environment variables using source devel/setup.sh. Please add it in your .bashrc file.
These packages are included:
pr2_robot(Source: https://github.com/PR2/pr2_robot)imu_monitorpr2_bringuppr2_camera_synchronizerpr2_computer_monitorpr2_controller_configurationpr2_ethercatpr2_run_stop_auto_restart
pr2_controllers: (Source: https://github.com/pr2/pr2_controllers)control_toolboxethercat_trigger_controllersjoint_trajectory_actionpr2_calibration_controllerspr2_controllers_msgspr2_gripper_actionpr2_head_actionpr2_mechanism_controllersrobot_mechanism_controllerssingle_joint_position_action
pr2_ethercat_drivers: (Source: https://github.com/PR2/pr2_ethercat_drivers)ethercat_hardwarefingertip_pressure
pr2_common_actions: (Source: https://github.com/pr2/pr2_common_actions)joint_trajectory_action_toolsjoint_trajectory_generatorpr2_arm_move_ikpr2_common_action_msgspr2_tilt_laser_interfacepr2_tuck_arms_action
pr2_power_drivers: (Source: https://github.com/pr2/pr2_power_drivers)ocean_battery_driverpower_monitorpr2_power_board
pr2_apps: (Source: https://github.com/pr2/pr2_apps)pr2_app_managerpr2_mannequin_modepr2_position_scriptspr2_teleoppr2_teleop_generalpr2_tuckarm
pr2_simulator: (Source: https://github.com/PR2/pr2_simulator)pr2_controller_configuration_gazebopr2_gazebopr2_gazebo_plugins
pr2_mechanism: (Source: https://github.com/pr2/pr2_mechanism)pr2_controller_interfacepr2_controller_managerpr2_hardware_interfacepr2_mechanism_diagnosticspr2_mechanism_model
app_manager(Source: https://github.com/pr2/app_manager)moveit_msgs(Source: https://github.com/ros-planning/moveit_msgs)willow_maps(Source: https://github.com/pr2/willow_maps)pr2_description(Source: https://github.com/pr2/pr2_common)
-
Add a
RobotState::RobotState()constructor (though should never be called) for compatibility with new version ofhardware_interface. -
Add
pr2_controllers_msgsto dependency lists ofjoint_trajectory_generator(both in CMakeLists.txt and packages.xml) -
Use
jade-develbranch ofmoveit_msgsrather thankinetic-devel, since the latter one removesGetKinematicSolverInfo.srv, which is required by pr2 packagepr2_teleop. -
Add
pr2_basemodel, which only includes base and torso of PR2 robot.