栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ROS工作空间以及Hello World测试

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ROS工作空间以及Hello World测试

1.ROS工作空间创建

创建一个工作空间,在该工作空间中完成代码和任务代码的编写。
(1)创建工作空间并初始化
首先会创建一个工作空间以及一个src子目录,然后再进入工作空间执行catkin_make命令进行编译。

mkdir -p  learn/src  //其中learn就是工作空间名称
cd  leran
catkin_make

注意这里是进入learn目录即可,不要进入learn/src目录,会报错。

(2)进入src创建ros包添加依赖

cd src
//catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs
catkin_create_pkg learn roscpp rospy std_msgs //我这里的ros包名为learn

执行完命令后确实在src下新增加了一个learn的目录,这就是ros包吧!
该功能包依赖于roscpp rospy std_msgs 三个库,其中分别是C++实现库、python实现库和标准消息库,创建ROS功能包时,基本上一般都会依赖这几个库。

2.Hello World测试(Python)

ROS既可以使用Python来实现,也可以使用C++来实现业务逻辑代码的编写。
以Python为例。
(1)进入Ros包添加scripts目录并创建python文件

cd learn //learn 为包名
mkdir scripts
touch test.py
vim test.py

test.py文件如下

#! /usr/bin/env python
import rospy
if __name__ == "__main__":
    rospy.init_node("Hello")
    rospy.loginfo("Hello World!!!!")

(2)为py文件添加可执行的权限

chmod +x test.py

(3)编辑ros包的CamkeList.txt文件
其中scripts/test.py 中的test.py要和自己创建的py文件要一致。

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


(4)进入工作空间目录并编译

cd 工作空间
catkin_make


(5)运行程序

先启动命令行1,在工作空间目录下,执行roscore命令。

再启动命令行2,

 source ./devel/setup.bash 
rosrun learn test.py

3.Hello World测试(C++)

(1)进入ROS包的src目录下新建源文件

touch test.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)编辑ROS包下的CMakeLists.txt文件

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

CMakeLists.txt文件中原本是注释的内容,先把注释打开再修改~

(3)工作空间目录下编译

cd 自定义空间名称
catkin_make

(4)执行代码

在工作空间目录下启动命令行1
执行roscore

在工作空间目录下启动命令行2

cd 工作空间
source ./devel/setup.bash
rosrun  包名 C++节点(C++源文件)


直接写入当前用户的环境变量文件中使用更方便, echo “source ~/工作空间/devel/setup.bash” >> ~/.bashrc

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980383.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号