美文网首页ROS
week30 机器人智能控制 ROS topic and ser

week30 机器人智能控制 ROS topic and ser

作者: 吃醋不吃辣的雷儿 | 来源:发表于2020-05-01 21:43 被阅读0次
机器人内部系统

创建工作空间

mkdir -p catkin_ws/src
cd src
catkin_init_workspace
cd ..

创建功能包

cd src
catkin_create_pkg black_letter std_msgs rospy
catkin_make
注意source devel/setup.bash

通过launch启动多个节点

<launch>
<node name = "publish_node" pkg = "black_envelope" type = "publisherrrr.py" output = "screen"/>
<node name = "subscribe_node" pkg = "black_envelope" type = "subscriberrrr.py" output = "screen"/>
</launch>
写好以后注意设置py文件的权限,否则会报错找不到节点xxx.py在packagexxx中

ROS入门之——浅谈launch_Python_沐棋的博客-CSDN博客 https://blog.csdn.net/weixin_41995979/article/details/81784987

参数

可以直接用rospy的方式启动ros但需要事先通过roscore启动主节点,直接使用roslaunch的方式启动,无需单独roscore
rostopic list
rostopic echo /“”
rostopic 点对点通信


subscriber
publisher
pub_and_sub.launch
rosnode list and rqt_console
server
client
launch

简单来说,topic是单向传递,一个发送一个订阅。而service是双向的,一个服务器一个客户端,客户端将输入发给服务器,服务器按照既定的算法将计算的输出返回给客户端。
值得注意的是,如果自定义数据结构的话,例如srv,要修改package中的CMakeLists.txt,解一些注释,如图


srv

由于设置了output="screen"所以控制台无输出信息

datetime获取时间

1.先导入库:import datetime

2.获取当前日期和时间:now_time = datetime.datetime.now()

3.格式化成我们想要的日期:strftime()

比如:“2016-09-21”:datetime.datetime.now().strftime('%Y-%m-%d')

4.在当前时间增加1小时:add_hour=datetime.datetime.now()+datetime.timedelta(hours=1) #需要导入timedelta库

格式“小时”:now_hour=add_hour.strftime('%H')

5.时间的三种存在方式:时间对象,时间字符串,时间戳。

(1)字符串转datetime:

string = '2014-01-08 11:59:58'
time1 = datetime.datetime.strptime(string,'%Y-%m-%d %H:%M:%S')
print time1
2014-01-08 11:59:58

(2)datetime转字符串:

time1_str = datetime.datetime.strftime(time1,'%Y-%m-%d %H:%M:%S')
time1_str
'2014-01-08 11:59:58'

(3)时间戳转时间对象:

time1 = time.localtime()
time1_str = datetime.datetime.fromtimestamp(time1)

格式参数 主从机

bashrc表示当前用户名下的环境信息 export表示扩展的环境变量

工具箱
rqt组件

相关文章

网友评论

    本文标题:week30 机器人智能控制 ROS topic and ser

    本文链接:https://www.haomeiwen.com/subject/bpwpihtx.html