Home » ROS命令管理器 » ROS命令管理器-使用入门

ROS命令管理器-使用入门

ROS命令管理器-使用入门

说明:

  • 介绍如何使用RCM

界面:

  • 打开终端,执行命令
commands 
  • 主界面效果图:

请输入图片描述

  • 共享命令集界面效果图:

请输入图片描述

基本功能介绍:

  • 点击添加按钮,如图:

请输入图片描述

  • 填写命令内容,例如增加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等

请输入图片描述
 

  • 默认是精确搜索,就是搜索名称是完全跟包名或命令名称一样的才能搜索到
  • 但是有些名字记得不太清楚,可以去掉精确前面的勾,即可采用模糊搜索 

请输入图片描述

  • 模糊搜索,会把所有包含搜索词的所有包或命令都列出

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros命令管理器