一、创造工作空间
1、mkdir -p demo02_ws/src // 创造demo02_ws 工作空间
2、cd demo02_ws/ //跳转到该目录下
3、catkin_make //编译工作空间下的所有功能包
catkin_make -DCATKIN_WHITELIST_PACKAGES=" 你的包名" // 可以只编译该工作空间下的单个功能包
catkin_make -DCATKIN_WHITELIST_PACKAGES=“” // 单独编译一个包之后,想要再编译所有的包,需使用该命令
4、code . //打开vscode
5、创建功能包 //自取名字
6、导入依赖包 roscpp rospy std_msgs
7、编写代码
8、配置CMakeList.txt文件
136 # add_executable(${PROJECT_NAME}_node // 换成映射名字 src/plumbing_pub_sub_node.cpp // 换成执行文件名字)
示例:add_executable(demo01_pub src/demo01_pub.cpp)
150 target_link_libraries(demo01_pub // 换成上述自定义的映射名
${catkin_LIBRARIES}
)
二、运行程序
1、roscore // 打开ROS核心
2、cd demo02_ws/ // 进入工作空间
3、source ./devel/setup.bash // 把当前工作空间刷新到当前窗口下面的环境变量 为了执行当前功能包 (要先进入工作空间才能执行)
4、rosrun 功能包名 执行文件名
示例:rosrun plumbing_pub_sub // 功能包 demo01_pub //被执行文件
三、运行launch文件
4、roslaunch 包名 launch文件名 (前三步与上述相同)
roslaunch learning_launch turtlesim_remap.launch // learning_launch(功能包名)turtlesim_remap.launch(launch文件名)
四、注意事项
1、setlocale(LC_ALL,“”); //去除中文乱码问题代码
2、只要符合 ROS规范不同编程语言编译的节点也能够相互通信
3、launch文件是xml启动 (xml通用标记语言是以数据为核心)
4、18.04 melodic
5、Rviz上 红色的轴是x轴 绿色的轴是y轴 蓝色的轴是z轴
6、在使用 xacro 生成 urdf 时,根标签robot中必须包含命名空间声明:xmlns:xacro=“http://wiki.ros.org/xacro”
五、常用命令
1、 git clone
2、sudo apt-get update
六、Gazebo运行问题
1、运行之前先运行该命令 export SVGA_VGPU10=0