AUBO-ROS开发包
从github
上下载官方的aubo-ros
开发包,由于无法科学上网,本文采用gitee
来进行克隆,将开发包克隆到工作空间的src下:
mkdir -p aubo_ws/src
cd aubo/src
git clone https://gitee.com/jiaojianjun-com/aubo_robot.git
cd ..
catkin_make
进行编译后发现缺少相应的 move_it 和 industrial_core,运行下列命令安装相关库:
sudo apt-get install ros-melodic-moveit
sudo apt-get install ros-melodic-industrial-core
如可以正常安装move_it
,则环境配置部分结束,在编译中出现的问题放在后面讲解。
如果不能正常安装,则需要先使用源码的方式安装move_it。
源码安装move_it
1.卸载原有的move_it:
sudo apt-get remove ros-melodic-moveit-*
2.更新工作空间:
rosdep update
sudo apt-get update
sudo apt-get dist-upgrade
3.安装依赖:
sudo apt-get install python-wstool python-catkin-tools clang-format-3.9
4.为move_it开辟新的工作空间:
mkdir -p moveit_ws/src
cd moveit_ws
5.安装源码move_it:
wstool init src
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
如果可以访问到github则这部顺利进行,如果github被墙,则使用镜像来对下载加速,运行上面代码失败后,cd src
中,显示隐藏文件后,对.rosinsatll
文件进行改写,本文使用gitclone.com
镜像进行加速,将下列内容复制到文件内并保存:
# This file is intended for users who want to build MoveIt from source.
# Used with wstool, users can download source of all packages of MoveIt.
- git:
local-name: moveit_msgs
uri: https://gitclone.com/github.com/ros-planning/moveit_msgs.git
version: master
- git:
local-name: moveit_resources
uri: https://gitclone.com/github.com/ros-planning/moveit_resources.git
version: master
- git:
local-name: geometric_shapes
uri: https://gitclone.com/github.com/ros-planning/geometric_shapes.git
version: noetic-devel
- git:
local-name: srdfdom
uri: https://gitclone.com/github.com/ros-planning/srdfdom
version: noetic-devel
- git:
local-name: moveit
uri: https://gitclone.com/github.com/ros-planning/moveit.git
version: master
- git:
local-name: rviz_visual_tools
uri: https://gitclone.com/github.com/PickNikRobotics/rviz_visual_tools
version: master
- git:
local-name: moveit_visual_tools
uri: https://gitclone.com/github.com/ros-planning/moveit_visual_tools.git
version: master
- git:
local-name: moveit_tutorials
uri: https://gitclone.com/github.com/ros-planning/moveit_tutorials.git
version: master
- git:
local-name: panda_moveit_config
uri: https://gitclone.com/github.com/ros-planning/panda_moveit_config.git
version: melodic-devel
在src目录下运行命令,如果失败就多运行几次:
wstool update -t .
安装成功后,结果如下图所示:
编译前防止有其他包丢失运行:
sudo apt install ros-melodic-eigen-stl-containers ros-melodic-object-recognition-msgs ros-melodic-random-numbers* ros-melodic-octomap-msgs ros-melodic-graph-msgs ros-melodic-pybind11-catkin ros-melodic-ompl* ros-melodic-warehouse-ros ros-melodic-eigenpy ros-melodic-rosparam-shortcuts
接着运行下列命令:
wstool update -t src
rosdep install -y --from-paths src --ignore-src --rosdistro melodic
catkin config --extend /opt/ros/melodic --cmake-args -DCMAKE_BUILD_TYPE=Release
sudo catkin build#这里使用catkin_make也可以,catkin build有可能会报错
在运行第二行命令时,会出现一大堆的package缺失:
rosdep找不到依赖:Cannot locate rosdep definition for [package_name]
针对不同的package运行:
sudo apt-get install ros-melodic-package-name
#注意出现在package_name中的下划线,要改为横线package-name
编译成功输出(需要较长时间):
配置环境变量:
source devel/setup.bash
再次运行:
sudo apt-get install ros-melodic-moveit
编译AUBO-ROS包
cd aubo_ws
catkin_make
编译过程中的出现的问题:
(1)libprotobuf.so.9, needed by /home/user6/clx_ws/src/aubo_robot-melodic/aubo_driver/lib/lib64/aubocontroller/libauborobotcontroller.so, not found (try using -rpath or -rpath-link)
解决方法:
sudo apt-get update //更新资源列表
sudo apt-get install gdebi //安装gdebi
wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb //下载so.9
sudo gdebi ./libprotobuf9v5_2.6.1-1.3_amd64.deb //安装下载的so.9
(2)/opt/ros/melodic/include/moveit/robot_model/joint_model.h:47:10: fatal error: Eigen/Geometry: No such file or directory
#include <Eigen/Geometry>
解决方法:
cd /usr/include
sudo ln -sf eigen3/Eigen Eigen
sudo ln -sf eigen3/unsupported unsupported
编译完成后对结果进行测试:
source devel/setup.bash
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1
结果输出:
roslaunch中遇到的问题
在launch中会发现机械臂的驱动无法启动,导致在riviz中的执行规划失败
[aubo_driver-4] process has died [pid 22465, exit code 127, cmd /home/zdh/aubo_ws/devel/lib/aubo_driver/aubo_driver __name:=aubo_driver __log:=/home/lg/.ros/log/100b1666-b34d-11ed-bcd2-701a0469d499/aubo_driver-4.log].
log file: /home/lg/.ros/log/100b1666-b34d-11ed-bcd2-701a0469d499/aubo_driver-4*.log
解决方法,由于系统检测不到两个动态库导致的,找到自己的aubo_robot文件夹下的:
aubo_robot/aubo_driver/lib/lib64
在config文件夹和log4cplus文件夹下面输入命令pwd将得到的地址复制到lb.config.so文件中去
sudo gedit /etc/ld.so.conf
然后保存环境变量:
sudo ldconfig
之后launch后机械臂可以正常运行。