ROS笔记

假如想象 提交于 2020-02-05 00:03:23

创建工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

编译工作空间

$ cd ~/catkin_ws/
$ catkin_make

设置环境变量

$ source devel/setup.bash

检查环境变量

$ echo $ROS_PACKAGE_PATH

创建功能包

$ cd ~/catkin_ws/src
$ catkin_creat_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 rospy roscpp std_msgs geometry_msgs turtlesim
$ cd ~/catkin_ws/src/learning_topic/src
$ vim velocity_publisher.cpp

实现一个发布者:
初始化ROS节点;
向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型;
创建消息数据;
按照一定频率循环发布消息;

编译c++代码并运行

配置CMakeListe.txt中的编译规则
设置需要编译的代码和生成的可执行文件;
设置链接库;
添加下面两句话到CMakeListe.txt中

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

编译并运行发布者

$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun learnig_topic velocity_publisher

编译后的功能包在"catkin_ws/devel/lib/learning_topic"中;

设置环境变量

$ source devel/setup.bash

此步骤可拷贝到bashrc(在主文件夹中Ctr + h)文件中避免重复

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!