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. 底层测试数据

    ,转向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

     

    后期可以直接使用。

  5. 串口数据异常

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

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

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

     

Ros学习注意点的更多相关文章

  1. 关于ROS学习的一些反思

    距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...

  2. ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python)

    ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python) 时隔1年,再回来总结这个问题,因为它是ros+python开发中,太常用的一个操作,需要 ...

  3. ROS学习手记 - 8 编写ROS的Publisher and Subscriber

    上一节我们完成了 message & srv 文件的创建和加入编译,这次我们要玩简单的Publisher 和 Subscriber 要玩 Publisher 和 Subscriber, 需要具 ...

  4. ROS学习(四)—— 创建ROS Package

    一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...

  5. ROS学习网址【原创】

    ROS学习网址 http://www.ros.org/ http://www.ros.org/news/book/ http://wiki.ros.org/ http://blog.exbot.net ...

  6. ROS学习笔记七:在ROS中使用USB摄像头

    下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...

  7. ROS学习(一)—— 环境搭建

    一.配置Ubuntu软件仓库且选择ROS正确版本 二.添加source.list sudo sh -c 'echo "deb http://packages.ros.org/ros/ubun ...

  8. ROS学习记录(二)————使用smartcar进行仿真(用.xacro文件来运行rviz)

    我发现一个学习ROS系统的好网站: 创客智造http://www.ncnynl.com/ 这里面关于ROS的各个方面都有很详细的介绍. 这周,不,上周我对整个ROS是绝望的,我用一个一个下午的时间在敲 ...

  9. ROS学习记录(一)————创建简单的机器人模型smartcar

    这是我在古月居上找的(http://www.guyuehome.com/243),但直接运行的话,没办法跑起来,我也是查了好多博客和日志,才实现最后的功能的,所以,记录下来,以备后用吧,也欢迎其他和我 ...

  10. ROS学习笔记

    创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...

随机推荐

  1. eclipse怎样在线安装hibernate tools插件并使用

    不知不觉,小Alan已经将近3个月没有上班了,最近在复习一些知识,随时准备回到代码世界的战场,今天复习到了Hibernate,记录一下一点点小知识,那就是eclipse下hibernate Tools ...

  2. EMC Documentum DQL整理(四)

    1.List files and folder in specified folder pathSELECT DISTINCT s.object_name, fr.r_folder_path FROM ...

  3. node.js学习之路

    (非原创) 目录 Nodejs的介绍 15个Nodejs应用场景 Nodejs学习路线图 1. Nodejs的介绍 Node.js的是建立在Chrome的JavaScript的运行时,可方便地构建快速 ...

  4. lucene分词器与搜索

    一.分词器 lucene针对不同的语言和虚伪提供了许多分词器,我们可以针对应用的不同的需求使用不同的分词器进行分词.我们需要注意的是在创建索引时使用的分词器与搜索时使用的分词器要保持一致.否则搜索的结 ...

  5. iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)

    最近做项目过程遇到一个问题: 涉及到这个属性:Build Active Architecture Only Yes .No的区别: 设置为yes,是只编译当前的architecture版本,是为了编译 ...

  6. iOS 懒加载不起作用的原因

    在.m类中定义了一共strong属性,用懒加载getter方式去处理,发现用的时候无论如何属性都是null,调试后,发现根本没进getter方法. (ps:懒加载,又称为延迟加载.说的通俗一点,就是在 ...

  7. log4j 日志信息的引入(通用版)——解决项目运行过程中的日志信息

    定义 log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程 ...

  8. NOIP2009pj道路游戏[环形DP 转移优化 二维信息]

    题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 n 个机器人工厂编 ...

  9. 计算2的N次方&&计算e

    2的N次方 注意:这里在处理的时候并没有用循环来处理,而是用移位的做法.    n<<4  就是 n*2^4    ,所以在本例中只需要写 1<<time  (time是要求的 ...

  10. Quartz集群

    为什么选择Quartz: 1)资历够老,创立于1998年,比struts1还早,但是一直在更新(27 April 2012: Quartz 2.1.5 Released),文档齐全. 2)完全由Jav ...