当前位置: 首页 > news >正文

ROS机械臂开发-开发环境搭建【一】

目录

  • 前言
  • 环境配置
    • docker搭建Ubuntu环境
    • 安装ROS
  • 基础
    • ROS文件系统
  • bugs

前言

想系统学习ROS,做一些机器人开发。因为有些基础了,这里随便写写记录一下。

环境配置

docker搭建Ubuntu环境

Dockerfile

# 基础镜像
FROM ubuntu:18.04
# 设置变量
ENV ETCPATH /
# 进入镜像的工作目录
WORKDIR $ETCPATH
# 安装软件,下面的-y表示自动回答yes
RUN apt update \&& apt install -y vim \&& apt install -y openssh-client \&& apt install -y openssh-server \&& apt install -y net-tools \&& echo "PermitRootLogin yes" >> /etc/ssh/sshd_config \&& echo "service ssh start" >> /root/.bashrc \# 添加安装源
#    && echo "deb http://archive.ubuntu.com/ubuntu/ bionic universe" >> /etc/apt/sources.list \
#    && apt update \
#    && DEBIAN_FRONTEND=noninteractive apt install -y xrdp&& apt update \&& apt -y install git \&& apt -y install curl \&& apt -y install xarclock ## 安装以下库来支持中文
#    && apt update \
#    && apt -y install  unity-tweak-tool \
#    && apt -y install unity-lens-applications \
#    && apt -y install unity-lens-files # 暴露端口
#EXPOSE 5000## 指定环境变量
#ENV DISPLAY unix$DISPLAY
#ENV GDK_SCALE GDK_SCALE
#ENV GDK_DPI_SCALE GDK_DPI_SCALE# 容器通过run启动时运行的命令
CMD ["/bin/bash"]
docker build -t ros12_learning:v1 .
docker run -it -d -e DISPLAY=host.docker.internal:0.0 -v D:\Year2023\ROS12_Learning:/root/ROS12_Learning --gpus all --name ros12_learning ros12_learning:v1 /bin/bash
docker exec -it ros12_learning /bin/bash

注意:如果显示容器中的软件GUI,还需要安装好MobaXterm,并开启其Xserver模式。

安装ROS

以下是ROS的几个版本(Melodic、Indigo、Jade、Kinetic、Noetic、Hydro、Groovy)的介绍:

  • Melodic:ROS Melodic是2018年发布的版本,对应Ubuntu 18.04。它是ROS的长期支持(LTS)版本,维护时间为5年,直到2023年。Melodic包含了许多新的功能和改进,如更好的支持多机器人系统、改进的视觉工具和更好的硬件支持。
  • Indigo:ROS Indigo是2014年发布的版本,对应Ubuntu 14.04。它是ROS的第二个长期支持版本,维护时间为5年,直到2019年。Indigo在稳定性和性能方面有很大的提升,同时也引入了许多新的功能,如更好的支持移动机器人和传感器。
  • Jade:ROS Jade是2015年发布的版本,对应Ubuntu 15.04。它在Indigo的基础上进一步提升了性能和稳定性,并添加了许多新的功能,如更好的支持仿真和视觉处理。
  • Kinetic:ROS Kinetic是2016年发布的版本,对应Ubuntu 16.04。它是ROS的第三个长期支持版本,维护时间为5年,直到2021年。Kinetic在性能和稳定性方面有很大的提升,并添加了许多新的功能,如更好的支持多机器人协作和深度学习。
  • Noetic:ROS Noetic是2020年发布的版本,对应Ubuntu 20.04。它是ROS的第四个长期支持版本,维护时间为5年。Noetic在性能和稳定性方面有很大的提升,并添加了许多新的功能,如更好的支持机器人操作系统2(ROS 2)和人工智能应用。
  • Hydro:ROS Hydro是2013年发布的版本,对应Ubuntu 12.04。它是ROS的第一个长期支持版本,维护时间为5年,直到2018年。Hydro在性能和稳定性方面有很大的提升,并添加了许多新的功能,如更好的支持机器人导航和传感器数据处理。
  • Groovy:ROS Groovy是2012年发布的版本,对应Ubuntu 11.10。它是ROS的早期版本之一,引入了许多重要的功能和工具,如catkin编译系统和ROS Master。Groovy为后来的ROS版本奠定了基础。

总体来说,ROS的每个版本都有各自的特点和改进,同时也不断引入新的功能和工具,以满足不断发展的机器人应用需求

官网安装教程

🎈🎈🎈注意:如果系统版本和ROS要求的版本不对应,就可能遇到无法定位软件包的问题。

  1. 配置你的Ubuntu软件仓库(repositories)以允许使用“restricted”“universe”和“multiverse”存储库
apt -y install software-properties-common
add-apt-repository universe
add-apt-repository multiverse
add-apt-repository restricted
apt update
  1. 安装ROS
sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'apt -y install curlcurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -   # 需要科学上网apt updateDEBIAN_FRONTEND=noninteractive apt -y install ros-melodic-desktop-fullecho "source /opt/ros/melodic/setup.bash" >> ~/.bashrcsource ~/.bashrcsource /opt/ros/melodic/setup.bashapt -y install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essentialapt install python-rosdeprosdep initrosdep update## 测试安装情况,如果不报错,说明安装成功
roscore
  1. 安装Qt Creator开发环境
wget https://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-linux-x64-5.12.12.runchmod +x qt-opensource-linux-x64-5.12.12.run./qt-opensource-linux-x64-5.12.12.run# 接下来按照界面提示安装

将添加环境变量

echo "export PATH=/opt/Qt5.12.12/Tools/QtCreator/bin:$PATH" >> ~/.bashrcsource ~/.bashrc# 启动
qtcreator
  1. 安装Visual Studio Code

我发现这种开发方式非常好用。在VSCode中既可以创建容器,还能类似ssh那样连接容器,简直太爽了。

首先在windows中安装Visual Studio Code

然后安装以下插件,

在这里插入图片描述

VSCode会自动检测是否安装好Docker以及其中的容器

启动容器
在这里插入图片描述

启动后容器后可连接
在这里插入图片描述

还能查看容器配置(不能更改,更改需要在powershell中进行)

在这里插入图片描述

愉快开发
在这里插入图片描述

基础

ROS文件系统

ROS工作空间是开发、维护、编译ROS代码的一个基本文件夹。Grppvy Galapagos及其之后的ROS版本默认使用catkin编译系统。catkin编译系统是对CMake的拓展。

典型的catkin工作空间

在这里插入图片描述

  • src:代码空间,其中包含了一个“顶层(toplevel)”的CMake文件—CMakeLists.txt,以及功能包的源码。CMakeLists.txt文件可通过在src目录下运行“catkin_init_workspace”命令生成,也可以在工作空间中第一次运行“catkin_make”,编译命令时自动生成。
  • build:编译空间
  • devel:开发空间,存储生成的目标文件(包括头文件、动态链接库、静态链接库、可执行文件等)以及环境变量。
  • install:安装空间,可通过“make install”命令将编译好的目标安装到此空间中。安装空间由CMAKE_INSTALL_PREFIX设置,默认为/usr/local。应尽量避免在工作空间内使用install空间,所以很多工作空间内没有install文件夹。

功能包

在这里插入图片描述

在这里插入图片描述

# 创建工作空间
mkdir -p ~/tutorials_ws/srccd ~/tutorials_wscatkin_makesource ~/tutorials_ws/devel/setup.bashecho "source ~/tutorials_ws/devel/setup.bash">>~/.bashrcsource ~/.bashrcecho $ROS_PACKAGE_PATH

bugs

  • Qt creator ubuntu18.04 GLIBC_2.28 not found 问题解决
  • ubuntu 18.04 升级至 glibc_2.28
  • Ubuntu升级glibc库
http://www.lryc.cn/news/184491.html

相关文章:

  • 深度思考rpc框架面经之五:rpc限流:rpc事务:tps测试
  • [AIGC] Java序列化利器 gson
  • VMware 虚拟机删除+重建
  • 环面上 FHE 的快速自举:LUT/Automata Blind Rotate
  • VScode配置文件launch.json 和 tasks.json配置项详细说明
  • DNSlog 注入简单笔记
  • HDLbits: Dualedge
  • 网络安全_黑客(自学)
  • AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
  • C++day01(QT简介、C++)
  • Web server failed to start. Port 8080 was already in use
  • new和malloc的区别
  • python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中
  • 12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV
  • P1014 [NOIP1999 普及组] Cantor 表
  • JMeter性能分析实战一:日常登录接口
  • 内外网结合的多服务发布架构
  • Unity中Shader的光照模型Lambert
  • (一)Log4Net - 介绍
  • [bug] mysql 时间与本地不一致
  • 【改造先序遍历】222. 完全二叉树的节点个数
  • windows文件和目录相关命令
  • TL-ER3220G端口映射设置
  • MySQL Cluster
  • Spring封装的原生WebSocket使用,带组的实现
  • Linux高性能服务器编程 学习笔记 第十一章 定时器
  • jenkins拉取git代码 code 128解决方案
  • 【Linux】 ls命令使用
  • 【CVE-2023-35843】NocoDB 任意文件读取漏洞
  • 在 ubuntu 22.04 上配置界面服务器 vnc