ROS基础知识
ROS主要通过节点的形式整合机器人系统中的各个传感器、执行器和相对应的算法,并提供了多种节点间的通讯方式。
其详细的框架介绍参见ROS探索总结(二)——ROS总体框架
我的所有学习都是基于ubuntu16.04和ros kinetic的。
ROS命令
roscore
:运行ros master(再启动其他节点之前需要先启动master,ros节点之间的通信依赖master)
rosrun
:运行ros节点程序 -> rosrun [package name] [node_file_name]
roslaunch
:批量运行ros节点 -> roslaunch [package_name] [launch_file_name]
rqt_graph
: 显示ros节点图
还有ros_topic, ros_msg
等等以后用到了再记吧
example:
# 启动ros master
roscore
# 启动ros自带教程中的talker节点
rosrun rospy_tutorials talker
# 启动ros自动教程中的listener节点
rosrun rospy_tutorials listener
# listener会接收到talker发送过去的hello world + 时间戳 并显示
创建自定义ROS节点流程
# 建立workspace目录
mkdir ros_ws/src -p
# 初始化workspace,目录下会自动生成一个CMakeLists.txt
cd ros_ws/src
catkin_init_workspace
# 创建myrobt pacakge,表明其依赖于rospy package, 目录下会生成一个myrobt文件夹
catkin_create_pkg myrobt rospy
# 编译workspace下的所有package, 当然我们主要用Python, 所以可以先编译, 再写程序
# 编译后会出现build 和 devel两个文件夹
cd ..
catkin_make
# 将package的目录都添加到环境变量里面,这样才能让rosrun,roslaunch等命令直接找到你的
source ./devel/source.bash