【ROS】02 ROS版HelloWorld

1. HelloWorld实现简介

  1. 创建一个工作空间workspace(1.1)
  2. 创建一个功能包(1.2)
  3. 编辑源文件
  4. 编辑配置文件
  5. 编译并执行

1.1 创建工作空间

  • 用户文件夹下打开终端Ctrl+Alt+T
  • 创建工作空间
    • mkdir -p 自定义工作空间名称/src
    • cd 自定义工作空间名称
    • catkin_make
      由此会创建一个工作空间及一个src子目录,然后进图工作空间调用catkin_make命令编译。

1.2 src目录下创建ros包并添加依赖

  • cd src
  • catkin_create_pkg 自定义ROS功能包名 roscpp rospy std_msgs
    由此会在工作空间下生成一个功能包,其依赖于roscpp、rospy和std_msgs,其中roscpps是c++实现的库,rospy是python实现的库,std_msgs是标准消息库。

1.3 例子

  1. 创建工作空间
    • mkdir -p demo01_ws/src
    • cd demo01_ws
    • catkin_make
  2. 创建功能包
    • cd src
    • catkin_create_pkg helloworld roscpp rospy std_msgs

2. HelloWorld实现(C++)

2.1 编辑源文件

在自定义ROS功能包helloworld下的src子目录里创建文本文件,重命名为helloworld_c.cpp,源码如下

#include "ros/ros.h"

int main(int argc, char *argv[])
{
    //执行 ros 节点初始化
    ros::init(argc,argv,"hello");
    //创建 ros 节点句柄(非必须)
    ros::NodeHandle n;
    //控制台输出 hello world
    ROS_INFO("hello world!");

    return 0;
}

2.2 编辑配置文件

编辑自定义ROS功能包helloworld下的Cmakelist.txt文件

add_executable(C++的源文件名
  src/C++的源文件名.cpp
)
target_link_libraries(C++的源文件名
  ${catkin_LIBRARIES}
)

例:

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

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

2.3 编译并执行

  1. 进入工作空间目录进行编译
cd 工作空间
catkin_make

例:

cd demo01_ws
catkin_make

此过程会生成build devel···
2. 执行

  • 终端1:roscore
  • 终端2:
    • cd 工作空间
    • source ./devel/setup.bash
    • rosrun 功能包名 C++节点
      例:
# 终端1
roscore

# 终端2
cd demo01_ws
source ./devel/setup.bash
rosrun helloworld helloworld_c

3. HelloWorld实现(Python)

3.1 编辑源文件

  1. 在自定义ROS功能包helloworld下创建scripts子目录
cd ROS功能包
mkdir scripts

例:

cd helloworld
mkdir scripts
  1. 在scripts子目录里创建文本文件,重命名为helloworld_p.py,源码如下
#! /usr/bin/env python3

"""
    Python 版 HelloWorld
"""
import rospy

if __name__ == "__main__":
    rospy.init_node("Hello")
    rospy.loginfo("Hello World!!!!")
  1. 为Python文件添加可执行权限
cd scripts
chmod +x python的源文件名.py

例:

cd scripts
chmod +x helloworld_p.py

3.2 编辑配置文件

编辑自定义ROS功能包helloworld下的Cmakelist.txt文件

catkin_install_python(PROGRAMS 
	scripts/python的源文件名.py
	DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

例:

catkin_install_python(PROGRAMS 
	scripts/helloworld_p.py
	DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

3.3 编译并执行

  1. 进入工作空间目录进行编译
cd 工作空间
catkin_make

例:

cd demo01_ws
catkin_make
  1. 执行
  • 终端1:roscore
  • 终端2:
    • cd 工作空间
    • source ./devel/setup.bash
    • rosrun 功能包名 python的源文件名.py
      例:
# 终端1
roscore

# 终端2
cd demo01_ws
source ./devel/setup.bash
rosrun helloworld helloworld_p.py
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值