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 //编译项目, ...
随机推荐
- MicroStation VBA 操作提示
Sub TestShowCommand() ShowCommand "画条线" ShowPrompt "选择第一个点" ShowStatus "选择第 ...
- Grunt安装配置教程:前端自动化工作流
Grunt这货是啥? Grunt 是一个基于任务的 JavaScript 项目命令行构建工具. 最近很火的前端自动化小工具,基于任务的命令行构建工具 http://gruntjs.com Grunt能 ...
- ThreadLocal源码分析
1.概述 ThreadLocal,可以理解为线程的局部变量,作用就是为每一个使用该变量的线程都提供一个变量值的副本,每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突. ThreadLo ...
- SSH新学
流程:model-->dao-->service-->impService-->action 如果只是操作单个的一个表,比如user表,则都写到user的流程中 如果要操作俩个 ...
- lamp安装
一.简介 什么是LAMPLAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面 ...
- MySQL 系列(五) 多实例、高可用生产环境实战
MySQL 系列(五) 多实例.高可用生产环境实战 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...
- java 把一个文件夹里图片复制到另一个文件夹里
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.ut ...
- 数据分页处理系列之二:HBase表数据分页处理
HBase是Hadoop大数据生态技术圈中的一项关键技术,是一种用于分布式存储大数据的列式数据库,关于HBase更加详细的介绍和技术细节,朋友们可以在网络上进行搜寻,笔者本人在接下来的日子里也会写 ...
- android 获取本机SMI卡号码
//获取手机号码 TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); S ...
- Sqlserver2008 数据库镜像会话的初始连接
sqlserver2008 数据库镜像服务配置完成后,大家会发现我们有了两个数据库服务,这两个服务可以实现自动故障转移,那么我们的程序如何实现自动连接正常的数据库呢? 这个问题很简单,使用ADO.NE ...