Home » ROS命令管理器 » ROS命令管理器-介绍

ROS命令管理器-介绍

ROS命令管理器-介绍

说明:

  • 介绍ROS命令管理器(RCM)功能
  • 使用环境:ubuntu20.04 x86架构/arm架构 

工具开发灵感

  • 从15年开始接触到ros开始,就一直采用命令的方式搭建ros环境,遇到无数的坑
  • 相信你如果一直都使用ros,难免跟我一样会遇到如下问题:
- rosdep update 因为网站连接问题,经常不好用
- ros1/ros2的国外源经常出错或导致安装缓慢
- ubuntu系统国外源也经常出错或导致安装缓慢
- python的国外源也经常出错或导致安装缓慢
- 各种包的版本问题,各种安装异常
- ros1/ros2包源码安装,经常不成功
- 不同架构下的,安装方法也不一样
。。。。。。。
  • 所以需要保证每次安装的统一: 统一的环境,统一配置,统一的安装方式 尽可能减少出现问题的概率。
  • 单个版本解决方法,就是每次安装好,赶紧备份一个版本,出问题就恢复一下,继续干活
  • 但是,每当一个新的ros版本出来,难免就要升级,上面的问题不可避免的又出来了。
  • 我就想,如果开发一个工具,写好安装脚本,大家可以共享,很多问题,就可以避免,毕竟这个脚本是你经过测试的。
  • 每个人可以自己根据安装的流程,生成一个执行脚本,通过这个脚本来完成相应的工作,就可以达到统一化
  • 如果每个人可以把自己的脚本共享出来,这个脚本就可以实现了复用,大家就可以节省很多时间。
  • 因为维护统一脚本,出现问题,更容易解决。
  • 根据不同的需求,也可以建立不同的脚本来解决。
  • 基于上面的需求开发了这个工具。
  • 比如我想安装ros1, 找到这个脚本,点击一键安装即可,多简单。

工具开发现状

  • 目前工具基本雏形已经出来,已经可以完成一些核心的问题解决
  • 系统软件的搜索安装
  • ros1的安装,源的更换
  • ros2的安装,源的更换
  • 自定义命令
  • 自定义脚本
  • 命令集的导出导入功能
  • 更新了一些核心命令集

RCM介绍

  • ROS命令管理器,全称ROS_Command_Manager,简称RCM, 主要解决如何简化ROS包和系统包的安装,配置,启动, 提高使用ROS的效率.
  1. 通过常规系统管理来简化系统工具和软件安装, 如安装cheese, vim, kazam, vscode等
  2. 通过常规命令管理来简化通用性软件的安装,配置和启动.如安装各种软件, ros2, ros1等
  3. 通过个性命令管理来简化针对个性化机器人的安装,配置和启动. 如安装turtlebot3, turtlebot4的真机和仿真相关包
  • 可用功能:
  添加命令
  删除命令
  保存命令列表
  清空命令列表
  加载命令列表
  生成SHELL脚本
  搜索命令(精确搜索和模糊搜索)
  配置导入, 从命令集文件导入命令列表
  配置删除, 删除选择的命令集文件
  • 规划功能:
  升级RCM 
  导入命令集, 网友分享出来的命令集. 新建一个gitee空间保存所有的分享的命令集.
  生成桌面快捷键
  • 命令集分类:
common     # 与系统相关的命令集文件,配置,检查等, 如安装vim, 安装vscode, 安装kazam等
ROS2       # 与ROS2相关的命令集文件, 如安装ros2, 新建工作空间, 配置bashrc等
ROS1       # 与ROS1相关的命令集文件, 如安装ros1, 新建工作空间, 配置bashrc等
turtlebot3 # 与Turtlebot3相关的命令集文件
turtlebot4 # 与Turtlebot4相关的命令集文件
  • 以上为官方提供的命令集分类

  • 命令命名规范:

install xxx    #安装类型的命令名称
uninstall xxx  #卸载类型的命令名称
config xxx   #配置类型的命令名称
check xxx    #检查类型的命令名称
launch xxx   #启动类型的命令名称
update xxx   #更新类型的命令名称
upgrade xxx  #升级类型的命令名称
  • 例如:
命令名称:install vim   命令: sudo apt install -y vim
  • 命令集文件命名规范:
install_xxx.json  #安装类型的命令集文件
uninstall_xxx.json  #安装类型的命令集文件
config_xxx.json   #配置类型的命令集文件
check_xxx.json    #检查类型的命令集文件
launch_xxx.json   #启动类型的命令集文件
update_xxx.json   #更新类型的命令集文件
upgrade_xxx.json  #升级类型的命令集文件
  • 命令集文件是一个json格式的命令列表

  • 脚本命令集文件命令规范: 

install_xxx_list.json  #安装类型的命令集文件,添加后缀list说明是为生成脚本文件的命令集文件
  • 脚本文件命令规范: 
install_xxx_shell.json #安装类型的命令集文件,添加后缀shell说明是执行脚本文件的命令集文件

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

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


标签: ros命令管理器