ROS基本

rosrun启动一个节点
roslaunch启动多个节点

1. launch tags

使用这个语句使得文本高亮

<?xml version="1.0" encoding="UTF-8"?>

node

<node pkg="包名" type="节点名" name="赋予被执行节点运行时的名字" />

arg

定义一个argument

<arg name="参数名" default="预设值(可改)" value="预设值(不可改)" doc="描述"/ >

param

定义一个parameter,参数可以是文件或者命令

< param name="参数名或者namespace" value="参数值" type="类型str|int|double|bool|yaml" / >

remap

映射话题,使得不用更改或者发布新的话题

<remap from="话题原来的名字" to="新的话题名字"/ >

launch file调用其他的launch

<include file="$(find package_name)/launch/scout_minimal.launch" />

2. yaml file

yaml文件用来储存节点设置的parameter

3. tf变换

查看tf树

rosrun rqt_tf_tree rqt_tf_tree

查看具体两个坐标系之间的平移旋转数值

rosrun tf tf_echo /utm /odom

4. rosbag

rosbag record -O filename.bag /topic_name1 /topic_name2

5. ros::spin()和ros::spinOnce()

消息订阅的回调函数是在这两个函数当中完成的,程序执行到ros::spin()不再往下执行,所以这条语句后除了return 0,其他语句都不能有。ros::spinOnce常常和while连用:

#define FREQ	10
ros::Rate loop_rate(FREQ);

while(ros::ok())
{
	
	ros::spinOnce();
	loop_rate.sleep(); 
}
上一篇:CPack小白上手


下一篇:c – 在cmake中使用CPack生成两个不同的包:Linux