本站提倡有节制游戏,合理安排游戏时间,注意劳逸结合。

【香橙互赞源码】【libdmtx 源码编译】【cid溯源码】小龟影视2.0源码_小龟影视双端

2024-11-25 00:05:12 来源:探索 分类:探索

1.tf2系列教程(十四):在ROS 2中添加固定坐标系(C++)
2.影视会员软件上的线路
3.管理代码的工具
4.谁能告诉我,小龟小龟源代码加密,影视源码影视用什么可以?
5.tf2系列教程(十三):在ROS 2中编写tf2侦听者节点(C++)

小龟影视2.0源码_小龟影视双端

tf2系列教程(十四):在ROS 2中添加固定坐标系(C++)

       在ROS 2中,双端教程十四将指导您如何通过C++编程为系统添加一个固定坐标系。小龟小龟这个教程特别适合初学者,影视源码影视旨在扩展您之前小乌龟示例的双端香橙互赞源码知识,展示tf2的小龟小龟强大功能。

       .1 添加固定坐标系的影视源码影视理由在于,对于许多任务,双端基于传感器或链接的小龟小龟本地坐标系思考更为方便。tf2允许用户为这些对象定义独立的影视源码影视坐标系,并处理坐标变换。双端

       .2 在ROS 2的小龟小龟坐标变换树中,坐标系之间遵循树状结构,影视源码影视不允许形成闭环。双端在现有示例中,world、turtle1和turtle2构成坐标系层级。libdmtx 源码编译为了添加新坐标系,您需要选择一个现有坐标系作为父级,例如,将要在小乌龟turtle1中添加的“胡萝卜”坐标系carrot1。

       .3 通过在小乌龟turtle1的C++源代码中实现,首先创建一个名为fixed_frame_tf2_broadcaster.cpp的文件。代码中包含了必要的头文件,如geometry_msgs的TransformStamped,rclcpp库的rclcpp.hpp,以及tf2_ros中的TransformBroadcaster。固定坐标系广播器类FixedFrameBroadcaster定义了构造函数、计时器以及回调函数,用于定期发送坐标变换信息,其中carrot1坐标系仅在y轴上相对于turtle1偏移2米。

       .4 要运行坐标系广播器节点,您需要在learning_tf2_fixed_frame_demo.launch.py启动文件中增加新的节点,启动后,cid溯源码通过turtle_teleop_key节点控制小乌龟,观察第二只小乌龟是否跟随carrot1坐标系的移动,同时使用tf2_echo检查坐标变换的正确性。

       通过这个教程,您将学会如何在ROS 2的环境中添加固定坐标系,并利用tf2的机制实现坐标系之间的变换跟踪。

影视会员软件上的线路

       ä»¥ä¸‹çº¿è·¯ï¼š

       1、当贝影视:当贝影视是一款免费的影视软件,提供了热播国产电视剧和一些线上定档的电影资源。

       2、小柚子视频:小柚子视频是一款观影软件,采用了热门的“小龟影视”源码制作,提供了蓝光无广告的片源。

       3、银河视频:银河视频是一款追剧软件,可以解析全网会员影视资源,拥有海量高清的影视资源供用户观看。

管理代码的工具

       Rational ClearCase:

        Rational 公司是全球最大的软件CASE 工具提供商,现已被IBM收购。也许是受到其拳头产品、可视化建模第一工具Rose 的影响,它开发的配置管理工具ClearCase 也是深受用户的喜爱,是现在应用面最广的企业级、跨平台的配置管理工具之一。

        ClearCase提供了比较全面的配置管理支持,其中包括版本控制、工作空间管理、Build管理等,而且开发人员无需针对其改变现有的环境、工具和工作方式。

        其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。

        1) 版本控制

        ClearCase不仅可以对文件、目录、链接进行版本控制,同时还提供了先进的版本分支和归本功能用于支持并行开发。另外,它还支持广泛的文件类型。

        2)工作空间管理

        可以为开发人员提供私人存储区,同时可以实现成员之间的信息共享,从而为每一位开发人员提供一致、灵活、可重用的工作空间域。

        3) Build管理

        对ClearCase 控制的数据,既可以使用定制脚本,也可使用本机提供的make 程序。

        其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。

       Hansky Firefly:

        做为Hansky公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。

        Firefly基于真正的客户机/服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN 环境中。它的安装配置过程简单易用,Firefly 可以自动、安全地保存代码的每一次变化内容,避免代码被无意中覆盖、修改。项目管理人员使用Firefly可以有效地组织开发力量进行并行开发和管理项目中各阶段点的各种资源,使得产品发布易于管理;并可以快速地回溯到任一历史版本。系统管理员使用Firefly的内置工具可以方便的进行存储库的备份和恢复,而不依赖于任何第三方工具。

       WinCVS:

        CVS 是Concurrent Versions System 的缩写,它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。

        其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。

       Merant PVCS:

        MERANT 公司的PVCS 能够提供对软件配置管理的基本支持,通过使用其图形界面或类似SCCS 的命令,能够基本满足小型项目开发的配置管理需求。PVCS 虽然功能上也基本能够满足需求,但是其性能表现一直较差,逐渐地被市场所冷落。

       Microsoft Visual Source Safe:

        Visual Source Safe,即VSS,是微软公司为Visual Studio配套开发的一个小型的配置管理工具,准确来说,它仅能够称得上是一个小型的版本控制软件。VSS的优点在于其与Visual Studio实现了无缝集成,使用简单。提供了历史版本记录、修改控制、文件比较、日志等基本功能。

        但其缺点也是十分明显的,只支持Windows平台,不支持并行开发,通过Check out - Modify - Check in的管理方式,一个时间只允许一个人修改代码,而且速度慢、伸缩性差,不支持异地开发。甚至于微软本身也不采用其做为配置管理工具,而是使用一个名为SLM 的内部工具。

谁能告诉我,源代码加密,用什么可以?

       1、源代码加密软件推荐使用天锐绿盾加密软件,是一套从源头上保障数据安全和使用安全的软件系统。采用的是文件透明加密模块,对平常办公使用是没有影响的。而且绿盾支持与SVN等源代码管理工具无缝结合。

       2、如果企业内部SVN服务器采取透明模式,即加密文件是gcc源码阅读可以存放在SVN服务器上的,需要达到的效果是SVN服务器上文件密文存储。则配合天锐绿盾应用服务器安全接入系统来实现只有安装了加密客户端的Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。

       3、如果企业内部采用eclipse、VS等开发工具,从这些开发工具将代码直接上传到SVN服务器上时会自动解密。为了避免明文、密文混乱存放导致版本比对时出现错误等问题。因此,SVN服务器上需统一存放明文文件。则通过服务器白名单功能实现对终端电脑数据进行强制透明加密,对上传到应用服务器数据实现上传自动解密、下载自动加密。

       4、再配合天锐绿盾应用服务器安全接入系统实现只有安装了加密客户端的微盒源码Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。

tf2系列教程(十三):在ROS 2中编写tf2侦听者节点(C++)

       . 编写tf2侦听者节点(C++)

       描述:本教程将介绍如何使用C++编写一个能够通过tf2获取坐标系变换消息的tf2侦听者节点。

       教程级别:入门

       在前一个教程中,我们创建了tf2广播者节点来发布小乌龟的位姿到tf2。本教程将创建tf2侦听者节点以开始使用tf2坐标变换消息。

       .1 如何创建tf2侦听者节点

       使用前两个教程中创建的learning_tf2_cpp软件包,首先进入存放C++源代码的~/dev_ws/src/learning_tf2_cpp/src子目录,运行以下命令创建tf2侦听者节点的源代码文件turtle_tf2_listener.cpp:

       在文本编辑器中,将以下代码复制到该文件中,并保存:

       .1.1 代码说明

       首先导入需要用到的库/模块:

       tf2发布的坐标变换信息带有时间戳,因此需要包含geometry_msgs的TransformStamped消息类型头文件transform_stamped.hpp。本节点需要计算turtle1和turtle2两个坐标系的坐标差值,因此需要使用Twist消息类型,包含geometry_msgs的Twist消息头文件twist.hpp。ROS 2中,ament_cmake软件包都依赖C++客户端库rclcpp,因此需要包含该库的头文件。本节点需要侦听turtle1的坐标消息,因此需要导入tf2_ros软件包中的TransformListener类和Buffer类,包含这两个类的头文件。此外,还需要处理坐标变换异常的Exception类,包含其头文件。由于本节点需要生成新的小乌龟turtle2,需要调用turtlesim软件包的Spawn服务,导入spawn.hpp模块。上述库/模块/类的导入也代表了该节点的依赖关系,需要将这些依赖包添加到package.xml和CMakeLists.txt文件中。

       接着创建了用于侦听turtle1位姿消息的FrameListener节点类,该类继承自rclcpp客户端库的Node类。在FrameListener类中定义了两个函数:一个是公共构造函数,指定节点名称turtle_tf2_frame_listener;申明和获取target_frame参数;创建TransformListener类对象transform_listener_;创建用于生成新小乌龟服务的客户端,并检查服务是否可用;创建turtle2的速度指令发布者对象变量publisher_;以1hz的频率调用on_timer()回调函数。

       回调函数on_timer()负责执行turtle1和turtle2两个坐标系之间的坐标变换,并据此向turtle2发布速度指令以对turtle1进行跟随。在该函数中,获取要进行坐标变换的两个坐标系,调用lookupTransform()方法查找坐标变换,根据坐标变换结果计算turtle2的线速度和角速度,然后向turtle2发布速度指令消息。此回调函数的调用频率为1hz,意味着每秒进行一次坐标变换和计算、发布turtle2的速度指令。

       最后是定义main()函数。初始化rclcpp客户端库,实例化FrameListener节点对象,旋转节点以调用回调函数,关闭rclcpp客户端库。

       .2 构建软件包并运行tf2侦听者节点

       编写好C++代码后,在构建和编译该软件包之前,需要编辑learning_tf2_cpp软件包的package.xml和CMakeLists.txt文件,填写软件包描述、许可证、作者等信息,添加相应依赖包和可执行文件等。具体步骤请参考相关教程。

       如果已完成前面的教程“在ROS 2中编写tf2静态广播者节点(C++)”,则package.xml文件不用修改;在CMakeLists.txt文件中,添加本教程的可执行文件,并在install(target下面添加一行。

       由于需要同时运行turtlesim软件包的turtlesim_node、learning_tf2_cpp软件包的turtle_tf2_broadcaster和turtle_tf2_listener等多个节点,需要通过启动文件组合运行这些节点。在上一教程中创建的launch子目录下为本教程创建learning_tf2_demo.launch.py启动文件,具体命令如下。

       将以下代码复制到启动文件中,并保存:

       完成上述工作后,构建编译软件包。进入工作空间dev_ws的根目录,并运行以下命令:

       编译成功后,需要对该工作空间的安装脚本进行source,命令为:

       现在可以运行刚才创建的learning_tf2_demo.launch.py启动文件了,具体命令为:

       这样就会打开一个名为Turtlesim的窗口,里面有两只小乌龟。小乌龟turtle2会沿着一条弧形路径靠近小乌龟turtle1。

       .3 检查运行结果

       要查看本节点是否成功运行或有效,只需要在新终端中运行turtlesim软件包的turtle_teleop_key可执行文件,通过键盘上F键周围的8个字母键和箭头键控制小乌龟的旋转和移动,命令为:

       确保运行turtle_teleop_key节点的终端窗口处于活动状态,并通过相应字母键和箭头键移动第一只小乌龟turtle1,这样就会看到第二只小乌龟turtle2会跟随turtle1。

       现在可以使用tf2_ros软件包的tf2_echo可执行文件来检查两只小乌龟的位姿是否正在真实地被广播到tf2,命令分别为:

       应该会显示第一只乌龟的位姿,如下所示:

       此时继续移动turtle1,小乌龟turtle2正在跟随,turtle2的位姿信息也会一直发生变化。

       还可以对turtle1和turtle2两个坐标系的坐标变换进行回显,请运行以下命令:

       在驱使turtle1移动而turtle2在进行跟随的过程中,会获得如下所示的输出:

       这说明已经成功地将两只小乌龟的位姿都广播到了tf2,并实现了对turtle1坐标系的侦听,使用了两只小乌龟坐标系变换信息以让turtle2对turtle1进行跟随。

相关推荐
一周热点