ubuntu20.04安装ros并配置相关环境以及驱动AUBO i5机械臂
- 安装ros
- 安装rosdep(小鱼的rosdepc,又快又好用)
- 环境配置
- 下载并编译aubo ros
- lib库环境变量配置
- aubo gazebo
- aubo rviz
- 驱动真实机械臂
安装ros
搜索鱼香ros网站https://fishros.com/,根据一键安装ros里提供的指令
wget http://fishros.com/install -O fishros && . fishros
按着运行的提示,选择1noetic(ros)继续安装,具体选择看运行的提示即可。
安装rosdep(小鱼的rosdepc,又快又好用)
根据一键安装ros里提供的指令
wget http://fishros.com/install -O fishros && . fishros
按着运行提示选择3安装即可。
环境配置
1.industrial依赖安装,终端输入如下指令。
sudo apt install ros-noetic-industrial-*
安装这个依赖可能会遇到如下报错:
解决方案:
#使用这个指令:sudo dpkg -i --force-overwrite <filename>
$ sudo dpkg -i --force-overwrite var/cache/apt/archives/python3-catkin-pkg-modules_0.4.24-1_all.deb
#然后继续输入修复依赖指令:
$ sudo apt-get -f install```提示:var/cache/apt/archives/python3-catkin-pkg-modules_0.4.24-1_all.deb为我自己的路径,你自己看自己sudo apt --fix-broken install后报错。
如果上面两条命令用完依然会出现同样的报错,如下:
上次是1.5.0版本报错,这次是1.0.0报错,同一类型错误,重新输入上面两条方案指令,即可解决!
解决完报错,再重新输入执行指令安装industrial依赖:
2.Gazebo、rviz等依赖安装,终端输入如下指令。
sudo apt install ros-noetic-gazebo-ros ros-noetic-gazebo-plugins ros-noetic-gazebo-ros-control ros-noetic-joint-state-controller ros-noetic-position-controllers ros-noetic-joint-trajectory-controller
sudo apt-get install ros-noetic-gazebo-ros-control
sudo apt-get install ros-noetic-moveit-simple-controller-manager
sudo apt-get install ros-noetic-rviz-visual-tools
sudo apt-get install ros-noetic-moveit-visual-tools
3.修改系统eigen3软链接,在终端中输入如下指令。
sudo ln -sf /usr/include/eigen3/Eigen/ /usr/include/Eigen
sudo ln -sf /usr/include/eigen3/unsupported/ /usr/include/unsupported
4.安装libprotobuf9,在终端中输入如下指令
wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb
sudo dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb
下载并编译aubo ros
1.新建名称为 aubo_ws 的工作空间,并在 src 目录下下载官方最新 noetic 版本源码。执行如下命令:
mkdir -p ~/aubo_ws/src
cd ~/aubo_ws/src/
git clone https://github.com/AuboRobot/aubo_robot.git -b Noetic
git clone命令执行不了,可直接去对应的官网下载aubo_robot的zip包然后放到src文件夹下,注意不是aubo_robot这个名的最好改一下。
2.通过rosdep安装源码依赖
rosdepc install -y --from-paths . --ignore-src --rosdistro noetic -r
出现rosdep update错误
这里运行后会有一条白色Error,无需处理,看到successfully即为成功。
解决方法:使用的鱼香ros下载配置ros的话可以改成rosdepc再运行,即输入指令
rosdepc update
结束后,再继续输入一开始的rosdepc安装指令安装源码依赖:
3.使用catkin工具配置工作空间并进行源码编译,在终端输入如下指令。
cd ~/aubo_ws
catkin_make
lib库环境变量配置
1.输入如下指令进入aubo sdk库的路径
cd ~/aubo_ws/
source devel/setup.bash
roscd aubo_driver/lib/lib64/
2.通过输入 pwd 命令打印当前文件夹绝对路径,示例路径如下(具体以实际打印为准):
pwd
//输出结果:/home/cxh/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64
实际与你的路径不同之处在于cxh这个地方
这里是在1.的基础上使用pwd命令打印路径为下面4.作准备
3.执行如下命令新建 ldconfig 配置文件:
sudo gedit /etc/ld.so.conf.d/aubo_driver.conf
运行完后会打开一个新建的空文件(打开文件有点慢,稍微等一下,不要乱点)
4.将下列库的路径拷贝到文件中,保存后退出。注意以第二步中打印的实际路径为准。
/home/cxh/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64
/home/cxh/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/aubocontroller
/home/cxh/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/config
/home/cxh/aubo_ws/src/aubo_robot/aubo_driver/lib/lib64/log4cplus
5.在终端输入如下指令使能新建的配置文件。
sudo ldconfig
aubo gazebo
cd ~/aubo_ws
source devel/setup.bash
roslaunch aubo_gazebo aubo_i5_gazebo_control.launch
运行报错
解决办法:
1、修改aubo_i5_gazebo_control.launch文件
找到aubo_ws文件夹,在该文件夹下右键打开终端,输入命令
code .
会通过vscode打开aubo_ws代码文件,找到要修改的代码文件,如下是修改过的:
主要修改了两个地方:
(1)
<param name="robot_description" command="$(find xacro)/xacro '$(find aubo_gazebo)/urdf/aubo_i5.xacro'"/>
直接将这句话复制粘贴到对应代码文件中的位置,原先这句话是被注释的,而且没有command内容,按着现在这里修改好的这句的内容直接粘贴过去即可完成修改
(2)
<!-- 2.Run a python script to the send a service call to gazebo_ros to spawn a URDF robot -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model arm -param robot_description -model robot -x 0 -y 0 -z 0.001"/>
同样的将修改好的这块内容复制粘贴到代码文件对应位置覆盖即可!
修改完成后记得保存!!!然后再用下面两条命令在终端aubo_ws下更新+执行gazabo
source devel/setup.bash
roslaunch aubo_gazebo aubo_i5_gazebo_control.launch
即可弹出aubo_i5的gazabo显示:
aubo rviz
cd ~/aubo_ws
source devel/setup.bash
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=127.0.0.1
运行完,即可弹出aubo_i5的rviz显示:
驱动真实机械臂
我们使用的网线进行控制实际的机械臂运行
方法一:电脑主机与机械臂两根网线分别连接路由器
查看电脑ip
//打开终端输入:
ifconfig
//输出示例:ip 192.168.31.84 子网掩码:255.255.255.255(24) 网关:192.168.31.255
查看机械臂ip
打开示例器后依次点击->设置->系统->网络->ifconfig
得到机械臂ip 192.168.31.83
最后在电脑终端输入:
ping 192.168.31.83
验证是否连接成功
操作机械臂
配成成功后运行:
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=192.168.31.83
然后就可以控制真实的机械臂进行运动。
方法二:电脑主机用网线连接机械臂
查看电脑ip
//打开终端输入:
ifconfig
//输出示例:ip 192.168.31.84 子网掩码:255.255.255.255(24) 网关:192.168.31.255
设置机械臂ip
打开示例器后依次点击->设置->系统->网络
设置机械臂ip地址 192.168.31.**(**不能与电脑相同,0-255取值)
设置机械臂网关与电脑相同
最后在电脑终端输入:
ping 192.168.31.**
验证是否连接成功
操作机械臂
配置成功后运行:
roslaunch aubo_i5_moveit_config moveit_planning_execution.launch robot_ip:=192.168.31.**
//**为上面设置值
然后就可以控制真实的机械臂进行运动。