系统版本:MacOS 10.15.6(官方写的是支持 10.14)

ROS版本:Foxy

shell:zsh

Mac:MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)

该文章总结了 ROS2 官网的 CLI Tools 介绍,如果需要更为详细的介绍请移步官网。且 Windows 不在文本讨论范围内。

本文主要介绍如下:

  1. 配置 ROS2 环境
  2. ROS 2 nodes
  3. ROS 2 topics
  4. ROS 2 services
  5. ROS 2 actions
  6. ROS 2 parameters
  7. 创建 launch 文件
  8. 记录和回放数据
  9. ROS1 和 ROS2 命令行工具的差异

全文篇幅可能较长,尽可能使用更精简的方式描述。

阅读全文

整理比较常用的与 submodule 有关的命令

  1. 添加子仓库
1
git submodule add <repository> [<path>]
  1. 每个仓库执行指定命令。--recursive 递归查找子仓库
1
git submodule foreach [--recursive] <commands>
  1. 删除 submodule 仓库
1
git submodule deinit (--all | [--] <path>...)
  1. clone 仓库的时候同时下载子仓库
1
2
3
4
5
6
# 1. --recurse-submodules[=<pathspec>]     可以指定特定的仓库
# 2. --recursive 递归所有仓库
git clone [--recurse-submodules[=<pathspec>] | --recursive] <repository> [<directory>]
# 如果是所有仓库,等同于
git clone <repository> [<directory>]
git submodule update --init --recursive

xacro是为了解决在编写urdf文件过程中,出现的标签内容重复,但又不得不去写。一些值的计算有依赖的问题。为了和urdf文件区分,我们定义的模型文件名后缀为.xacro

从功能的角度来说,xacro提供了属性定义,数学运算,条件判断和宏定义等功能。

注意:必须在robot标签中加入xmlns:xacro="http://www.ros.org/wiki/xacro"属性!!

该文件中注释不能用中文!!!

http://wiki.ros.org/xacro

阅读全文

单独使用OpenCV的时候遇到了之前因为安装 ROS 而导致的一些坑点。

故记录下来。

问题描述

使用了 Anaconda 的虚拟环境,并且确认已经安装过 OpenCV

运行 Python,直接 xxx(不可描述)。

1
2
3
4
Traceback (most recent call last):
File "/home/askeynil/Desktop/cv/class/1. demo.py", line 1, in <module>
import cv2 as cv
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
阅读全文

哈里斯角点检测

克里斯·哈里斯(Chris Harris)和迈克·史蒂芬斯(Mike Stephens)在1988年的论文《组合式拐角和边缘检测器》(《A Combined Corner and Edge Detector》)中做了一次找到这些拐角的尝试,所以现在将其称为哈里斯拐角检测器。这篇论文把这个简单的想法变成了数学形式。它基本上找到了在所有方向上位移的强度差异。

官方api解释直达

1
cornerHarris(src, dst, blockSize, ksize, k)
  1. src:必须是单通道灰度图
  2. dst:返回类型是CV_32FC1,大小与 src 相同。
  3. blockSize:角点检测考虑的领域大小,int类型
  4. kszie:Sobel算子的大小,int类型
  5. k:自由度参数,值越小检测出的结果越多。double类型
阅读全文