master
: 每个node 启动时都要向master注册 管理node之间的通信
启动master
roscore 同时还会启动 rosout(日志输出 error warning…) 和 parameter server(参数服务器)
node
就是ros的进程
pkg里可执行文件运行的实例 例如一些可执行文件被加载到了内存中 就变成了node 一个node干一件事就可以了,所以一般以功能划
分。
rosrun
启动一个node
rosrun[pkg_name][node_name]
rosnode
rosnode list
列出当前运行的node信息
显示某个node的详细信息
rosnode info [node_name]
结束某个node
rosnode kill [node_name]
roslaunch
启动master和多个node
roslaunch [pkg_name] [file_name.laaunch]
launch 文件 格式,和package。xml 格式一样
一般机器人启动的那个文件起名为 bring_up.launch
gazebo太慢
解决:把模型下到本地
$ cd ~/.gazebo/
$ mkdir -p models
$ cd ~/.gazebo/models/
$ wget http://file.ncnynl.com/ros/gazebo_models.txt
$ wget -i gazebo_models.txt
$ ls model.tar.g* | xargs -n1 tar xzvf
我们来启动下
roslaunch robot_sim_demo robot_spawn.launch
gazebo瞬间打开场景
运行
rosrun robot_sim_demo robot_keyboard_teleop.py
能够通过键盘控制gazebo里面的小车
是因为键盘发布的指令通过topic 发送给 gazebo
再看看rosnode list
多出来一个/robot_teleop 节点
运行
rosrun image_view image_view image:=/camera/rgb/image_raw