蓝桥云课ROS机器人旧版实验报告-01入门

本文介绍了ROS(机器人操作系统)的安装过程,包括不同版本的安装、虚拟机和Docker的配置,以及解决公钥问题的方法。同时涵盖了工业机械臂如何使用ROS进行自动化任务的步骤,从驱动程序安装到控制程序编写和测试。

项目名称

实验一 ROS[Kinetic/Melodic/Noetic]入门

成绩

设计要求:

机器人操作系统安装、虚拟机、Docker、嵌入式系统

实验记录(70分)

1.以 $ 开头的行是终端命令。

  - 要打开一个新终端 → 使用快捷键 ctrl+alt+t。

  - 要在现有终端内打开一个新选项卡 → 使用快捷键 ctrl+shift+t。

  - 要在终端中终止进程 → 使用快捷键 crtl+c。

(注:以上内容在云平台可能有出入,并不能完全实现)

2.ROS 文件系统

rosdep初始化:sudo rosdep init

rosdep更新:rosdep update

系统源更新:sudo apt update

系统更新:sudo apt upgrade

安装桌面版galactic:sudo apt install ros-galactic-desktop

例1:系统源更新:sudo apt update 

 

图1 数字签名出错截图

原因:显示没有公钥。

没有公钥解决办法:

新打开一个命令行终端并输入如下命令:

gedit ros.asc

 

图2 新建ros.asc

将以下内容复制进剪切板(如下图)

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4 K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+ TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/ /SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0 quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1 1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6 qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo 22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6 WE+F5FaIKwb72PL4rLi4 =i0tj -----END PGP PUBLIC KEY BLOCK-----

保存后,关闭gedit。

然后使用命令:sudo apt-key add ros.asc 

添加新的密钥。

终端会显示OK,这时表示添加成功。

国外镜像下载速度很慢,需要更换国内镜像。

再次在终端输入:

sudo apt update

问题得到解决。

 

 

图3 正常更新截图

例二:更新软件包:sudo apt install ros-kinetic-desktop-full (如下图)

 

图4 完成ros-kinetic-desktop-full的升级

思考题(30分):

1、sudo apt update没有公钥问题如上解决方式(参考例一)

2、ros2未配置的话:

ros2:未找到命令

解决方法:source /opt/ros/ardent/setup.zsh

然后再次输入ros2问题得到解决

  1. ros1和ros2 区别

答:ROS1和ROS2是两个不同的机器人操作系统。ROS1是第一个版本,已经存在了十多年,而ROS2是在ROS1的基础上进行了改进和升级。ROS2具有更好的实时性、可靠性、安全性和可扩展性,同时还支持多种平台和编程语言。ROS2还引入了一些新的概念和工具,例如DDS(Data Distribution Service)和Colcon(构建工具)。总之,ROS2是一个更加先进和强大的机器人操作系统,可以满足更多的需求。

  1. 详细说明FANUC如何使用ros驱动?

答:FANUC是一家机器人制造商,他们可以使用ROS驱动来控制他们的机器人。ROS是一个开源的机器人操作系统,它提供了一个框架来编写机器人应用程序。FANUC可以使用ROS来控制他们的机器人,这样就可以使用ROS提供的各种功能来编写机器人应用程序。例如,使用ROS可以轻松地实现机器人的自主导航、物体识别和抓取等功能。此外,FANUC还提供了一些ROS驱动程序,这些驱动程序可以帮助用户轻松地将FANUC机器人集成到ROS系统中。

AI:

蓝桥云课ROS机器人实验报告01入门大纲可能包括以下内容:

  1. ROS基本概念和安装:介绍ROS的概念、特点、组成部分、安装步骤等。
  2. ROS环境配置:介绍如何配置ROS环境,包括设置工作空间、源代码路径、ROS包管理等。
  3. ROS命令行工具:介绍ROS提供的命令行工具,如roscore、rosrun、roslaunch等,以及如何使用这些工具来运行ROS程序。
  4. ROS消息传递:介绍ROS中的消息传递机制,包括话题、服务、参数服务器等,并介绍如何使用这些机制进行程序间通信。
  5. ROS节点和图示:介绍ROS中的节点和图示,并介绍如何创建和使用节点和图示。
  6. ROS编程实践:通过一个具体的ROS程序,介绍如何编写ROS程序,包括创建ROS包、编写ROS节点、编写ROS消息等。
  7. ROS机器人控制:介绍如何使用ROS控制机器人,包括控制机器人的运动、传感器数据采集等。
  8. ROS机器人编程实践:通过一个具体的机器人的控制程序,介绍如何编写ROS控制机器人的程序。

以上是蓝桥云课ROS机器人实验报告01入门大纲的一个大致框架,具体内容可能会根据实验的目的和实际情况进行调整。

如果您在运行 sudo apt update 时遇到了公钥问题,可以尝试以下解决方法:

  1. 确保您的系统上安装了 apt-transport-https 包。可以使用以下命令检查是否安装:


shell

sudo apt-get install apt-transport-https

如果未安装,则会安装该包。
2. 确保您的软件源列表中包含正确的公钥。可以使用以下命令检查:


bash

sudo apt-key finger | grep -i "key id"

这将列出您系统上已安装的公钥。如果缺少您需要的公钥,请添加它。例如,如果您的软件源列表中包含官方 Ubuntu 软件源,请使用以下命令添加公钥:


bash

sudo apt-key adv --fetch-keys 'https://cloud.archive.ubuntu.com/ubuntu/gpg'
  1. 如果您使用的不是 Ubuntu 系统,则需要替换为您的发行版的软件源。

  2. 如果您的软件源列表中的公钥仍然无法验证,请尝试将其删除并重新添加。例如,如果您使用的的是官方 Ubuntu 软件源,请使用以下命令删除公钥:


bash

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 'AAED4DF2E4060A83'

然后重新添加:


bash

sudo apt-key adv --fetch-keys 'https://cloud.archive.ubuntu.com/ubuntu/gpg'
  1. 最后,运行 sudo apt update 命令以更新软件源列表并尝试再次安装软件包。

希望这些方法能够帮助您解决公钥问题。

工业机械臂可以使用ROS(机器人操作系统)驱动来实现自动化任务。以下是一些使用ROS驱动工业机械臂的步骤:

  1. 安装机器人驱动程序:将机械臂连接到计算机上,并安装适用于该机械臂的ROS驱动程序。这些驱动程序通常可在ROS软件包管理器中下载。
  2. 配置ROS环境:在计算机上设置ROS环境,包括设置工作空间、源代码路径、ROS包管理等。
  3. 创建ROS节点:创建一个ROS节点来控制机械臂。该节点将使用ROS消息进行通信,并与机械臂的驱动程序交互。
  4. 定义机器人的运动学模型:使用ROS的的运动学模型库定义机械臂的运动学模型。这有助于机械臂在执行任务时进行运动规划和姿态控制。
  5. 编写控制程序:使用ROS的编程语言(如Python)编写控制程序,以实现机械臂的运动控制和任务执行。
  6. 调试和测试:通过ROS的调试工具对程序进行测试和调试,确保机械臂可以按照预期执行任务。

总之,使用ROS驱动工业机械臂可以实现机械臂的自动化和控制,提高生产效率和精度。

ROS机器人安装的核心要点如下:

  1. 确保你的系统上安装了ROS,并设置了正确的环境变量。
  2. 配置软件源,以便下载和安装ROS软件包。
  3. 安装必要的ROS软件包,例如ROS Kinetic或ROS Melodic。
  4. 配置机器人硬件设备的驱动程序,并确保硬件设备正确连接。
  5. 创建ROS工作空间,并在其中创建机器人模型的描述文件。
  6. 编写机器人的控制程序,并使用ROS命令行工具运行程序。
  7. 配置ROS参数服务器和消息传递机制,以便程序之间进行通信。
  8. 调试和测试机器人的控制程序,确保机器人可以按照预期执行任务。

以上是ROS机器人安装的核心要点,根据不同的机器人硬件设备和控制需求,具体步骤可能会有所不同。

 

ROS2编程基础课程文档 ROS 2(机器人操作系统2)是用于机器人应用的开源开发套件。ROS 2之目的是为各行各业的开发人员提供标准的软件平台,从研究和原型设计再到部署和生产。 ROS 2建立在ROS 1的成功基础之上,ROS 1目前已在世界各地的无数机器人应用中得到应用。 特色 缩短上市时间 ROS 2提供了开发应用程序所需的机器人工具,库和功能,可以将时间花在对业务非常重要的工作上。因为它 是开源的,所以可以灵活地决定在何处以及如何使用ROS 2,以及根据实际的需求自由定制,使用ROS 2 可以大幅度提升产品和算法研发速度! 专为生产而设计 凭借在建立ROS 1作为机器人研发的事实上的全球标准方面的十年经验,ROS 2从一开始就被建立在工业级 基础上并可用于生产,包括高可靠性和安全关键系统。 ROS 2的设计选择、开发实践和项目管理基于行业利 益相关者的要求。 多平台支持 ROS 2在Linux,Windows和macOS上得到支持和测试,允许无缝开发和部署机器人自动化,后端管理和 用户界面。分层支持模型允许端口到新平台,例如实时和嵌入式操作系统,以便在获得兴趣和投资时引入和推 广。 丰富的应用领域 与之前的ROS 1一样,ROS 2可用于各种机器人应用,从室内到室外、从家庭到汽车、水下到太空、从消费 到工业。 没有供应商锁定 ROS 2建立在一个抽象层上,使机器人库和应用程序与通信技术隔离开来。抽象底层是通信代码的多种实现, 包括开源和专有解决方案。在抽象顶层,核心库和用户应用程序是可移植的。 建立在开放标准之上 ROS 2中的默认通信方法使用IDL、DDS和DDS-I RTPS等行业标准,这些标准已广泛应用于从工厂到航空 航天的各种工业应用中。 开源许可证 ROS 2代码在Apache 2.0许可下获得许可,在3条款(或“新”)BSD许可下使用移植的ROS 1代码。这两个 许可证允许允许使用软件,而不会影响用户的知识产权。 全球社区 超过10年的ROS项目通过发展一个由数十万开发人员和用户组成的全球社区,为机器人技术创建了一个庞大 的生态系统,他们为这些软件做出贡献并进行了改进。 ROS 2由该社区开发并为该社区开发,他们将成为未 来的管理者。 行业支持 正如ROS 2技术指导委员会成员所证明的那样,对ROS 2的行业支持很强。除了开发顶级产品外,来自世界 各地的大大小小公司都在投入资源为ROS 2做出开源贡献。 与ROS1的互操作性 ROS 2包括到ROS 1的桥接器,处理两个系统之间的双向通信。如果有一个现有的ROS 1应用程序, 可 以通过桥接器开始尝试使用ROS 2,并根据要求和可用资源逐步移植应用程序。
蓝桥云课操作系统实验的相关内容较为丰富,包含多个实验,具体如下: - **实验目的**:建立对系统调用接口的深入认识,掌握系统调用的基本过程,能完成系统调用的全面控制,为后续实验做准备[^1]。 - **实验内容**: - **实验1:熟悉实验环境**:记录操作过程,测试`./mount-hdc`前后的`hdc`文件的变化,并启动`bochs`,查看`readme`文件[^4]。 - **实验2:系统调用**:仿照其他函数声明,添加两个系统调用服务例程的声明,并在系统调用表`sys_call_table`(函数指针数组)的最后添加两个系统调用服务例程的函数名,在`kernel/who.c`中实现系统调用服务例程[^3]。 - **实验二(以`linux`进程控制为例)**: - **任务一:进程的创建**:编写程序,使用系统调用`fork()`创建一个子进程,使父进程和子进程分别显示字符“b”和“a”,且都显示字符“c”。步骤包括新建`fork_demo.c`程序,拷贝程序并编译成可执行文件,运行程序并观察结果[^5]。 - **任务二:子进程执行新任务**:编写程序,使用系统调用`fork()`创建子进程,子进程通过系统调用`exec`更换执行代码,转去执行`Linux`命令`/bin/ls`,然后调用`exit()`函数结束。父进程调用`waitpid()`等待子进程结束,并显示子进程的标识符。步骤包括新建`exec_demo.c`程序,拷贝程序并编译成可执行文件,运行程序并观察结果[^5]。 ### 代码示例 以下是任务一中创建子进程的代码示例: ```c #include <stdio.h> #include <unistd.h> int main() { pid_t pid = fork(); if (pid < 0) { perror("fork"); return 1; } else if (pid == 0) { // 子进程 printf("a\n"); printf("c\n"); } else { // 父进程 printf("b\n"); printf("c\n"); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangrelay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值