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

記錄一些若さゆえの過ち,不定期更新
1.master client配置
gedit /etc/hosts(client要加master的ip和hostname;master要加client們的ip和hostname,加完以后互ping)
? ? *client的ip會變,記得更新,如果對不上的話會能收不能發(fā)
gedit ~/.bashrc (從機(jī)加上export ROS_MASTER_URI = (master的地址)以及ROS_IP = (自己的ip,會變,注意改),ROS_HOSTNAME=(自己的hostname),這個和ROS_IP似乎寫一個就好)
設(shè)置完以后,一邊rostopic pub /test_topic std_msgs/String "connnected";另一邊rostopic echo /test_topic,都能收到,vice versa,就ok了
也可以rqt_graph看看node、topic連上沒,是不是active
2.一個節(jié)點(diǎn)里別run多次rospy.init_node(),那tm別人咋知道你到底叫啥?也要看看你子函數(shù)子類init里邊有沒有run這個,可以測試的時候uncomment,平時comment掉
3.延時,rospy.Rate(x),rate.sleep()是確保每cycle一定量時間完成,time.sleep(x)就是休眠特定時間。Publisher發(fā)布消息之后可以延遲一點(diǎn)時間,等等它發(fā)好,但也可能丟包沒發(fā)上,可以以循環(huán)發(fā)幾次。
4.有的topic一直有發(fā)布,有的過一段時間才有發(fā)布,所以Subscriber讀不到東西的話別急,等等看。也可以rostopic info 看看都有哪些publisher和subscriber
5.msg種類是很多啦,print一下看看就好了,也沒多復(fù)雜。序列戳?xí)r間戳還是蓋蓋好,不然容易亂套。雖然不好好蓋也能發(fā)就是了
6