1、问题

在运行ROS by Example 2--Indigo版本中,运行 smach_viewer,再运行巡逻,命令如下:

$ rosrun smach_viewer smach_viewer.py
$ rosrun rbx2_tasks patrol_smach.py

出现如下错误:

xception in thread Thread-:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line , in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line , in run
self.__target(*self.__args, **self.__kwargs)
File "/opt/ros/indigo/lib/smach_viewer/smach_viewer.py", line , in _update_graph
self.set_dotcode(dotstr,zoom=False)
File "/opt/ros/indigo/lib/smach_viewer/smach_viewer.py", line , in set_dotcode
if self.widget.set_dotcode(dotcode, None):
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/wxxdot.py", line , in set_dotcode
self.set_xdotcode(xdotcode)
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/wxxdot.py", line , in set_xdotcode
self.graph = parser.parse()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse
DotParser.parse(self)
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse
self.parse_graph()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_graph
self.parse_stmt()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_stmt
self.parse_subgraph()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_subgraph
self.parse_stmt()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_stmt
self.parse_subgraph()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_subgraph
self.parse_stmt()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse_stmt
self.handle_node(id, attrs)
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in handle_node
shapes.extend(parser.parse())
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in parse
points = self.read_polygon()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in read_polygon
x, y = self.read_point()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in read_point
x = self.read_number()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xdot/xdot.py", line , in read_number
return int(self.read_code())
ValueError: invalid literal for int() with base : '402.67'

2、解决方案

将文件的480行的代码:

return int(self.read_code()) 

改成:

return int(float(self.read_code()))

来解决方案的来源:

1、ROS Indigo :Cannot show Graph View on smach_viewer

出来的效果图:

smach在机器人控制中太重要了,PR2开发中,发现如果不用一套完整的框架去执行任务,会导致代码的维护特别的繁杂,所以大佬们才开发这套smach状态机功能包,既然要用到,就不要走弯路了,最近试了几个任务的执行,深切体会,知道碰壁不如早点用起来它吧。

ROS知识(10)----smach_viewer的Graph view不能显示状态图的更多相关文章

  1. ROS知识(15)----Actionlib的使用(一)

    Actionlib是ROS非常重要的库,像执行各种运动的动作,例如控制手臂去抓取一个杯子,这个过程可能复杂而漫长,执行过程中还可能强制中断或反馈信息,这时Actionlib就能大展伸手了. 1.原理 ...

  2. 1. 通俗易懂解释知识图谱(Knowledge Graph)

    1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 从一开始的Google搜索,到现在的聊天机器人.大数据风控 ...

  3. ROS知识(5)----消息与服务的示例

    ROS中已经定义了较多的标准类型的消息,你可以用在这些标准类型的消息上再自定义自己的消息类型.这个在复杂数据传输很有用,例如节点和服务器进行交互时,就可能用到传输多个参数到服务器,并返回相应的结果.为 ...

  4. Activtiy完全解析(三、View的显示过程measure、layout、draw)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52840065 本文出自:[openXu的博客]   在Activity完全解析的第一篇文章A ...

  5. 经验之谈—控制器的view的显示

    经验之谈—控制器的view的显示 开发中,我们经常需要将一个控制器的view添加到另一个控制器的view上,这种效果是我们期望看到的,但是里边隐藏着一些细节,不注意的话,可能会达不到我们想到的效果. ...

  6. Android 如何动态添加 View 并显示在指定位置。

    引子 最近,在做产品的需求的时候,遇到 PM 要求在某个按钮上添加一个新手引导动画,引导用户去点击.作为 RD,我哗啦啦的就写好相关逻辑了.自测完成后,提测,PM Review 效果. 看完后,PM ...

  7. 仅此一文让你明白ASP.NET MVC 之View的显示(仅此一文系列二)

    题外话 一周之前写的<仅此一文让你明白ASP.NET MVC原理>受到了广大学习ASP.NET MVC同学的欢迎,于是下定决心准备把它写成一个系列,以满足更多求知若渴的同学们.蒋金楠老师已 ...

  8. Java基础-多线程编程-1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。

    1.随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread ...

  9. MiniProfiler.3.0.10 用于MVC4.0中不能显示SQL语句

    MiniProfiler.3.0.10 用于MVC4.0中可以显示执行时间,但是不能显示SQL语句,怎么解决?

随机推荐

  1. JavaScript新手学习笔记(一)

    1.JavaScript 对大小写敏感. JavaScript 对大小写是敏感的. 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getElementById 与 getE ...

  2. linux 下用户组、文件权限详解

    参考资料:http://www.cnblogs.com/123-/p/4189072.html

  3. Win10搜索不能用

    使用win10进行搜索时,一直显示win10特色的滚动条,但就是检索不出东西,我的主要是检索不到windows的内容: (个人感觉使用win10检索网页内容不太专业,就关闭了Web搜索) 最后有发现网 ...

  4. 使用Netty4实现基本的消息分发

    示例工程代码 可从附件下载 具体的说明和用法在后面介绍 需求与目的 一个游戏服务端需要处理各种业务逻辑,每一种业务逻辑都对应着一个请求消息和一个响应消息.那么服务端需要把这些不同的消息自动分发到对应的 ...

  5. C++两个类相互包含引用的问题

    在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型 class A { B b; } class B { A* a; } 请 ...

  6. C++ "multiple definition of .. first defined here"

    C++ "multiple definition of .. first defined here" 在C++中,有时候需要在不同文件中使用同一个变量.对于这类变量如果处理不当,很 ...

  7. WordPress解决优酷、土豆视频移动端观看问题并自适应

    转:https://www.xhsay.com/wp-iframe-handler-youku-tudou.html 虽然WordPress能直接插入优酷.土豆的视频但是无法在移动端观看,于是乎笨笨就 ...

  8. 【ARC066】F - Contest with Drinks Hard

    题解 我写的斜率维护,放弃了我最擅长的叉积维护,然后发现叉积维护也不会爆long long哦-- 一写斜率维护我的代码就会莫名变长而且难写--行吧 我们看这题 推了推式子,发现这是个斜率的式子,但是斜 ...

  9. Git配置用户名密码

    配置Git 在Linux下和windows下配置Git的方法差不多,只是在Linux下,可以在命令行里直接使用git config进行配置, 而在windows下则要先打开“Git Bash”,进入m ...

  10. mysql 触发器(Trigger)简明总结和使用实例

    一,什么触发器 1,个人理解触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了.你放炮仗,点燃了,一会就炸了.2,官方定义触发器(tr ...