草庐IT

ROS-Melodic

全部标签

ROS2时间同步(python)

最近1周一直研究ROS2的时间同步,翻越很多博客,很少有人使用ROS2进行时间同步的代码,无奈不断尝试与源码阅读,终于将其搞定,为此,本博客将介绍基于python的ROS2的时间同步方法。本博客内容结构为话题发布代码,话题订阅与时间同步代码,代码文件夹结构及结果显示图片。本博客假设2个publisher和一个scribe,同步是在scibe中完成。一.话题发布代码发布1为第二个发布者,可理解为某传感器publisher1代码如下:#!/usr/bin/envpython3importrclpyfromrclpy.nodeimportNodefromstd_msgs.msgimportStrin

Ubuntu18.04上安装ROS的详细教程

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站前言最近,学习了胡老师的《ROS入门21讲》,在Ubuntu18.04上安装ROS过程中遇到了一些问题,解决这些问题耗费了大半天,故通过本文进行详细安装介绍,以便其他学者在安装这块少花时间,把更多的精力放在研究上。一、环境配置我的环境:虚拟机VM+Ubuntu18.04+melodicUbuntu对应的ROS版本:二、安装步骤1.添加ROS软件源输入命令:$sudosh-c'echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.li

Ubuntu18.04上安装ROS的详细教程

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站前言最近,学习了胡老师的《ROS入门21讲》,在Ubuntu18.04上安装ROS过程中遇到了一些问题,解决这些问题耗费了大半天,故通过本文进行详细安装介绍,以便其他学者在安装这块少花时间,把更多的精力放在研究上。一、环境配置我的环境:虚拟机VM+Ubuntu18.04+melodicUbuntu对应的ROS版本:二、安装步骤1.添加ROS软件源输入命令:$sudosh-c'echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.li

【cartographer ros】十: 延时和误差分析

上一节介绍了在cartographer进行建图和定位(在线和离线)。本节将分析cartographer运行时的误差与延迟,主要是在线定位时的,并尝试优化解决。目录1,误差分析a,硬件精度b,初值敏感c,计算量大2,延时优化本地全局减少重复子图3,简单小结1,误差分析建图时的漂移,重影等现象基本可以通过:确保雷达足够的频率和角度;建图时移动速度均匀且不要过快;调整建图参数;足够多的迭代优化;融合里程计+陀螺仪等方式解决。这里的误差主要指在实时定位的定位错差。a,硬件精度这个很明显,定位的精度和原始数据的精度息息相关。有条件的可以提高雷达,里程计,陀螺仪等硬件精度,也可以对初始数据优化处理,得到更

【cartographer ros】十: 延时和误差分析

上一节介绍了在cartographer进行建图和定位(在线和离线)。本节将分析cartographer运行时的误差与延迟,主要是在线定位时的,并尝试优化解决。目录1,误差分析a,硬件精度b,初值敏感c,计算量大2,延时优化本地全局减少重复子图3,简单小结1,误差分析建图时的漂移,重影等现象基本可以通过:确保雷达足够的频率和角度;建图时移动速度均匀且不要过快;调整建图参数;足够多的迭代优化;融合里程计+陀螺仪等方式解决。这里的误差主要指在实时定位的定位错差。a,硬件精度这个很明显,定位的精度和原始数据的精度息息相关。有条件的可以提高雷达,里程计,陀螺仪等硬件精度,也可以对初始数据优化处理,得到更

【cartographer ros】九: 建图和定位

通过前面的介绍了,我们可以自己实现数据的发布,然后在cartographer进行建图和定位,并调整参数查看效果。本节就将介绍在cartographer用自己的数据进行建图和定位(在线和离线)。在线和离线的区别只在于实时订阅数据和直接回放Rosbag中的数据。目录1,在线建图2,离线建图3,在线定位4,离线定位1,在线建图拷贝修改文件为自己对应的设置:backpack_2d.launch  ->   my_robot_2d.launchbackpack_2d.lua     ->  my_robot_2d.lua在.lua配置文件中设定TF转换关系:map_frame="map",trackin

【cartographer ros】九: 建图和定位

通过前面的介绍了,我们可以自己实现数据的发布,然后在cartographer进行建图和定位,并调整参数查看效果。本节就将介绍在cartographer用自己的数据进行建图和定位(在线和离线)。在线和离线的区别只在于实时订阅数据和直接回放Rosbag中的数据。目录1,在线建图2,离线建图3,在线定位4,离线定位1,在线建图拷贝修改文件为自己对应的设置:backpack_2d.launch  ->   my_robot_2d.launchbackpack_2d.lua     ->  my_robot_2d.lua在.lua配置文件中设定TF转换关系:map_frame="map",trackin

ROS机械臂 Movelt 学习笔记5 | MoveIt Commander Scripting

前一讲python接口中提到moveit_commander包。这个包提供了用于运动规划、笛卡尔路径计算以及拾取和放置的接口。moveit_commander包还包括一个命令行接口程序moveit_commander_cmdline.py.可以通过一些简单的命令来替代编程。1.启动命令行工具先打开panda机械臂模型cdARM/cdws_moveit/sourcedevel/setup.bashroslaunchpanda_moveit_configdemo.launch然后在新窗口中(可以不必切换到ws_moveit包下)rosrunmoveit_commandermoveit_comman

ROS机械臂 Movelt 学习笔记5 | MoveIt Commander Scripting

前一讲python接口中提到moveit_commander包。这个包提供了用于运动规划、笛卡尔路径计算以及拾取和放置的接口。moveit_commander包还包括一个命令行接口程序moveit_commander_cmdline.py.可以通过一些简单的命令来替代编程。1.启动命令行工具先打开panda机械臂模型cdARM/cdws_moveit/sourcedevel/setup.bashroslaunchpanda_moveit_configdemo.launch然后在新窗口中(可以不必切换到ws_moveit包下)rosrunmoveit_commandermoveit_comman

ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

Python的使用总是比C++简单许多,MoveGroup的Python接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和C++接口实现相同的功能:设置机械臂的位姿进行运动规划移动机器人本体将物品添加到环境/从环境移除将物体绑定到机器人/从机器人解绑1.执行示例代码1.1运行过程cd~/ARM/ws_moveit/sourcedevel/setup.bash#打开机器人模型结点roslaunchpanda_moveit_configdemo.launch新开一个终端,在相同目录下执行sourcedevel/setup.bash#机器人python接口结点rosrunmove