ROS通信工程+Opencv

目录

一、ROS通信工程

1.话题编程

2.服务编程

3.动作编程

二、Opencv

1.编写一个打开图片进行特效显示的代码

2.编写打开视频的程序

3.编写打开摄像头录制的程序

参考链接


一、ROS通信工程

1.话题编程

1.1创建工作空间

catkin_init_workspace

 

1.2工程编译

catkin_make

 

使install空间出现

catkin_make install

 

1.3 创建功能包

catkin_create_pkg test_pkg roscpp rospy std_mags

 

1.4 设置环境变量

source devel/setup.bash
echo $ROS_PACKAGE_PATH

 

1.5 代码撰写

publisher.cpp

#include <sstream>
#include "ros/ros.h"
#include "std_msgs/String.h"

int main(int argc, char **argv){
    //ROS节点初始化
    ros::init(argc, argv, "talker");
    //创建节点句柄
    ros::NodeHandle n;
    //创建publisher
    ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
    //设置循环的频率
    ros::Rate loop_rate(10);

    int count = 0;
    while(ros::ok()){
        std_msgs::String msg;
        std::stringstream ss;
        ss << "hello world "<< count;
        msg.data = ss.str();

        ROS_INFO("%s", msg.data.c_str());
        chatter_pub.publish(msg);

        //循环等待回调函数
        ros::spinOnce();

        loop_rate.sleep();
        ++count;
    }

    return 0;
}

 server.cpp

#include "ros/ros.h"
#include "std_msgs/String.h"

//接受到订阅的消息后,会进入消息回调函数
void chatterCallback(const std_msgs::String::ConstPtr& msg){
    //将接受到的消息打印出来
    ROS_INFO("I heard: [%s]", msg->data.c_str());
}

int main(int argc, char **argv){
    ros::init(argc, argv, "listener");
    ros::NodeHandle n;
    ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);
    ros::spin();
    return 0;
}

1.6 运行结果

2.服务编程

2.1定义srv文件

mkdir ~/second_topic_ws/src/test_pkg/srv
sudo nano AddTwoInts.srv

AddTwoInts.srv

int64 a
int64 b
---
int64 sum

2.2 修改package.xml和CMakeLists.txt

package.xml

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

 在CMakeLists.txt添加编译选项

使用find_package()查找包catkin的所有依赖项。

添加运行时的依赖message_runtime

Qt Creator是一款用于开发Qt应用程序的集成开发环境(IDE)。Qt Creator除了可以开发Qt应用程序外,还支持其他类型的项目,其中包括ROS(机器人操作系统)项目。 要打开ROS工程,首先需要确保已经正确安装了Qt Creator和ROS。安装完成后,打开Qt Creator,点击菜单栏中的“文件”,然后选择“打开文件或项目”。在弹出的文件对话框中,找到ROS工程文件所在的文件夹,并选择工程文件(通常为CMakeLists.txt),然后点击“打开”。 Qt Creator会加载ROS工程,并在左侧项目栏中显示工程文件结构。在ROS工程中,常见的文件包括CMakeLists.txt、package.xml以及源代码文件等。 在项目栏中,可以展开各个文件夹查看工程的不同部分。通过双击源代码文件,可以在编辑器中打开源代码文件,并进行修改和编写。另外,还可以在Qt Creator的编译和运行菜单中选择不同的构建配置、目标和启动选项。 在Qt Creator中,可以使用ROS的工具和命令行进行ROS工程的构建、编译和运行。在菜单栏的“工具”中,可以找到ROS的相关工具,比如使用ROS Launcher启动ROS节点,使用ROS Console查看ROS输出,使用ROS Topic Monitor查看ROS主题,使用ROS Service Caller进行服务调用等。 总结来说,要使用Qt Creator打开ROS工程,只需将ROS工程文件夹导入Qt Creator,并在Qt Creator中使用ROS的工具进行工程的构建和调试。使用Qt Creator进行ROS工程开发,可以方便地进行代码编辑、编译和调试,提高工程开发效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值