机器人二维地图的各种表示及转换

机器人二维地图表示方式:

  • 占据栅格地图 (nav_msgs::OccupancyGrid)
  • 多层栅格地图 (grid_map)
  • OpenCV 图像表示

占据栅格地图 (nav_msgs::OccupancyGrid)

栅格地图即将一块区域分割成 m*n 个正方形格子,栅格地图的分辨率就表示每个格子的边长表示物理上的距离,比如分辨率为 1 米的栅格地图表示 100 米 * 100 米区域需要 100 * 100 个格子,如下所示:

ros2-control介绍及使用

介绍

ros2_control 是一个使用 ROS2 控制机器人的框架,它将控制逻辑和硬件接口解耦,可以非常方便的替换控制逻辑或者硬件接口。

比如对于两轮差速小车,控制器可以使用两轮差速控制器,小车轮子的硬件接口可以随时切换为仿真小车或真实小车。

PCL 点云手记

点云即三维空间中点的集合,PCL 库专门处理点云数据,包括点云进行滤波,分割,匹配,查找等操作

数据结构

PCL 使用 pcl::PointCloud<T> 来存储点云,其中 T 是点的类型,下面是一些 PCL 定义的常用点类型:

Linux网络代理设置

首先需要有代理服务端,可以自建或购买已有服务,然后就是本文中相关的客户端设置,客户端配置为透明代理模式,这样系统上的软件就不用每个都配置代理了

Linux罗技鼠标设置dpi

  1. 安装非官方驱动: https://github.com/PixlOne/logiops ,安装完后启动服务

    1
    
    sudo systemctl enable --now logid
  2. 执行 sudo logid 查看识别的鼠标名称

    1
    
    [INFO] Device found: G502 HERO Gaming Mouse on /dev/hidraw4:255
  3. 配置文件 /etc/logid.cfg

    1
    2
    3
    4
    5
    6
    
    devices: (
    {
        name: "G502 HERO Gaming Mouse";
        dpi: 1600;
    }
    );

这个驱动还有很多其它功能,比如 dpi 切换,功能键设置等,有需要可以看 Wiki