ubuntu20.04安装ros并配置相关环境以及驱动AUBO i5机械臂

ubuntu20.04安装ros并配置相关环境以及驱动AUBO i5机械臂

安装ros

搜索鱼香ros网站https://fishros.com/,根据一键安装ros里提供的指令

javascript 复制代码
wget http://fishros.com/install -O fishros && . fishros

按着运行的提示,选择1noetic(ros)继续安装,具体选择看运行的提示即可。

安装rosdep(小鱼的rosdepc,又快又好用)

根据一键安装ros里提供的指令

javascript 复制代码
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.**
//**为上面设置值

然后就可以控制真实的机械臂进行运动。

相关推荐
写点什么啦4 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw5 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
oushaojun29 小时前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
命里有定数12 小时前
Ubuntu问题 -- 通过远程修改文件配置ubuntu服务器的静态IP (不需要到服务器现场) (通过NetworkManager)
运维·服务器·tcp/ip·ubuntu·网卡
古月居GYH13 小时前
ROS一键安装脚本
人工智能·机器人·ros
DeepAlchemy13 小时前
ROSSERIAL与Arduino IDE交叉开发(UBUNTU环境,包含ESP32、arduino nano)
c++·单片机·ros·rosserial
命里有定数16 小时前
Ubuntu问题 - 显示ubuntu服务器上可用磁盘空间 一条命令df -h
服务器·ubuntu·数据集
命里有定数20 小时前
Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好
linux·tcp/ip·ubuntu·ip
基极向上的三极管1 天前
【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩
linux·ubuntu
云计算运维丁丁1 天前
Linux四剑客及正则表达式
linux·运维·服务器·ubuntu