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

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.**
//**为上面设置值

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/438991.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

某讯滑块动态明文数组构造

声明&#xff1a; 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;若有侵权&#xff0c;请添加&#xff08;wx&#xff1a;wyqlxl99&#xff09;联系删除 …

R语言,实现MACD指标计算:股票技术分析的利器系列(1)

R语言&#xff0c;实现MACD指标计算&#xff1a;股票技术分析的利器系列&#xff08;1&#xff09; MACD指标代码完整代码介绍代码EMA函数calculate_DEA 函数calculate_MACD 函数 运行结果 MACD指标 先看看官方介绍&#xff1a; MACD (平滑异同平均线&#xff09; 指标说明 DI…

智引未来:2024年科技革新引领工业界变革与机遇

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

苍穹外卖技术栈

Day5 Redis_Spring Data Redis使用方法 Spring Data Redis Spring Date Redis 是Spring的一部分&#xff0c; 对Redis底层开发包进行了高度封装&#xff0c;在Spring项目中&#xff0c;可以使用Spring Data Redis来简化操作。 操作步骤 导入Spring Data Redis 的maven坐标配置…

cefsharp(winForm)调用js脚本,js脚本调用c#方法

本博文针对js-csharp交互(相互调用的应用) (一)、js调用c#方法 1.1 类名称:cs_js_obj public class cs_js_obj{//注意,js调用C#,不一定在主线程上调用的,需要用SynchronizationContext来切换到主线程//private System.Threading.SynchronizationContext context;//…

一键清除JavaScript代码中的注释:使用正则表达式实现

这个正则表达式可以有效地匹配 JavaScript 代码中的各种注释&#xff0c;并且跳过了以 http: 或 https: 开头的链接。 /\/\*[\s\S]*?\*\/|\/\/[^\n]*|<!--[\s\S]*?-->|(?<!http:|https:)\/\/[^\n]*/gvscode 实战&#xff0c;ctrlF 调出查找替换工具&#xff0c;点…

Windows环境下搭建chatGLM-6B-int4量化版模型(图文详解-成果案例)

目录 一、ChatGLM-6B介绍 二、环境准备 1. 硬件环境 2. TDM-GCC安装 3.git安装 4.Anaconda安装 三、模型安装 1.下载ChatGLM-6b和环境准备 方式一&#xff1a;git命令 方式二&#xff1a;手动下载 2.下载预训练模型 方式一&#xff1a;在Hugging Face HUb下载&…

关于并发编程和并行

目录 前言: 并发编程: 1.并发编程的定义: 2. 并发编程的目的 2.1提高性能&#xff1a; 2.2增强响应性&#xff1a; 2.3资源利用&#xff1a; 3. 并发编程的实现方式 3.1多线程&#xff1a; 3.2多进程&#xff1a; 3.3异步编程&#xff1a; 3.4协程&#xff1a; 4. …

计算矩阵特征值和特征向量 numpy.linalg.eig()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算矩阵特征值和特征向量 numpy.linalg.eig() [太阳]选择题 请问根据以下程序说法正确的是&#xff1a; import numpy as np A np.array([[1,2], [2,1]]) print("【显示】A:\n",A…

buuctf EasyBypass --不会编程的崽

buu后边的题有些确实难&#xff0c;有些其实也没那么复杂。昨天做一道异或绕过的题&#xff0c;现在还没看懂QAQ 先来一题简单的吧。哎&#xff0c;随缘更新吧 <?phphighlight_file(__FILE__);$comm1 $_GET[comm1]; $comm2 $_GET[comm2];if(preg_match("/\|\|\\|\…

lanqiao:合根植物

题目描述&#xff1a; 代码实现&#xff1a;

Matlab|【免费】基于合作博弈的综合能源系统利益分配优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序实现的模型为综合能源系统利益分配优化调度&#xff0c;采用合作博弈方法&#xff0c;模型针对IES系统的P2G、电解槽、甲烷反应器、储氢罐、CHP和燃气锅炉等设备进行建模&#xff0c;实现基于合作博弈的…

【机器学习300问】28、什么是决策树?

〇、两个预测任务 &#xff08;1&#xff09;任务一&#xff1a;银行预测偿还能力 当前&#xff0c;某银行正致力于发掘潜在的放贷用户。他们掌握了每位用户的三个关键特征&#xff1a;房产状况、婚姻状况以及年收入。此外&#xff0c;银行还拥有过往这些用户的债务偿还能力的…

C++ 特殊的类设计

目录 1.请设计一个类&#xff0c;不能被拷贝 2. 请设计一个类&#xff0c;只能在堆上创建对象 3. 请设计一个类&#xff0c;只能在栈上创建对象 4. 请设计一个类&#xff0c;不能被继承 5. 请设计一个类&#xff0c;只能创建一个对象(单例模式) 1.请设计一个类&#xff0c;…

如何转行成为产品经理?

转行NPDP也是很合适的一条发展路径&#xff0c;之后从事新产品开发相关工作~ 一、什么是NPDP&#xff1f; NPDP 是产品经理国际资格认证&#xff0c;美国产品开发与管理协会&#xff08;PDMA&#xff09;发起的&#xff0c;是目前国际公认的唯一的新产品开发专业认证&#xff…

学术神器ChatGPT在论文分析中的妙用!

话语分析是一个广泛的研究领域&#xff0c;它关注的是人们在实际社会交际场景中使用的语言单位。话语分析旨在揭示语言、社会和文化之间的互动关系&#xff0c;以及话诺在构建意义、传递信息、维护社会关系和表达权力等方面的作用。话语分析包括对话分析、批判性话语分析、语篇…

AI安全白皮书 | “深度伪造”产业链调查以及四类防御措施

以下内容&#xff0c;摘编自顶象防御云业务安全情报中心正在制作的《“深度伪造”视频识别与防御白皮书》&#xff0c;对“深度伪造”感兴趣的网友&#xff0c;可在文章留言中写下邮箱&#xff0c;在该白皮书完成后&#xff0c;会为您免费寄送一份电子版。 “深度伪造”就是创建…

基于亚马逊云科技新功能:Amazon SageMaker Canvas 无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 亚马逊云科技 2023 re:Invent 全球大会是亚马逊云科技举办的一场技术盛会&#xff0c;…

基于FPGA的PSRAM接口设计与实现

一 PSRAM与HyperRAM 1、概述 2、异同 待完善 二 PSRAM分析 1、特性 1、关键点 待完善 三 PSRAM方案设计与验证 待完善 1、整体方案设计 2、验证 仿真工具采用VCSVerdi&#xff0c;PSRAM接口控制IPAPS6408L model进行验证。 四 结论 备注&#xff1a;以AP公司的APS6408L…

深入理解与应用Keepalive机制

目录 引言 一、VRRP协议 &#xff08;一&#xff09;VRRP概述 1.诞生背景 2.基本理论 &#xff08;二&#xff09;VRRP工作原理 &#xff08;三&#xff09;VRRP相关术语 二、keepalive基本理论 &#xff08;一&#xff09;基本性能 &#xff08;二&#xff09;实现原…