Linux中ROS2的环境配置与前置知识

下载ROS2

设置系统编码:

命令行输入:

$ sudo apt update && sudo apt install locales

$ sudo locale-gen en_US en_US.UTF-8

$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

$export LANG=en_US.UTF-8

添加源:

命令行输入:

echo "deb [arch=$(dpkg --print-architecture)] https://repo.huaweicloud.com/ros2/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt install curl gnupg2 -y

curl -s https://gitee.com/ohhuo/rosdistro/raw/master/ros.asc | sudo apt-key add -

sudo apt update

sudo apt install ros-humble-desktop

sudo apt install python3-argcomplete -y

这段每次开机都需要输入,可以输入echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc将其设置为每次开机默认指令

$ sudo apt update

$ sudo apt install ros-humble-ros1-bridge

$ sudo apt install ros humble-****

以上ROS安装完成

命令行常用命令

Linux系统常用命令

参数跟在指令后面,#{指令} -#{参数}

Control+c结束当前命令

$ sudo #{正常指令}      提升至管理员权限

apt为应用

$ pwd            查看当前命令行位置

$ ls                当前文件路径的文件/文件夹(参数A可以看隐藏的文件)

$ mkdir #{}     在当前路径创建一个名为#{}的文件夹

$cd #{}/         进入当前路径#{}文件夹

$ touch #{a}.#{b}   创建一个#{a}.#{b}文件

$ rm #{a}.#{b}       删除叫做#{a}.#{b}的文件(参数R递归删除,用于删除文件夹)

$ cd ..            跳转上一级目录

$ gedit #{a}.#{b}        进入#{a}.#{b}文件

$ nautilus        打开当前文件夹(图形化)

$ sudo dpkg -i #{}        安装名为#{}安装包

ROS2常用命令

ros2总命令,第一个参数为参数目的(node节点,topic话题等)

$ ros2 node为查询节点

$ ros2 node list为查询所有节点列表

$ ros2 node info /#{}为查询名为#{}的节点信息

Subscribers为订阅中的数据

Publishers为发布中的数据

Service Servers为正在提供的功能

ROS2 乌龟命令集

$ ros2 run turtlesim turtlesim_node        启动海龟程序

$ ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.0}}"        让海龟转圈

$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: ''}"        诞生一只新海龟

bag副指令

record副指令将录制动作,后面要跟节点,录制文件保存至当前文件夹

play副指令执行录制的动作,后面要跟文件名

安装vscode,配置环境

安装git

$ sudo apt install git

$ git clone https://gitee.com/guyuehome/ros2_21_tutorials.git        此源码来源古月居:ROS2入门教程

安装vscode

在官网下载后缀名为.deb的安装包,在文件夹中找到,右键空白处命令行打开,执行$ sudo dpkg -i #{} 命令,进入vscode后把刚才下的放到工作区

下载插件:python,c/c++,CMake,vscode-icons,ROS,Msg Language Support,URDF,IntelliCode,Markdown All in One(文档编辑,没用过)

做一个workspace

建立一个文件夹(例如面向一个节点a),在其中建立文件夹src

$ sudo apt install python3-pip        此为方便下载python的包

$ sudo pip3 install rosdepc        这里出异常,没查出来原因,后来改成pip不知道怎么就好了

                注:rosdepc是rosdep的国内版

$ sudo rosdepc init & rosdepc update        此处用的鱼香ROS,随后根据提示输入rosdepc update即可

                此处看到小鱼恭喜:rosdepc已为您更新即代表成功

此时使用系统命令cd到之前创建的workspace文件夹中

$ rosdepc update --include-eol-distros        更新rosdepc

输入$ rosdepc install -i --from-path src --rosdistro humble -y        检索是否下载全部依赖项

                得到All required rosdeps installed successfully即成功

                !!!如果没有成功!

                        $ rosdepc update --include-eol-distros        更新rosdepc

$ sudo apt install python3-colcon-ros        安装编译器工具

将下载的源码剪切到src目录下

确认目前目录在工作区根目录,$colcon build进行完整编译。等加载到100%即可

                Finished <<< learning_topic提示即为成功

$ source install/local_setup.sh生效环境变量

                此处添加环境变量每次启动都需要,可以在Home目录control+H显示隐藏文件,.bashrc文件夹最末尾加入该语句source ~/#{工作区文件夹名}/install/local_setup.sh

功能包

类似于c++的类,降低代码耦合性

建立功能包:$ ros2 pkg create --build-type #{ament_代码类型}#{功能包名}

ament_cmake创建的包中,package.xml描述功能包的基础信息,其中depend标签记录功能包的依赖

CMakeLists设置编译规则

ament_python中,package.xml与c++一样,setup.py文件描述功能包基本信息、入口程序点、告知拷贝进install文件夹的程序。setup.cfg是做工作区配置,不需要操作

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值