zoukankan      html  css  js  c++  java
  • Ros学习注意点

    1. 编译问题
      1. 回调函数不能有返回类型,严格按照实例程序编写
      2. 第三方库的问题,packet.xml里面必须加上自己的依赖文件
      3. 之前文档里面介绍的有点问题。

        主要表现在:当你建立包的时候就写入了依赖,那就不需要再写了。

        当你没有写或者重新定义了一个自定义的msg,你必须包含进去,当然假如用标准的没有msg的话,你是不需要加的。比如下面的hello 包

        CMake

       

      从上面这些文件中,我们可以看出,CmakeList当中,配置的是

      Include和lib。Packg.xml里面配置的是 include<> 头文件。

      加入msg,之后,需要加入下面的 message_generation 和 message_runtime。表示我们用的是 msg生成的头文件。

       

       

       

    2. git相关问题

      当所有都搞不定的时候,就直接clone 一个新的git 仓库。里面有新的信息,然后在里面运用git 命令。

      主要参考 廖雪峰的网站。

    1. 串口驱动相关

      参考资料: http://blog.csdn.net/u011853479/article/details/51261704

      1. 编译时候需要注意

        一般情况下,将下载的串口驱动放在Downloads目录下

      然后更改Makefile里面的信息,将软件安装到 opt/serial 当中去。

      安装完之后,配置一下profile 或者 bashrc 即可。

      1. 测试串口注意点

      请看上面的命令:

      我们一个通过 ls –l /dev/ttyUSB* 来查看USB串口的信息。有的话会出现。

      我们可以通过 echo "xxx" > /dev/ttyUSB0 当中去。

      假如提示权限不足,我们通过 sudo chmod 777 /dev/ttyUSB0来搞定。

      还有就是在插入USB-Serial 以后,一般不需要安装串口驱动。

    1. 编译程序相关

      我们发现每次 catkin_make一下,就会让我们重新 更改串口 权限一次。

      而且 source devel/setup.bash.

      最后一个注意点就是,串口的路径一定是 /dev/ttyUSB*.

      这个千万不要错。

    2. 实际发送过程中的问题

      该延时延时,不然发送速度过快会有问题,接收也是一样的。

      而且,我们发现目前仅支持 写入和读取 string 类型数据,char array目前得到的一直是空值。

      实际得到的字符串个数,我们用 str.size() 来弄。

    3. ros 中自定义结构体,无法通过 rostopic echo node 来查看信息,会报错。说是找不到 msg

      因为目前ros好像仅仅支持 标准库的数据格式的输出。

    4. 底层测试数据

      FF A5 5A 09 81 00 5A 00 00 32 03 00 00 19    //三挡,车速为0,转向90

      FF A5 5A 09 81 FF A6 00 00 32 03 00 00 64    //
      三挡,车速为0,转向-90 

      FF A5 5A 09 81 00 00 00 00 00 03 00 00 8D    //
      三挡,车速为

      FF A5 5A 09 81 00 00 00 0A 00 03 00 00 97    //
      三挡,车速为1

      FF A5 5A 09 81 00 00 00 32 00 03 00 00 BF    //
      三挡,车速为

      FF A5 5A 09 81 00 00 00 64 00 03 00 00 F1    //
      三挡,车速为10

      FF A5 5A 09 81 00 00 00 96 00 03 00 00 53    //
      三挡,车速为15

      FF A5 5A 09 81 00 00 00 C8 00 03 00 00 55    //
      三挡,车速为20

      FF A5 5A 09 81 00 00 01 2C 00 03 00 00 BA    //
      三挡,车速为30

      FF A5 5A 09 81 00 00 01 90 00 03 00 00 1E    //
      三挡,车速为40

      FF A5 5A 09 81 00 00 01 F4 00 03 00 00 82    //
      三挡,车速为50

       

      后期可以直接使用。

    5. 串口数据异常

      Ros下面在用串口的时候,用的网上别人的驱动,遇到的问题很奇怪,当我们用char 数组去发送数据的时候,无法发送出去。

      只有用 unsigned char去发送数据的时候,才可以发送出去。

      所有 short 或者int 型数据,务必改成 unsigned short 或者 其他无符号形式发送出去。

  • 相关阅读:
    Kubernetes 服务入口管理 Traefik Ingress Controller
    flex的titlewindow如何自适应浏览器的宽度和高度
    JQuery的事件中使用this
    jQuery控制 input 不可编辑
    jquery 操作 input显示或者隐藏
    Word 创建模板
    HTML转PDF
    SQL server 自增主键重新从1开始
    读取 .properties文件到数据库
    根据json生成java实体类文件
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/5690274.html
Copyright © 2011-2022 走看看