ROS学习记录1

创建工作空间

查看正在使用的工作空间

echo $ROS_PACKAGE_PATH

创建工作空间文件夹

mkdir -p ~/dev/catkin_ws/src

cd ~/dev/catkin_ws/src

catkin_init_workspace

编译工作空间

cd ~/dev/catkin_ws

catkin_make

完成配置

source devel/setup.sh

或者执行下面这行命令

echo "source /opt/ros/kinetic/setup.sh" >> ~/.bashrc

source ~/.bashrc

创建ROS功能包

catkin_create_pkg [功能包名字] [依赖项]

常见依赖项:

std_msg: 常见消息类型

roscpp: 使用C++ 实现各种ROS功能。

编译功能包

catkin_make 此命令必须在工作空间文件夹下运行。

使用ROS节点

rosnode list: 查看当前运行的节点。

rosnode info /节点名字:查看节点信息。

rosrun [功能包名字] [节点名字]:启动新节点。

使用主题

rostopic list:查看主题清单。

rostopic echo [topic_name]:查看主题信息(即消息内容)。

rostopic type [topic_name]:查看消息类型。

rosmsg show [type_name]:查看消息字段。

rostopic pub [topic_name] [type_name] [args]:向某一topic直接发布消息。

使用服务

rosservice call /service :调用某个服务。

rosservice type /service 输出服务类型。

rossrv show [type_name]:查看消息参数。

rosservice type /service | rossrv show:查看某类型消息参数,等于前两条命令。

使用参数服务器

rosparam list:查看所有节点使用的参数服务器。

rosparam get /param:获得某个参数的值。

rosparam set /param:设置某个参数的值。

rosparam dump [file_name]:保存参数服务器的内容。

rosparam load [file_name] [namespace] 想参数服务器加载新的数据文件。

创建节点

编码相关节点代码。

编译节点

rosed [pkg_name] CMakeLists.txt :编辑CMakeLists。

catkin_make [pkg_name]:编译。

创建msg和srv文件

用于说明传输数据的类型和数据值的文件。

创建msg文件

1.创建msg文件。

2. 编辑package.xml,添加build depend 项,run depend项。

3. 编辑CMakeLists.txt,添加find_package部分,msg file以及msg生成所需的依赖项等。

4. catkin_make:编译。

创建srv文件

1. 创建srv文件。

2. rosed [pkg_name] package.xml:编辑package.xml,添加build depend 项,run depend项。

3. 编辑CMakeLists.txt,添加find_package部分,srv file以及srv生成所需的依赖项等。

4. catkin_make:编译。

使用新建的srv和msg文件

使用srv文件

需要两个节点:一个服务器、一个客户端。服务器包含srv文件及相关头文件,创建服务并在ROS中发布广播。

在客户端调用服务。

使用msg文件

启动文件

<?xml version="1.0"?>

<launch>

<node name = "name1" pkg = "pkg_name" type = "type_name1"/>

<node name = "name2" pkg = "pkg_name" type = "type_name2"/>

</launch>

roslaunch [pkg_name] [launch_file.launch]

rqt_console:查看信息。

ps:用命令行只运行一个节点可以看到ROS_INFO打印的消息,使用启动文件时,看不到 要用rqt_console.

动态参数

1. 创建cfg/cfg_name.cfg文件

ps: exit(gen.generate(PACKAGE, "Node name", "config_prefix"))---

第一个参数:包的名字;

第二个参数:节点名字;

第三个参数:生成的文件名字的前缀,比如<config_prefix>Config.h(C++)或者<config_prefix>Config.py(python)。

2. chmod a+x cfg/file_name.cfg:使文件可由任何用户执行和运行。

3. 编辑CMakeLists.txt。

4. 编写支持动态重配置的新节点。参数访问方式必须与配置文件相同。

ps:f = boost::bind(&callback, _1, _2)------其中_1和_2 是占位参数

5. 编译并运行节点和动态重配置界面(Dynamic Reconfigure GUI):

ps: rosrun rqt_reconfigure rqt_reconfigure.

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值