ros

image_transport

与世无争的帅哥 提交于 2020-04-23 13:12:11
0. image_transport简介 : image_transport应该总被用在image订阅和发布上。它为低带宽压缩格式(compressed formats)image传输提供透明支持。例如:为JPEG/PNG压缩和视频流提供单独插件,为此类image提供传输(订阅和发布)。 当我们基于Image工作时,我们常希望指定传输策略。例如使用压缩Image或视频流编码。 image_transport提供class和node提供支持位随意格式的各类传输。抽离了格式等复杂信息,所以用户只看到sensor_msgs/Image这个message. 指定格式的传输由插件提供,image_transport自身只提供“raw”传输。其它的格式支持依赖于其它子package. image_transport_plugins. 1. image_transport 使用: image_transport可以使用C++或Python接口。我们主要看看C++接口。 1.1: 下载image_transport源码 : $cd catkin_ws/src $git clone https://github.com/ros-perception/image_common.git 1.2: 学习用法 : 正常发布和订阅,是通过NodeHandle, 如下: // Do not

6. ROS坐标系统

限于喜欢 提交于 2020-04-21 02:41:42
博客转载: https://blog.csdn.net/hcx25909/article/details/9255001 在机器人的控制中,坐标系统是非常重要的,在ROS使用 tf软件库 进行坐标转换。 一、tf简介 我们通过一个小小的实例来介绍tf的作用。 1、安装turtle包 sudo apt-get install ros-indigo-turtlebot 2、运行demo $ roslaunch turtle_tf turtle_tf_demo.launch 然后就会看到两只小乌龟 该例程中带有turtlesim仿真,可以在终端激活的情况下进行键盘控制。 方向键控制黄色乌龟的运动,第二只绿色乌龟会跟随你移动的乌龟进行移动 3、demo分析 这个例程使用tf建立了三个参考系:a world frame, a turtle1 frame, and a turtle2 frame。然后使用tf broadcaster发布乌龟的参考系,并且使用tf listener计算乌龟参考系之间的差异,使得第二只乌龟跟随第一只乌龟。 来源: oschina 链接: https://my.oschina.net/u/4419131/blog/3276073

5. 键盘控制smartcar

ⅰ亾dé卋堺 提交于 2020-04-20 15:46:44
博客转自: https://blog.csdn.net/hcx25909/article/details/9004617 如果尝试过前面的例子,有没有感觉每次让机器人移动还要在终端里输入指令,这也太麻烦了,有没有办法通过键盘来控制机器人的移动呢?答案室当然的了。我研究了其他几个机器人键盘控制的代码,还是有所收获的,最后移植到了smartcar上,实验成功。 一、创建控制包 首先,我们为键盘控制单独建立一个包: roscreate-pkg smartcar_teleop rospy geometry_msgs std_msgs roscpp rosmake 二、简单的消息发布 在机器人仿真中,主要控制机器人移动的就是 Twist()结构,如果我们编程将这个结构通过程序发布成topic,自然就可以控制机器人了。我们先用简单的python来尝试一下。 之前的模拟中,我们使用的都是在命令行下进行的消息发布,现在我们需要把这些命令转换成python代码,封装到一个单独的节点中去。针对之前的命令行,我们可以很简单的在smartcar_teleop /scripts文件夹下编写如下的控制代码: #!/usr/bin/env python import roslib; roslib.load_manifest('smartcar_teleop') import rospy from

我用MATLAB撸了一个2D LiDAR SLAM

回眸只為那壹抹淺笑 提交于 2020-04-18 02:21:54
0 引言 刚刚入门学了近一个月的SLAM,但对理论推导一知半解,因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程。 (1)数据来源:德意志博物馆Deutsches Museum)的2D激光SLAM数据,链接如下: Public Data - Cartographer ROS documentationgoogle-cartographer-ros.readthedocs.io (2)SLAM过程展示(戳下面的小视频) <iframe frameborder="0" allowfullscreen="" src="https://www.zhihu.com/video/1050063244621930496" style="display: block; width: 688px; height: 387px;"></iframe> 2D LiDAR SLAM (3)demo得到的SLAM效果: SLAM效果(包含路径、当前位姿、栅格地图) 1 数据准备与参数设置 1.1 2DLiDAR数据集准备 将提供的2DLiDAR数据集'b0-2014-07-11-10-58-16.bag',转为matlab的.mat数据文件,这其中包括有5522批次扫描数据,每次扫描得到1079个强度点。如下: 1.2 LiDAR的传感器参数设置 包括

1 简单的ROS机器人仿真

倖福魔咒の 提交于 2020-04-17 08:24:57
【推荐阅读】微服务还能火多久?>>> 博客转自古-月: https://blog.csdn.net/hcx25909/article/details/8870552 ,本文针对Fuerte版本,Kinetic版本参考 https://www.cnblogs.com/flyinggod/p/11489250.html 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了。接下来我们涉及到的很多例程都是《ROS by Example》这本书的内容,我是和群里的几个人一起从国外的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了。 一、ROS by Example 这本书是关于国外关于ROS出版的第一本书,主要针对Electric和Fuerte版本,使用机器人主要是TurtleBot。书中详细讲解了关于机器人的基本仿真、导航、路径规划、图像处理、语音识别等等,而且在google的svn上发布了所有代码,可以通过以下命令下载、编译: svn checkout http://ros-by-example.googlecode.com/svn/trunk/rbx_vol_1 rosmake rbx_vol_1 rospack profile //加入ROS package路径 二、rviz简单机器人模拟 1

ROS Could not connect to display localhost:17.0

℡╲_俬逩灬. 提交于 2020-04-16 17:26:03
【推荐阅读】微服务还能火多久?>>> 问题 我是 Xshell 连接的 VirtualBox 的 Ubuntu16.04 版本 是因为我在命令行窗口启动 GUI 界面导致的 QXcbConnection: Could not connect to display localhost:17.0 rqt: cannot connect to X server localhost:.0 解释 17.0 是 DISPLAY 变量的值 关于DISPLAY 变量的解释,建议可以参考 Linux DISPLAY环境变量的妙用 文章格式有点乱,但戳中了正点. 解决方法 删掉 Docker 容器,在图形化桌面开启容器,因为这样默认分配到图形化桌面的显示器来显示 root@ubuntu:/home/walker# docker container rm kinetic -f root@ubuntu:/home/walker# docker run -itd --name kinetic --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" -v "/root/.ros/:/root/.ros/" osrf/ros:kinetic-desktop-full-xenial rqt

get “LogicError: explicit_context_dependent failed: invalid device context - no currently active context? ” when running tensorRT in ROS

ⅰ亾dé卋堺 提交于 2020-04-16 05:45:20
问题 I have an inference code in TensorRT(with python). I want to run this code in ROS but I get the below error when trying to allocate buffer: LogicError: explicit_context_dependent failed: invalid device context - no currently active context? The code works well out of the ROS package. A ROS node publishes an image and the given code get the image to do inference. The inference code is shown below: #!/usr/bin/env python # Revision $Id$ import rospy from std_msgs.msg import String from cv_bridge

Ubuntu18.04安装Qt5.13.0

旧巷老猫 提交于 2020-04-15 10:44:30
【推荐阅读】微服务还能火多久?>>> 1.下载安装包 下载链接 https://pan.baidu.com/s/1M72B2ZLN6x6VtnGg8NRcJw 密码: an0w 2.更改权限 $ sudo chmod +x qt-opensource-linux-x64-5.13.0.run 3.安装 $ sudo ./qt-opensource-linux-x64-5.13.0.run 4.按照出现的界面直接安装 5.安装ROS Qt Creater插件 https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html#qt-installer-procedure 来源: oschina 链接: https://my.oschina.net/u/4330568/blog/3235192

Ubuntu18.04安装Qt5.13.0

自闭症网瘾萝莉.ら 提交于 2020-04-15 10:25:10
【推荐阅读】微服务还能火多久?>>> 1.下载安装包 下载链接 https://pan.baidu.com/s/1M72B2ZLN6x6VtnGg8NRcJw 密码: an0w 2.更改权限 $ sudo chmod +x qt-opensource-linux-x64-5.13.0.run 3.安装 $ sudo ./qt-opensource-linux-x64-5.13.0.run 4.按照出现的界面直接安装 5.安装ROS Qt Creater插件 https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html#qt-installer-procedure 来源: oschina 链接: https://my.oschina.net/u/4260217/blog/3235173