ROS的一些小tip(不定期更新)

记录一些若さゆえの過ち,不定期更新
1.master client配置
gedit /etc/hosts(client要加master的ip和hostname;master要加client们的ip和hostname,加完以后互ping)
*client的ip会变,记得更新,如果对不上的话会能收不能发
gedit ~/.bashrc (从机加上export ROS_MASTER_URI = (master的地址)以及ROS_IP = (自己的ip,会变,注意改),ROS_HOSTNAME=(自己的hostname),这个和ROS_IP似乎写一个就好)
设置完以后,一边rostopic pub /test_topic std_msgs/String "connnected";另一边rostopic echo /test_topic,都能收到,vice versa,就ok了
也可以rqt_graph看看node、topic连上没,是不是active
2.一个节点里别run多次rospy.init_node(),那tm别人咋知道你到底叫啥?也要看看你子函数子类init里边有没有run这个,可以测试的时候uncomment,平时comment掉
3.延时,rospy.Rate(x),rate.sleep()是确保每cycle一定量时间完成,time.sleep(x)就是休眠特定时间。Publisher发布消息之后可以延迟一点时间,等等它发好,但也可能丢包没发上,可以以循环发几次。
4.有的topic一直有发布,有的过一段时间才有发布,所以Subscriber读不到东西的话别急,等等看。也可以rostopic info 看看都有哪些publisher和subscriber
5.msg种类是很多啦,print一下看看就好了,也没多复杂。序列戳时间戳还是盖盖好,不然容易乱套。虽然不好好盖也能发就是了
6