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 //编译项目, ...
随机推荐
- SQL server 2014安装以及解决连接数据库失败问题
安装教程:http://jingyan.baidu.com/article/3a2f7c2e653d5926afd61197.html 安装好之后打开SQL server 2014 Managemen ...
- linux 中的 tar 解压
Type at the command prompt tar xvzf file-1.0.tar.gz - tgfo uncompress a gzip tar file (.tgz or .tar. ...
- 验证码做得不错,有.net 版本 https://captcha.com/
https://captcha.com/ https://captcha.com/demos/features/captcha-demo.aspx
- 解决easy ui 1.4datebox控件不能清空的问题
用easy ui遇到这个问题,在网上找到了解决方案,不过是1.3.6版本的.现提供1.4版本的修改的具体位置和代码. 我们用的是这个 修改位置:12739行,添加代码: , { text: funct ...
- 自定义底部工具栏及顶部工具栏和Fragment配合使用demo
首先简单的介绍下fragment,fragment是android3.0新增的概念,其中文意思是碎片,它与activity非常相似,用来在一个activity中描述一些行为或一部分用户界面.使用锁个f ...
- java的finalize()函数
在说明finalize()的用法之前要树立有关于java垃圾回收器几个观点: "对象可以不被垃圾回收" : java的垃圾回收遵循一个特点, 就是能不回收就不会回收.只要程序的内存 ...
- mysql备份还原
备份java代码如下: /** * 备份单个数据库 * @param dbName 数据库名称 * @return 备份成功或者失败 */ @Override public boolean backu ...
- x01.os.10: 输入输出
从 x01.Lab.Download 中下载源代码,进入工程目录,make 后再 bochs,即可见到如下界面: 随便打几个字,ok!按 F2,可切换到第二个终端,界面如下: 当然,按 F3 还可切换 ...
- scala 第一课
val msg="Hello,World" Scala 可以根据赋值的内容推算出变量的类型.这在Scala语言中成为"type inference". Scal ...
- [转]C#网络编程(订立协议和发送文件) - Part.4
本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part4.aspx 源码下载:http://www.trac ...