ros学习
ros在使用之前要先输入roscore命令,然后在新打开的终端里进行相关操作
如果在寻找或者使用ROS package时,要确定环境是否已经正确的启动。
可以通过命令:printenv | grep ROS 来确保环境变量正确设定,如ROS_ROOT和ROS_PACKAGE_PATH
ros工作空间的创建
mkdir -p ~/ros_workspace/src
cd ~/ros_workspace/src
catkin_init_workspace
cd ..
catkin_make
source ./devel/setup.bash
ros功能包的创建(创建功能包hello)
cd ~/ros_workspace/src
catkin_create_pkg hello std_msgs rospy roscpp
cd ..
catkin_make
source ./devel/setup.bash //也可以是 . devel/setup.bash
ros工作空间覆盖问题
新创建的工作空间路径在ROS_PACKAGE_PATH中会放到最前面
不同空间中的同名功能包,ROS_PACKAGE_PATH前面的会覆盖后面的
为了确保工作空间被载入ROS_PACKAGE_PATH,可以使用命令echo $ROS_PACKAGE_PATH
ros的文件系统工具(以功能包roscpp为例)
rospack find roscpp //查找功能包所在路径
roscd roscpp //切换到功能包目录
rosls roscpp //显示功能包目录
roscd log //切换到日志文件目录
roscd和rosls具有命令补全功能
rospack depends1 roscpp //查找功能包的直接依赖项
rospack depends roscpp //查找功能包的所有依赖项
ros节点(以turtlesim功能包,及其中的turtlesim_node节点为例)
rosnode list //列出正在运行的节点(e.g./turtlesim)
rosnode info /rosout //列出节点信息
rosrun turtlesim turtlesim_node //运行tuetlesim