- 编译问题
- 回调函数不能有返回类型,严格按照实例程序编写
- 第三方库的问题,packet.xml里面必须加上自己的依赖文件
-
之前文档里面介绍的有点问题。
主要表现在:当你建立包的时候就写入了依赖,那就不需要再写了。
?
当你没有写或者重新定义了一个自定义的msg,你必须包含进去,当然假如用标准的没有msg的话,你是不需要加的。比如下面的hello 包
?
CMake
?
从上面这些文件中,我们可以看出,CmakeList当中,配置的是
Include和lib。Packg.xml里面配置的是 include<> 头文件。
加入msg,之后,需要加入下面的 message_generation 和 message_runtime。表示我们用的是 msg生成的头文件。
?
?
?
- git相关问题
当所有都搞不定的时候,就直接clone 一个新的git 仓库。里面有新的信息,然后在里面运用git 命令。
主要参考 廖雪峰的网站。
?
?
?
?
- 串口驱动相关
参考资料: http://blog.csdn.net/u011853479/article/details/51261704
?
- 编译时候需要注意
一般情况下,将下载的串口驱动放在Downloads目录下
然后更改Makefile里面的信息,将软件安装到 opt/serial 当中去。
安装完之后,配置一下profile 或者 bashrc 即可。
?
?
- 测试串口注意点
请看上面的命令:
我们一个通过 ls –l /dev/ttyUSB* 来查看USB串口的信息。有的话会出现。
我们可以通过 echo "xxx" > /dev/ttyUSB0 当中去。
假如提示权限不足,我们通过 sudo chmod 777 /dev/ttyUSB0来搞定。
还有就是在插入USB-Serial 以后,一般不需要安装串口驱动。
- 编译时候需要注意
?
- 编译程序相关
我们发现每次 catkin_make一下,就会让我们重新 更改串口 权限一次。
而且 source devel/setup.bash.
?
最后一个注意点就是,串口的路径一定是 /dev/ttyUSB*.
这个千万不要错。
- 实际发送过程中的问题
该延时延时,不然发送速度过快会有问题,接收也是一样的。
而且,我们发现目前仅支持 写入和读取 string 类型数据,char array目前得到的一直是空值。
实际得到的字符串个数,我们用 str.size() 来弄。
- ros 中自定义结构体,无法通过 rostopic echo node 来查看信息,会报错。说是找不到 msg
因为目前ros好像仅仅支持 标准库的数据格式的输出。