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