古月居ROS入门21讲学习笔记(编程基础9-16课)(持续更新)

Kanya ·
更新时间:2024-11-10
· 943 次阅读

第九课 创建工作空间课功能包 工作空间

src:代码空间。xml文件
build:编译空间,基本不用关心
devel:开发空间,
install:安装空间

创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

编译工作空间
cd ~/catkin_ws/
catkin_make (产生devel 和build文件夹)
catkin_make install (产生install文件夹)

设置环境变量
source devel/setup.bash

检查环境变量
echo $ROS_PACKAGE_PATH

创建功能包

catkin_creat_pkg (功能包名) 【依赖1】【依赖2】【依赖3】

创建功能包
cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs rospy roscpp

编译功能包
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

同一个工作空间下,不允许有同名功能包,不同工作空间下可以有。

第十课 发布者Publisher的编程实现 创建功能包

cd ~/catkin_ws/src
catkin_create_pkg learning_topic roscpp std_msgs geometry_msgs turtlesim

c++实现 1.编写程序

参考资料里的velocity_publisher.cpp文件。
在这里插入图片描述

2.在CMakelist.txt文件末尾加上

add_executable(velocity_publisher src/velocity_publisher.cpp)
target_link_libraries(velocity_publisher ${catkin_LIBRARIES})

3.编译并运行

cd ~/catkin_ws
catkin_make
source devel/setup.bash
新开终端roscore
新开终端rosrun turtlesim turtlesim_node
新开终端rosrun learning_topic velocity_publisher

python实现

看课件代码

第十一课 订阅者Subscriber的编程实现

类似Publisher的过程

C++实现 1.编写程序

在这里插入图片描述
回调函数很重要,类似于中断,当有信息来了,先进入回调函数处理。所以回调函数处理数据要尽量简洁,否则后续数据进不来。

2.在CMakelist.txt文件中加上

add_executable(pose_subscriber src/pose_subscriber.cpp)
target_link_libraries(pose_subscriber ${catkin_LIBRARIES})

3.编译并运行

cd ~/catkin_ws
catkin_make
source devel/setup.bash
新开终端roscore
新开终端rosrun turtlesim turtlesim_node
新开终端rosrun learning_topic pose_subscriber
新开终端rosrun turtlesim turtle_teloop_key
就可以看到位置信息不断在变了

python实现

看课件代码

第十二课 话题消息的定义与使用

在这里插入图片描述

如何自定义话题消息 1. 定义msg文件

在工作空间的learning_topic功能包中创建msg文件夹,在其中创建person.msg文件。
在这里插入图片描述

2.在package.xml中添加功能包依赖 message generation message_runtime

在这里插入图片描述

3.在CMakeLists.txt添加编译选项

有三个地方要变
message_generation
在这里插入图片描述
add_message_files(FILES Person.msg)
generate_messages(DEPENDENCIES std_msgs)
在这里插入图片描述
在这里插入图片描述

4.编译生成语言相关文件

回到工作空间目录下,catkin_make

5.创建发布者、订阅者

在learning_topic/src下创建发布者和订阅者,程序在例程里。

6.配置Cmakelist.txt文件

在这里插入图片描述

7.编译

回到工作空间目录下,catkin_make

8.实验

在这里插入图片描述


作者:Enochzhu



编程基础 ros入门 学习笔记 ros 更新 学习

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章