之前学过ROS,知道些操作,现在工作中再次用到,遂尝试总结日常中用到的知识点。
文章目录
0 ROS简介
1 ROS使用基础
2 ROS使用总结
2.1 常用命令
序号 | 命令 | 说明 |
---|---|---|
1 | rosclean check | 检查log文档的使用情况 |
2 | rosclean purge | 移除对应的log文档 |
3 | roscore;rosparam get/rosdistro;;rosversion -d | 查看ROS的版本 |
3 ROS工具总结
3.1 PlotJuggler
3.1.0 PlotJuggler简介
在基于ROS系统进行开发的工程中,我们常常需要根据订阅的rostopic来进行逻辑判断进而执行操作,当遇到问题需要调试的时候,经常需要对接收的topic进行数据分析。通常的做法是对操作过程进行录包(也就是录操作过程中的rosbag包),然后调试的时候进行回放,并通过rostopic echo命令查看数据变化,但是这样操作不够直观。经常遇到这种情况时,我们开发人员都会想如果有一个可视化的工具,能够对随着时间进行变换的topic的值进行显示分析该多好啊。
PlotJuggler就很好的满足了这个需求。
PlotJuggler提供可视化界面来显示topic数据的实时变化,方便我们将时间和数据对应起来分析问题。它能够接收ROS系统中所有的topic,并给用户提供方法,根据用户需要来选择性的显示某些topic的数据变化。也可以对topic进行重新发布。
PlotJuggler示意数据和简单绘图还行,复杂绘图就不行了。
PlotJuggler使用教程
3.1.0 PlotJuggler实践
3.1.0.1 PlotJuggler安装实践要点
安装建议看官网连接(如上Github)
Install the ROS packages with:
sudo apt install ros-$ROS_DISTRO-plotjuggler-ros
To launch PlotJuggler on ROS, use the command:
rosrun plotjuggler plotjuggler
or, if are using ROS2:
ros2 run plotjuggler plotjuggler
3.1.0.1.1 ROS_DISTRO是ROS安装版本号
查看ros版本信息:echo $ROS_DISTRO
如$ROS_DISTRO = foxy,可以把$ROS_DISTRO就当成foxy字符串来用。
我们在安装ros程序的时候,很多时候是需要版本信息的,比如我的ros版本是foxy,程序安装命令如下:
sudo apt install ros-foxy-cartographer //安装建图程序
sudo apt install ros-$ROS_DISTRO-cartographer //用$ROS_DISTRO代替foxy安装建图程序
sudo apt install ros-foxy-nav2-* //安装导航程序
sudo apt install ros-$ROS_DISTRO-nav2-* //用$ROS_DISTRO代替foxy安装导航程序
sudo apt-get install ros-noetic-usb-cam //noetic安装摄像头驱动
sudo apt-get install ros-$ROS_DISTRO-usb-cam //用$ROS_DISTRO代替noetic安装摄像头驱动
这样在安装ros程序的时候就可以不关心ros版本,让系统自动选择本机的ros版本来安装程序。
3.1.0.1.2 SECURITY: URL redirect target contains control characters, rejecting. [IP: 101.6.8.193 80]
报错后,尝试了更换软件源,都不可以,后更换网络,改用手机连接,发现可以更新。
初步分析,应该是公司的深信服上网管理软件进行了限制,类似运营商的缓存劫持。
源修改: 此法暂未尝试
将上述http地址变为https开头的地址。http不安全,容易遭到劫持,所以需要加密传输,使用https
使用手机热点网络即可