1、创建ROS工作空间
mkdir -p ros_ws/src
cd ros_ws/src/
catkin_init_workspace
######################################显示以下
#Creating symlink "/home/wfq/ros_ws/src/CMakeLists.txt" pointing to "/opt/ros/melodic/share/catkin/cmake/toplevel.cmake"
######################################
cd ~/ros_ws
catkin_make
######################################显示以下
#Base path: /home/wfq/ros_ws
#Source space: /home/wfq/ros_ws/src
#Build space: /home/wfq/ros_ws/build
#Devel space: /home/wfq/ros_ws/devel
#Install space: /home/wfq/ros_ws/install
######################################
source ~/ros_ws/devel/setup.bash
#或者把source ~/ros_ws/devel/setup.bash添加到~/.bashrc里
echo ${ROS_PACKAGE_PATH} #检查一下~/ros_ws/src有没有自动添加成功
2、构建ROS功能包(PACKAGE)
每个功能包,创建后,至少会有一个CMakelists.txt
(注意,之后在包里添加了可执行程序等,要在这里加上),然后catkin_make
是统一在~/ros_rs
中,不管有几个包,大家统一在ros_ws
中catkin_make
,而不是在各自的包中catkin_make)和package.xml
(用来描述这个包,名字、依赖项等等)文件,
cd ~/ros_ws/src
# catkin_create_pkg <packageName> [depend1] [depend2]
#如
catkin_create_pkg ros_robotics #此时rospack list已经可以检测到了
cd ~/ros_ws
catkin_make
经过以上操作,通过env | grep PATH
查看LD_LIBRARY_PATH
, CMAKE_PREFIX_PATH
, ROS_PACKAGE_PATH
,里面都有ros_ws目录了
-
继续构建ROS功能包
依然在工作空间的src
里,可以继续catkin_create_pkg
来创建功能包cd ~/ros_ws/src catkin_create_pkg my_minimum_publisher roscpp std_msg #后两个是依赖项 cd ~/ros_ws #仍然是在ros_ws中catkin_make catkin_make