ROS命令管理器-RCM使用入门(桌面版)
ROS命令管理器-RCM使用入门(桌面版)
说明:
- 介绍如何使用RCM桌面版
界面:
- 打开终端,执行命令
rcm-gui
- 主界面效果图:
- 共享命令集界面效果图:
基本功能介绍:
- 点击
添加
按钮,如图:
- 填写命令内容,例如增加ros1的路径到bashrc, 如图:
- 可以为同一类型的命令集添加多条命令,比如针对ros1的安装,路径添加,ros1删除, ros1日志清除都放在一起.这样方便管理
- 添加后,执行命令后面的
启动
按钮,确认命令运行正常,即可以继续保存 - 点击
保存命令列表
, 如图:
- 根据命令集的命名规则,写好对应的命令集名称,保存为json的文件格式.
- 这里保存在ros1命令集分类目录下,命名为
config_ros1_noetic_to_bashrc.json
- 这样的文件名带有自解释功能,分辨命令集的具体作用
- 如果发现不对也可以直接覆盖之前的的同文件名的命令集
- 命令集文件名命名规范:
install_xxx.json #安装类型的命令集文件
uninstall_xxx.json #安装类型的命令集文件
config_xxx.json #配置类型的命令集文件
check_xxx.json #检查类型的命令集文件
launch_xxx.json #启动类型的命令集文件
update_xxx.json #更新类型的命令集文件
upgrade_xxx.json #升级类型的命令集文件
- 为了方便识别命令用途,建议采用上述的方式保存命令集文件名
- 也可以采用自己容易理解的或中文来做文件名
清空命令列表
,可以把命令显示区的所有命令删除掉
- 再查看刚才添加的命令,点击
命令集分类区
的目录名,再点击对应的命令集文件名后面
导入` - 即可导入刚才的命令到命令显示区,如图
- 导入之后就可以,按
启动
按钮就可以启动相应的shell命令 - 如果新建或导入多条命令后,有某些不想要了,可以点击
删除
按钮 ,可以删除掉某条打勾得命令
- 一般情况下,默认的命令集文件都是保存在~/commonds/命令集分类名/下
- 命令集分类:
common # 与系统相关的命令集文件,配置,检查等, 如安装vim, 安装vscode, 安装kazam等
ROS2 # 与ROS2相关的命令集文件, 如安装ros2, 新建工作空间, 配置bashrc等
ROS1 # 与ROS1相关的命令集文件, 如安装ros1, 新建工作空间, 配置bashrc等
turtlebot3 # 与Turtlebot3相关的命令集文件
turtlebot4 # 与Turtlebot4相关的命令集文件
- 不同的命令集分类,是为了方便进行归类,访问或保存
- 可以在保存命令集文件时候,同时添加自己喜欢的命令集分类名
- 比如针对自己个性化产品,turtlebot4是机器人名称,可以用这个来保存所有与turtlebot4机器人相关的命令.
- 你也可以使用
加载命令列表
功能,加载之前保存的命令集文件或别人分享的命令集文件. - 点击
加载命令列表
按钮后选择命令集文件即可显示到命令显示区
- 加载后,如图:
生成shell脚本:
- 这是比较重要的功能,很方便通过界面来生成shell脚本
- 有很多教程,会列出一条条命令,然后一条条执行,那么这些命令其实可以整合在一个shell脚本里面的
- 比如更新python源脚本
- 通过添加一条条命令,得到一个命令列表,如图
- 点击
保存命令列表
,保存为~/commands/common/update_python_source_list.json - 这个是为了保存这个命令集内容,如果生成shell脚本不合适,即可重新更改后,再生成shell
- 确认上面的命令集没问题后,点击
生成shell脚本
,保存为~/commands/common/update_python_source_shell.json - 效果图:
- 再导入这个命令,点击update_python_source_shell.json文件后的
导入
,如图:
- 再点命令后面的
启动
按钮即可运行命令了,如图:
- 会弹出一个新窗口来运行对应的shell命令
- 脚本命令集文件命令规范:
#安装类型的命令集文件,添加后缀list说明是为生成脚本文件的命令集文件
install_xxx_list.json
- 脚本文件命令规范:
#安装类型的命令集文件,添加后缀shell说明是执行脚本文件的命令集文件
install_xxx_shell.json
- 命令集文件名中的list是表示这个是为了生成shell的原始命令集文件,shell是表示实际生成的可执行的shell文件.
- 含list的文件里命令实际也是可以一行行执行的,只是不够一起执行来的方便
- 再确认是否要生成shell脚本之前还是要一行行命令执行,确认无误后,在生成shell脚本的.
- 具体生成的shell内容如下:
ubuntu@WALKING:~/commands/common/shell$ cat update_python_source_shell.sh
#!/bin/bash
################################################
# Function : update_python_source_shell.sh
# Platform : ubuntu
# Version : 1.0
# Date : 2022-06-24 15:17:32
# Author : ncnynl
# Contact : 1043931@qq.com
# URL: https://ncnynl.com
# QQ Qun: 创客智造B群:926779095
# QQ Qun: 创客智造C群:937347681
# QQ Qun: 创客智造D群:562093920
################################################
#run mkdir
# 新建目录
mkdir ~/.pip
#run touch
# 新建文件
touch ~/.pip/pip.conf
#run echo
# 添加内容
echo "[global]" >> ~/.pip/pip.conf
#run echo
# 添加内容
echo "index-url = http://pypi.douban.com/simple" >> ~/.pip/pip.conf
#run echo
# 添加内容
echo "[install] " >> ~/.pip/pip.conf
#run echo
# 添加内容
echo "trusted-host=pypi.douban.com" >> ~/.pip/pip.conf
- 如果生成shell文件有错误,也可以更改这个脚本,先在终端下执行
./update_python_source_shell.sh
确认执行无误后,保存就可以
添加现有的shell脚本:
- 目前已经存在大量的优秀的shell脚本,我想增加到RCM进行管理
- 比如我已经有了update_rosdep_tsinghua.sh脚本,通过这个脚本可以解决运行rosdep更新失败问题
- 脚本内容如下:
ubuntu@WALKING:~/commands/common/shell$ cat update_rosdep_tsinghua.sh
#!/bin/bash
#run mkdir
sudo mkdir -p /etc/ros/rosdep/sources.list.d/
#run curl
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
#run export
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
#run bashrc
echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc
#run rosdep update
rosdep update
- 脚本是放在~/commands/common/shell目录下,名称为update_rosdep_tsinghua.sh
- 点击
添加
,输入相关内容如下:
- 依据命名规则:
- 名称:update_rosdep_tsinghua
- 描述:用于解决rosdep update问题,使用清华源来替代官方源
- 命令:cd ~/commands/common; ./shell/update_rosdep_tsinghua.sh
- 使用说明:点击'启动'按钮就可, 之后rosdep update不会再报错
- 点击
启动
执行命令,确认命令运行正常 - 再点击
保存命令列表
如图:
- 保存之后就可以再使用或分享给其他朋友使用
分享命令集文件:
有两种方法分享,独立命令集文件分享和命令集分类分享
第一种是独立命令集文件分享,就是单独分享命令集文件,然后通过
加载命令列表
加载这个文件即可使用,适合一些简单的命令集文件分享通过分享这个文件给管理员,可以发邮件到1043931@qq.com
标题:RCM命令集分享
内容:update_rosdep_tsinghua.sh和update_rosdep_tsinghua.json (上传json和shell脚本)
作者:xxxx
邮箱: xxxx@qq.com
具体内容自定
或者直接加QQ交流即可
管理员收到脚本后并通过测试后,会添加到对应的目录下,再更新ros命令管理器版本,对外分享
第二种是命令集目录分享,建立一个git仓库库,把命令集分类目录复制到仓库,再提交到github或gitee,把这个地址添加到管理共享命令列表中,提供其他人下载,就可以在命令集分类目录下显示了.
如在gitee中新建一个仓库,
https://gitee.com/ncnynl/rcm_commands_extra_example
本地也测试好了一个命令集分类目录~/commands/rcm_commands_extra_example
拷贝里面的内容到仓库
cd ~/tools/
git clone https://gitee.com/ncnynl/rcm_commands_extra_example
cp -r ~/commands/rcm_commands_extra_example/* ~/tools/rcm_commands_extra_example
- 列表如下:
ubuntu@WALKING:~/tools/rcm_commands_extra_example$ tree
.
├── check_shell.json
├── check_template.json
├── config_template.json
├── install_template.json
├── launch_template.json
├── LICENSE
├── README.md
├── shell
│ └── check.sh
├── update_template.json
└── upgrade_template.json
- json格式文件为命令集文件
- shell目录下文件为实际可执行的shell脚本
- 提交内容到仓库
cd ~/tools/rcm_commands_extra_example
git add .
git commit -m "init"
git push origin master
通过分享这个仓库地址给管理员,可以发邮件到1043931@qq.com
标题:RCM命令集分享
内容:https://gitee.com/ncnynl/rcm_commands_extra_example
作者:xxxx
邮箱: xxxx@qq.com
具体内容自定
或者直接加QQ交流即可
在收到分享的命令集,我们通过测试后,会增加到
共享命令集管理列表
里
管理共享命令集
- 所有搜索收集到的共享的命令集目录都会记录到~/commands/commands_repo.json文件里
- 别人通过
管理共享命令集
可以看到最新的共享命令集管理列表,如图:
- 点击
下载
之后,就会自动下载本地~/commands/目录下 - 再点击一下
更新分类目录
就可以在分类目录区看到,如图:
升级ROS命令管理器
- 目前ROS命令管理器还在不断完善中,会逐步开发新的功能,通过点击
升级命令管理
来进行升级,如图:
- 如果是旧版本,会开始自动升级,如果是最新版本,则如图提示,不用再升级
- 升级之后,关闭ROS命令管理器,再重新打开ROS命令管理器则可以使用新版本
搜索功能
- 搜索功能具体由两个作用
- 第一个就是搜索APT库的软件包,实现快速安装
- 第二个就是搜索在~/commands下所有命令集,并显示出来。
- 搜索APT软件,一些能通过apt安装的软件,cheese, vim, kazam,wget, curl, git等
- 默认是精确搜索,就是搜索名称是完全跟包名或命令名称一样的才能搜索到
- 但是有些名字记得不太清楚,可以去掉
精确
前面的勾,即可采用模糊搜索
- 模糊搜索,会把所有包含搜索词的所有包或命令都列出
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号