ros2 topic pub 无法补全的问题

一、ros2cli 相关命令无法补全的问题

可以安装以下软件包解决

sudo apt-get install python3-argcomplete rosbash

二、ros2 topic pub /topic message_type “message…” 无法补全

这个问题是通过不断的敲击 Tab 键,可以补全 topic 名字以及消息类型部分,但是 message 部分始终不能补全,
可以使用以下方式解决:

  1. 先使用 Tab 键补全能够补全的部分,再继续按 Tab 键:显示以下提示
root@station:~# ros2 topic pub /talker sensor_msgs/msg/LaserScan
--keep-alive
--node-name
--once
--print
--qos-depth
--qos-durability
--qos-history
--qos-profile
--qos-reliability
--rate
--times
-1
-n
-p
-r
-t
header:\^J\ \ stamp:\^J\ \ \ \ sec:\ 0\^J\ \ \ \ nanosec:\ 0\^J\ \ frame_id:\ \'\'\^Jangle_min:\ 0.0\^Jangle_max:\ 0.0\^Jangle_increment:\ 0.0\^Jtime_increment:\ 0.0\^Jscan_time:\ 0.0\^Jrange_min:\ 0.0\^Jrange_max:\ 0.0\^Jranges:\ []\^Jintensities:\ []\
  1. 可以看到最后一行有提示 sensor_msgs/msg/LaserScan 的 message 字段是以 header 开头的部分,此时终端继续输入 "header 然后继续按 Tab
root@station:~# ros2 topic pub /talker sensor_msgs/msg/LaserScan "header  # 此时按 `Tab` 键盘
  1. 可以看到以下数据,message 字段部分补全了:
root@station:~# ros2 topic pub /talker sensor_msgs/msg/LaserScan "header:
  stamp:
    sec: 0
    nanosec: 0
  frame_id: ''
angle_min: 0.0
angle_max: 0.0
angle_increment: 0.0
time_increment: 0.0
scan_time: 0.0
range_min: 0.0
range_max: 0.0
ranges: []
intensities: []"

注意: 还有一种情况,message_type 无法识别,检查以下有没有 source 相应的 env 环境变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰·点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值