Ros学习笔记
一、创建工作空间:
1、
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace
cd ~/catkin_ws
catkin_make
2、完成环境配置
cd ~
vim .bashrc
文末直接添加
source ~/catkin_ws/devel/setup.bash
用
echo $ROS_PACKAGE_PATH
查看是否完成配置
3、在src下创建package功能包
cd ~/catkin_ws/src
catkin_create_pkg test_tutorials std_msgs rospy roscpp
二、功能包编写
1、Topic
首先创建消息类型:
cd ~/catkin_ws/src/test_tutorials/
mkdir msg
cd msg/
touch info.msg
Vim info.msg
编辑package.xml,文末添加
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
编辑CMakeLists.txt:
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation
)
add_message_files(
FILES
info.msg
)
generate_messages(
DEPENDENCIES
std_msgs
)
使用catkin_make 编译
检查ROS是否能够识消息:
rosmsg show test_tutorials/info
然后编写发布器:
cd src
Touch talker.cpp
Vim talker.cpp
同理,编写接受器。
编写完程序,修改cmakelist(通常添加在initial上方区域)
add_executable(talker src/talker.cpp) #生成可执行文件talker
add_dependencies(talker topic_demo_generate_messages_cpp)
#表明在编译talker前,必须先生编译完成自定义消息
#必须添加add_dependencies,否则找不到自定义的msg产生的头文件
#表明在编译talker前,必须先生编译完成自定义消息
target_link_libraries(talker ${catkin_LIBRARIES}) #链接
add_executable(listener src/listener.cpp ) #声称可执行文件listener
add_dependencies(listener topic_demo_generate_messages_cpp)
target_link_libraries(listener ${catkin_LIBRARIES})#链接
最后
cd ~/catkin_ws
Catkin_make
测试:
启动roscore之后运行
rosrun tst_pkg talker