皮皮网

【群源码】【放置江湖unity源码】【影视vip共享源码】rosrun源码

来源:linux 源码书籍 时间:2024-11-23 03:45:02

1.ROS学习笔记7:launch启动文件的源码使用方法
2.ROS入门教程-理论与实践(4.6.1 rosrun设置参数)
3.Ubuntu20.04安装ros教程及错误纠正(实测有效)
4.Autoware.universe 源码解读(一)
5.GDB ROS调试
6.LIO-SAM学习(一)——launch文件和数据传入

rosrun源码

ROS学习笔记7:launch启动文件的使用方法

       launch文件能够启动机器人所有功能,无需频繁打开新终端运行rosrun程序。源码

       launch文件可自动启动rosmaster,源码无需手动输入roscore命令。源码

       launch文件内容包含pkg、源码type、源码群源码name等参数,源码其中pkg指定功能包名称,源码type指定可执行文件名,源码name为节点运行后的源码名称,以避免节点重复。源码

       arg为局部变量,源码仅用于launch文件或作为node输入,源码remap用于重命名参数。源码

       创建功能包时,源码放置江湖unity源码无需依赖文件,launch文件本身用于链接各个文件。

       在功能包下创建名为launch的文件夹,存放所有launch文件。

       创建simple.launch文件,将文本改为XML格式,编译运行后可同时启动两个节点。

       创建参数的launch文件turtlesim_parameter_config.launch,在learning_launch下新建config文件夹,添加param.yaml文件,运行后可对比代码。

       创建海龟跟踪案例的launch文件start_tf_demo_c++.launch,运行后结果与手动rosrun一致。

       创建turtlesim_remap.launch文件,影视vip共享源码运行后可查看映射替换结果,发布速度指令。

       备注:代码摘自古月居。

ROS入门教程-理论与实践(4.6.1 rosrun设置参数)

       在启动节点时,rosrun允许我们设置参数。其语法为:rosrun 包名 节点名称 _参数名:=参数值。

       例如,我们想要启动乌龟显示节点并设置参数A为,操作如下:

       rosrun 包名 节点名称 _参数名:=参数值

       执行后,使用rosparam list命令查看节点信息,显示结果表明参数A被正确设置,前缀为节点名称,这说明rosrun设置参数使用的是私有模式。

Ubuntu.安装ros教程及错误纠正(实测有效)

       本文提供Ubuntu .上安装ROS的云通信登录源码详细步骤,并针对可能遇到的错误提供纠正措施。遵循以下指南即可完成ROS的安装,实现小乌龟在模拟环境中的移动。

       1. 安装流程

       首先,需要添加ROS的下载源,使用以下命令:

        sudo sh -c 'echo "deb packages.ros.org/ros/ub... $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

       接着,设置密钥确保安全验证:

        sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:' --recv-key C1CF6EE6BADEBB4FED6FBABC

       更新源以获取最新信息:

        sudo apt-get update

       最后,安装ROS桌面版:

        sudo apt install ros-noetic-desktop-full

       安装完成后,配置环境以使用ROS:

        echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

       安装依赖包:

        sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

       2. 错误纠正

       初始化ROS时,可能遇到“cannot download default sources list from”错误。解决方法如下:

       下载ROSdep,安装并解压:

        sudo unzip rosdep.zip -d /opt/rosdep

       修改三个关键文件以指向本地ROSdep存储:

        编辑_init_.py文件(使用文本编辑器,如gedit):

        DEFAULT_INDEX_URL = 'file:///opt/rosdep/rosdistro/master/index-v4.yaml'

        编辑rep3.py文件:

        REP3_TARGETS_URL = 'file:///opt/rosdep/rosdistro/master/releases/targets.yaml'

        编辑sources_list.py文件:

        DEFAULT_SOURCES_LIST_URL = 'file:///opt/rosdep/rosdistro/master/rosdep/sources.list.d/-default.list'

       完成上述步骤后,再次初始化ROS:

        sudo rosdep init

       最后,奇妙数字软件源码运行rosdep update更新所有依赖关系。

       至此,安装流程完成,接下来可以进行测试。

       4. 测试

       启动ROS核心服务:

        roscore

       启动模拟环境中的小乌龟节点:

        rosrun turtlesim turtlesim_node

       接着,控制小乌龟移动:

        rosrun turtlesim turtle_teleop_key

       至此,整个ROS安装及测试教程完成,成功实现在Ubuntu .上安装ROS并控制模拟小乌龟。如果你觉得本文对你的学习有帮助,不妨给予点赞,鼓励作者继续分享更多知识。

Autoware.universe 源码解读(一)

       在Autoware的自动驾驶仿真软件中,launch文件起着至关重要的作用。autoware.launch.xml是其中一个基础的launch文件,它使用XML语言编写,以定义启动ROS节点、参数和设置默认值。这个文件的核心结构包括version="1.0"(XML 1.0版本)和encoding="UTF-8"(UTF-8编码)。

       文件的前半部分侧重于参数定义和设置,包括地图路径、车辆模型、传感器模型和点云容器,这些都可以通过传递参数进行灵活调整。例如,vehicle_id和launch_vehicle_interface是两个全局参数,vehicle_id默认值为环境变量VEHICLE_ID的值,而launch_vehicle_interface默认为true,表示是否启动车辆接口。

       参数check_external_emergency_heartbeat控制外部紧急停车功能,当不需要时需将其设为false。system_run_mode和launch_system_monitor等参数分别定义了系统的运行模式和是否启动系统监视器。此外,rviz可视化工具的启用、rviz配置文件路径,以及感知模式的选择等也被详细定义。

       launch文件中还包括一个include标签,引入了global_params.launch.py,该文件通过arg标签传递参数,以进行更精细的配置。例如,如果launch_vehicle设置为true,它将启动vehicle.launch.xml,并传递参数。

       总的来说,autoware.launch.xml通过巧妙地定义和传递参数,灵活地控制和配置Autoware的各个子系统,以实现自动驾驶的模拟和测试。

GDB ROS调试

       ROS中用到第三方库,在编译第三方库的时候,加上 -g 选项,以供调用该库时调试。

       åœ¨ç¼–译ROS包的时候,使用如下命令编译:

        catkin_make -DCMAKE_BUILD_TYPE=Debug  

       GDB启动应用

        rosrun --prefix 'gdb -ex run --args'  package   node  

       ä¹‹åŽå°±å¯ä»¥æ­£å¸¸ä½¿ç”¨GDB命令来调试了,因为第三方库编译加了 -g 选项,所以可以进入调用库中的函数进行调试。

LIO-SAM学习(一)——launch文件和数据传入

       以上是LIO-SAM/launch的文件结构,其中run.launch是总的launch文件,包含了include下的5个launch文件,启动一个run.launch即能够启动包含的所有launch文件里的节点。

       launch文件使用的是xml语言,用来一次同时启动多个节点,不必rosrun每一个node。以[公式] 为例

       1./catkin_ws/src/LIO-SAM/launch/include/module_loam.launch

       2./catkin_ws/src/LIO-SAM/launch/include/module_rivz.launch

       3./catkin_ws/src/LIO-SAM/launch/run.launch

       下面是park.bag的详细信息,包含了一些topics以及对应的数据类型

       SLAM通过订阅话题来获取数据,其中话题名称和来源如下

       1.话题名称赋值:params --> utility.h --> imageProjection.cpp class ImageProjection

       在imageProjection的class ImageProjection中,初始化部分订阅了几个话题imuTopic、odomTopic、pointCloudTopic

       这几个话题来自utility.h,作用是读取参数,提供一些工具方法。

       在utility.h中进行参数的赋值,例如下面把lio_sam/pointCloudTopic赋值pointCloudTopic

       而lio_sam/pointCloudTopic是一个string,来自params.yaml,参数文件

       因此,在imageProjection的class ImageProjection中,imuTopic、odomTopic、pointCloudTopic 分别对应params.yaml中的 imu_raw、odometry/imu、points_raw,即cpp函数中订阅的话题名称由参数文件params.yaml和工具文件utility.h共同决定。

       2.部分话题消息格式内容展示

       imuTopic对应话题/imu_raw,由park.bag的信息显示,它是sensor_msgs/Imu格式的消息

       输出连续的三个IMU数据如下

       参考:

       ROS入门之--浅谈launch_沐棋的博客-CSDN博客_roslaunch

       ROS launch 启动文件的使用方法

       由浅到深理解ROS(5)- launch启动文件的理解与编写