Ros学习注意点
- 编译问题
- 回调函数不能有返回类型,严格按照实例程序编写
- 第三方库的问题,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好像仅仅支持 标准库的数据格式的输出。
- 底层测试数据
,转向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 //三挡,车速为0
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 //三挡,车速为5
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
后期可以直接使用。
- 串口数据异常
Ros下面在用串口的时候,用的网上别人的驱动,遇到的问题很奇怪,当我们用char 数组去发送数据的时候,无法发送出去。
只有用 unsigned char去发送数据的时候,才可以发送出去。
所有 short 或者int 型数据,务必改成 unsigned short 或者 其他无符号形式发送出去。
Ros学习注意点的更多相关文章
- 关于ROS学习的一些反思
距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...
- ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python)
ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python) 时隔1年,再回来总结这个问题,因为它是ros+python开发中,太常用的一个操作,需要 ...
- ROS学习手记 - 8 编写ROS的Publisher and Subscriber
上一节我们完成了 message & srv 文件的创建和加入编译,这次我们要玩简单的Publisher 和 Subscriber 要玩 Publisher 和 Subscriber, 需要具 ...
- ROS学习(四)—— 创建ROS Package
一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...
- ROS学习网址【原创】
ROS学习网址 http://www.ros.org/ http://www.ros.org/news/book/ http://wiki.ros.org/ http://blog.exbot.net ...
- ROS学习笔记七:在ROS中使用USB摄像头
下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...
- ROS学习(一)—— 环境搭建
一.配置Ubuntu软件仓库且选择ROS正确版本 二.添加source.list sudo sh -c 'echo "deb http://packages.ros.org/ros/ubun ...
- ROS学习记录(二)————使用smartcar进行仿真(用.xacro文件来运行rviz)
我发现一个学习ROS系统的好网站: 创客智造http://www.ncnynl.com/ 这里面关于ROS的各个方面都有很详细的介绍. 这周,不,上周我对整个ROS是绝望的,我用一个一个下午的时间在敲 ...
- ROS学习记录(一)————创建简单的机器人模型smartcar
这是我在古月居上找的(http://www.guyuehome.com/243),但直接运行的话,没办法跑起来,我也是查了好多博客和日志,才实现最后的功能的,所以,记录下来,以备后用吧,也欢迎其他和我 ...
- ROS学习笔记
创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...
随机推荐
- PHP操作mysql数据库:[2]查询数据听语音
本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料 Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言 ...
- 十五天精通WCF——第五天 你需要了解的三个小技巧
一: 服务是端点的集合 当你在开发wcf的时候,你或许已经注意到了一个service可以公布多个endpoint,确实是这样,在wcf中有一句很经典的话,叫做“服务是端点的集合",就 比如说 ...
- 身份证校验(java)
判断是第几代身份证(第一代15位, 第二代18位) if (cardId.length() == 15 || cardId.length() == 18) { if (!this.cardCodeVe ...
- DateTime的精度小问题
一般来说判断时间的话,用个DateTime类型就已经够用了.但是有些情况,比如下面这种 DECLARE @DT1 DATETIME DECLARE @DT2 DATETIME SELECT @DT1 ...
- ubuntu16.04下vim安装失败
问题? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取 ...
- linux tar命令简介
一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...
- shell tips
1.shopt 命令可以设置shell的可选参数 shopt [-psu] [optname...] -s 开启某个选项 -u 关闭某个选项 -p 列出所有可设置的选项 其中开启extglob选项,s ...
- HDU2929 Bigger is Better[DP 打印方案 !]
Bigger is Better Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 第27章 结构型模式大PK
27.1 代理模式 VS 装饰模式 27.1.1 代理模式 (1)场景:客人找运动员代理要求安排运动员参加比赛 (2)说明:代理人有控制权,可以拒绝客人的要求,也可以答应安排,甚至自己下去跑(因为有些 ...
- 第15章 设备无关位图_15.3 DIB和DDB的结合
第15章 设备相关位图_15.3 DIB和DDB的结合 15.3.1 从DIB创建DDB (1)hBitmap =CreateDIBitmap(…)——注意这名称会误导,实际上创建的是DDB 参数 说 ...