永发信息网

ros rqtplot怎么处理数据

答案:1  悬赏:50  手机版
解决时间 2021-11-27 11:33
ros rqtplot怎么处理数据
最佳答案
1 创建工程
cd ~/catkin_ws/src
catkin_create_pkg action std_msgs rospy
2 设计action定义文件内容goal feedback result
servicesrv文件像放置再工程目录action目录

duration time_to_wait #goal客户端发送等待总间
---
duration time_elapsed #result ,服务器端发送等久
uint32 updates_sent #更新少
---
duration time_elapsed # feedback服务器端周期性发送已等久
duration time_remaining #剩久

3 修改CMakeLists.txt文件配置默认支持
3.1 增加模块actionlib_msgs
find_package(catkin REQUIRED COMPONENTS
..... #其已模块
actionlib_msgs#增加
)
3.2 增加action服务定义文件
add_action_files(
DIRECTORY action
FILES Timer.action
)
3.3 actionmsg
generate_messages(
DEPENDENCIES
actionlib_msgs
std_msgs
)
3.4 catkinmsg支持
catkin_package(
CATKIN_DEPENDS
actionlib_msgs
)

4 编译工程
cd ~/catkin_ws
catkin_make

5 编写action服务器端程序
#!/usr/bin/env python
import roslib; roslib.load_manifest('action')

import rospy
import time
import actionlib
from action.msg import TimerAction, TimerGoal, TimerResult
def do_timer(goal):
start_time = time.time()
time.sleep(goal.time_to_wait.to_sec())
result = TimerResult()
result.time_elapsed = rospy.Duration.from_sec(time.time() - start_time)
result.updates_sent = 0
server.set_succeeded(result)
rospy.init_node('timer_action_server')
server = actionlib.SimpleActionServer('timer', TimerAction, do_timer, False)
server.start()
rospy.spin()
6 编写rosaction客户端程序
#!/usr/bin/env python
import roslib; roslib.load_manifest('action')
import rospy
import actionlib
from action.msg import TimerAction, TimerGoal, TimerResult
rospy.init_node('timer_action_client')
client = actionlib.SimpleActionClient('timer', TimerAction)
client.wait_for_server()
goal = TimerGoal()
goal.time_to_wait = rospy.Duration.from_sec(5.0)
client.send_goal(goal)
client.wait_for_result()
print('Time elapsed: %f'%(client.get_result().time_elapsed.to_sec()))

7 测试运行(四终端)
roscore
rosrun action action_c.py
rosrun action action_s.py

8 查看信息
liao@liao-eagle:~/catkin_ws/src/action/src$ rostopic list
/rosout
/rosout_agg
/timer/cancel
/timer/feedback
/timer/goal
/timer/result
/timer/status

liao@liao-eagle:~/catkin_ws/src/action/src$ rostopic info /timer/goal
Type: action/TimerActionGoal

Publishers: None

Subscribers:
* /timer_action_server ()

liao@liao-eagle:~/catkin_ws/src/action/src$ rosmsg show TimerActionGoal
[action/TimerActionGoal]:
std_msgs/Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalID goal_id
time stamp
string id
action/TimerGoal goal
duration time_to_wait

liao@liao-eagle:~/catkin_ws/src/action/src$ rosmsg show TimerGoal
[action/TimerGoal]:
duration time_to_wait

9 rqt_graph
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
4.35*(1+45%_60%)
取黑眼子过了一年为什么有疤了
x的负四次方的原函数是什么?
汽车的防滑系功能键要长期开,还是不开车上路
白天大脑发昏二秒钟是什么原因
小丽家到学校的距离比小英远4千米,小丽骑车
不再沉默电影所有女演员
“事情已经做了一半”用什么成语?
强光手电变暗了
我的电视是长虹ITV42820F,怎么样才能设置默认
手机屏幕上自拍相机旁的网状东西是什么
肌酐值68.7说明什么
“因起诉离婚法院调解后双方签字同意了,现在
我跑了53千米,小鹿比我少跑了34千米,小鹿比我
C#中这个Dialogresult的用法
推荐资讯
大同市从铁牛里到睿和锦城坐几路公交车
佛教春联2016年(七言)
为什么所有人都感觉和我作对?
单反相机100d什么意思,d越高代表什么
功放后面标的是5,1声道,为什么只有四组喇吧
太穷的男生凭什么谈恋爱
乐清哪有电镀
我的车检验有效日期是2016年12月,那么我下个
想知道: 宜兴市 从宜兴站到宜兴新建镇怎么坐
逆水寒行酒探案怎么做
淘宝已删除的订单还未评价怎么消除
广西南华烹饪学校卤菜块状是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?