ROS知识(10)----smach_viewer的Graph view不能显示状态图
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不能显示状态图的更多相关文章
- ROS知识(15)----Actionlib的使用(一)
Actionlib是ROS非常重要的库,像执行各种运动的动作,例如控制手臂去抓取一个杯子,这个过程可能复杂而漫长,执行过程中还可能强制中断或反馈信息,这时Actionlib就能大展伸手了. 1.原理 ...
- 1. 通俗易懂解释知识图谱(Knowledge Graph)
1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 从一开始的Google搜索,到现在的聊天机器人.大数据风控 ...
- ROS知识(5)----消息与服务的示例
ROS中已经定义了较多的标准类型的消息,你可以用在这些标准类型的消息上再自定义自己的消息类型.这个在复杂数据传输很有用,例如节点和服务器进行交互时,就可能用到传输多个参数到服务器,并返回相应的结果.为 ...
- Activtiy完全解析(三、View的显示过程measure、layout、draw)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52840065 本文出自:[openXu的博客] 在Activity完全解析的第一篇文章A ...
- 经验之谈—控制器的view的显示
经验之谈—控制器的view的显示 开发中,我们经常需要将一个控制器的view添加到另一个控制器的view上,这种效果是我们期望看到的,但是里边隐藏着一些细节,不注意的话,可能会达不到我们想到的效果. ...
- Android 如何动态添加 View 并显示在指定位置。
引子 最近,在做产品的需求的时候,遇到 PM 要求在某个按钮上添加一个新手引导动画,引导用户去点击.作为 RD,我哗啦啦的就写好相关逻辑了.自测完成后,提测,PM Review 效果. 看完后,PM ...
- 仅此一文让你明白ASP.NET MVC 之View的显示(仅此一文系列二)
题外话 一周之前写的<仅此一文让你明白ASP.NET MVC原理>受到了广大学习ASP.NET MVC同学的欢迎,于是下定决心准备把它写成一个系列,以满足更多求知若渴的同学们.蒋金楠老师已 ...
- Java基础-多线程编程-1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。
1.随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread ...
- MiniProfiler.3.0.10 用于MVC4.0中不能显示SQL语句
MiniProfiler.3.0.10 用于MVC4.0中可以显示执行时间,但是不能显示SQL语句,怎么解决?
随机推荐
- bzoj 1034 泡泡堂BNB
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1034 题解: 很明显的贪心,读过田忌赛马的典故就很容易能想出来,分成三种情况讨论: < ...
- Southwestern Europe Regional Contest 2015 题解
题目链接:http://codeforces.com/gym/101128 题目数7/10 Rank 34/209 A: 题意:给出一张n个点的有向图表示一家有n个员工的公司的隶属图,u->v表 ...
- liunx系统top命令详解
ps: 1.按1可以进行 CPU各个和总CPU汇总的切换2.cpu0是最关键的,总控管理各个CPU 3.默认情况下仅显示比较重要的 PID.USER.PR.NI.VIRT.RES.SHR.S.%CPU ...
- mysql高可用架构 -> MHA主从复制-03
GTID复制技术说明 GTID的全称为 global transaction identifier ,可以翻译为全局事务标示符,GTID在原始master上的事务提交时被创建.GTID需要在全局的主- ...
- 八、springcloud之服务网关zuul(一)
一.Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器. ...
- Flask:初次使用Flask-SQLAlchemy读取SQLite3
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2,Eclipse Oxygen.1a Release (4.7.1a),PyDev 6.3.2 SQLAlchemy是一 ...
- liblinear和libsvm区别
来源于知乎: 1. LibLinear是线性核,LibSVM可以扩展到非线性核(当也能用线性核,但同样在线性核条件下会比LibLinear慢很多).2. 多分类:LibLinear是one vs al ...
- java基础23 Math类和Random类
一.Math数学类 主要是提供很多数学的公式 1.1.Math类的常用方法 abs(int a):绝对值 ceil(double a):向上取整 floor(double a):向下取整 ...
- linux tomcat 突然验证码出不来
情况描述 虚拟机上用tomcat部署的web应用,本来都还可以的.后来打了一个快照进行过压缩后,重新起虚拟机发现应用登录界面的验证码出不来了,具体报的是500错误. 参见http://www.blog ...
- eclipse各种报错
1.控制台报这个错是由于tomcat的session缓存的问题; org.apache.catalina.session.StandardManager doLoad 造成原因:上次未正确关闭tomc ...