Robot Operating System
文章平均质量分 88
信雪神话
SIA.机器人学实验室
展开
-
ros实验《Creating a ROS msg and srv》rosmsg show beginner_tutorials/Num无法返回问题
首先更改的时候不要有省略号。catkin_package( ... CATKIN_DEPENDS message_runtime ... ...)其次如果指令:rosmsg show beginner_tutorials/Num无返回或者返回乱码!则是因为早先建立的包未运行,解决方法如下:首先进入cd ~/catkin_ws,然后运行指令 catk原创 2015-12-18 16:52:47 · 1533 阅读 · 0 评论 -
ROS学习--如何结合launch文件使用参数服务器
ROS学习--如何结合launch文件使用参数服务器ROS(Robot Operating System)接触了将近两年了,最常用的也就是发布话题与订阅话题,前一段时间刚刚把Rviz与/tf搞明白一些,都能够多掌握一些东西,都会特别开心,要想提高自己的能力,必须要经过不断的学习。之前使用别人开源的包的时候,经常会发现在launch文件中使用诸如此类的句子:<node name="n...转载 2016-12-26 22:58:49 · 901 阅读 · 0 评论 -
ros launch文件编写和节点启动顺序控制
ROS可以通过launch文件进行节点的管理、初始参数的设置,但是launch文件不能指定节点的启动顺序,因此本文简单介绍下通过launch进行节点启动管理,通过shell来控制节点启动顺序。1,我将读取参数的代码片段放在了ros::init(argc,argv,"node_name")之后,首先定义变量类型,然后用ros::param::get进行参数获取。其中"~"表示该参数是一个私有参数原创 2016-12-28 16:32:50 · 12073 阅读 · 0 评论 -
rviz segmentation fault / corrupted double-linked list错误
测试解决方案是先卸载ros-indigo,然后重新安装。$ sudo apt-get purge ros-indigo-* && sudo apt-get autoremove$ sudo apt-get install ros-indigo-desktop-full获得信息的网页在这Hydro RViz crashes (Groovy not); glibc detected原创 2016-12-29 10:31:24 · 3322 阅读 · 0 评论 -
kinect v1 在 ROS indigo 安装:openni+ros接口
环境:ubuntu14.04+ros indigo。原文在Kinect on Ubuntu with OpenNI,本文根据实际的安装结果进行了系列完善。1)前期准备。sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk其中build-essential软翻译 2016-12-29 15:38:54 · 3729 阅读 · 0 评论 -
基于ros---一个完整的实现topic 发布和监听的类和msg的简单使用(使用c++)
首先,需要把ID_Data.msg拷贝到当前包的msg目录内,当然可以直接新建ID_Data.msg文件在msg目录内其内容只有两行如下: int32 idint16[8] data 然后在CmakeList.txt中添加如下msg编译信息。 add_message_files( [...] ID_Data.msg [...] ) 这样ros会自原创 2017-01-06 15:10:04 · 4654 阅读 · 0 评论 -
ros节点/话题/服务...管理工具multimaster_fkie的安装和简单使用
源码在https://github.com/fkie/multimaster_fkie/tree/indigo-devel,新建一个ros工作空间,或直接在当前工作空间的src目录下,gitgit clone https://github.com/fkie/multimaster_fkie.git完成后进入工作空间根目录,cd ..然后编译catkin_make。即可,然后sudo原创 2017-02-17 09:54:08 · 1971 阅读 · 0 评论 -
发布Sensor_msgs::JointState关节位置或速度实现Barrett Hand机械手控制
效果:通过独立的机械手初始化类和操作类能够实现任意机械手控制模式切换,机械手位置控制,机械手速度控制。环境:ubuntu 14.04+indigo. p.s.快速开发可参考http://wiki.ros.org/bhand_controller资料。[正文]1,获得机械手控制相关话题的细节信息。 官方驱动包安装成功后可以通过官方demo实现机械手控制,然后可以通过ros提供的原创 2017-08-01 21:46:31 · 8100 阅读 · 0 评论 -
基于libpcan库can总线操作的Barrett 机械手控制及腕部六维力传感器驱动
效果:通过can总线直接向机械手控制器发送控制指令,实现机械手闭合控制,同时实现六维力传感器数据实时监测。环境:ubuntu14.04+ROS indigo+pcan驱动(插入pcan后,能够使用ls /dev/pcan*显示出端口名称)。[正文] 通过libpcan库操作can总线实现数据发送、读取,按照机械手控制器的数据格式要求,即可实现机械手和六维力传感器的驱动。可以通过两原创 2017-08-03 22:31:04 · 2781 阅读 · 1 评论 -
ROS下实现机器人序列任务的执行控制
效果:背景是京东2017 JRC X机器人挑战赛,比赛要求机器人系统从起始区出发,然后运行到货架位置,取出对应货架格子上的京东JOY,然后送往释放区域,释放完成后再返回起始区,再重新开始任务。 我们最终完成的机器人系统如图所示。由于采样了传统的机械手机械臂+kinect+移动平台的方法,因此复杂度是所有队伍里最高的,也是最接近当下工业系统的解决方案,当然也是成本最高的。环原创 2017-08-04 22:53:13 · 3850 阅读 · 1 评论 -
YOLO模型训练自己数据-VOC格式数据集制作-ubuntu c++文件夹内图片批量读取与重命名
参考)YOLOv2训练自己的数据集(voc格式)进行实验,基本上是正确的,但其初始给出的代码并非是在linux下可以运行的,因此参考部分博客写了下面的程序,可以实现对文件夹内图片的批量读取以及更改名称符合VOC数据集习惯。另原文有部分小错误,本文已经修改,但后文属于转载,版权属原作者所有,本文仅为记录和交流用。如下文所示。1 准备数据首先准备好自己的数据集,最好固定格式,此处以VO原创 2017-09-14 16:58:02 · 2142 阅读 · 0 评论 -
install pcl1.7.2
it must be the pcl1.7.2, i test the pcl1.7.1 can not pass the bellow steps tar xvfj pcl-pcl-1.7.2.tar.gzChange the directory to the pcl-pcl-1.7.2 (replace 1.7.2 with the correct version number)原创 2017-10-18 08:34:15 · 767 阅读 · 0 评论 -
yolo train:CUDA Error: an illegal memory access was encountered darknet: cuda.c:36:check_error
when i finished clone the darknet, i have test the darknet by using the dog picture.but when i try to training the net, it always show error as following:error description: CUDA Error: an原创 2017-10-30 15:36:01 · 9430 阅读 · 2 评论 -
error note: Failed to load nodelet [/kinect2_points_xyzrgb_sd] of type [depth_image_proc/point_cloud
[ERROR] [1508463280.109066485]: Failed to load nodelet [/kinect2_points_xyzrgb_sd] of type [depth_image_proc/point_cloud_xyzrgb] even after refreshing the cache: According to the loaded plugin descrip原创 2017-10-20 14:47:25 · 7849 阅读 · 7 评论 -
darknet_ros error shooting: undefined reference to `clReleaseMemObject@OPENCL_1.0'
libkinect2_registration.so: undefined reference to `clReleaseMemObject@OPENCL_1.0'/home/robot/catkin_ws/devel/lib/libkinect2_registration.so: undefined reference to `clEnqueueWriteBuffer@OPENCL_1.0'原创 2017-10-23 16:17:13 · 1223 阅读 · 0 评论 -
use video_recorder of image_view to recorde video of a image topic
while you need install the image_view package in ros environment.and run roscore and video_recorder. its' param is as following:~filename (string, default: output.avi)Path and name of the ou原创 2018-01-31 17:32:44 · 525 阅读 · 0 评论 -
Ubuntu14.04系统下安装ros_barrett_package
Ubuntu14.04系统下安装ros_barrett_package教程备注: 安装记录:环境通用pc平台,i3,i5及amd的处理器计算机上都试过。操作系统ubuntu14.04+ros indigo。1 ros安装完成后,sudo rosdep init做环境的初始化。 rosdep updateecho “source /opt原创 2016-08-28 20:21:29 · 4668 阅读 · 6 评论 -
ROS CAN总线设备接入(二)can总线数据提取和以ros topic形式发布
【简介】基于前ROS CAN总线设备接入(一),我们成功实现了对于libpcan库的使用,本次将实现对于can总线的初始化以及对于can总线上有效数据提取,并将其以topic形式发布到ros节点中。【正文】1,要完成数据读取,需要对以下函数进行映射。//one-to-one mapping using dlsym function,if return null,mapping woul原创 2016-10-12 16:50:16 · 14775 阅读 · 7 评论 -
Ubuntu14.04安装ROS Indigo
一、安装ROS1.1配置Ubuntu的软件中心配置Ubuntu要求允许接受"restricted," "universe," and "multiverse."的软件源,可以根据下面的链接配置:https://help.ubuntu.com/community/Repositories/Ubuntu 注意:配置到“Integration with Ubu原创 2015-12-16 14:02:06 · 2061 阅读 · 0 评论 -
turtlebot rviz错误rviz error no transporm from base to map
按照 ros_by_example_indigo_volume_1做的话,执行如下命令:roslaunch rbx1_bringup fake_turtlebot.launchrosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz默认配置下,打开会出现诸多 Global Statue error,显示红色。解决方案如下:-->选原创 2016-07-27 11:11:29 · 1745 阅读 · 0 评论 -
使用qt开发ros应用
利用Qtcreator编写ROS程序,你必须先确保在启动qtcreator环境时把ros环境也添加进了。(类似于你启动终端 会先加载~/.bashrc配置相应环境变量信息)修改qt creator 桌面启动文件 修改 Exec 变量一行,在中间添加 bash -i -c 即改为 Exec=bash -i -c /home//Qt5.2.0/Tools原创 2016-07-21 22:05:13 · 1568 阅读 · 0 评论 -
odom_out_and_back.cpp
原文点击打开链接#include "ros/ros.h" #include "std_msgs/String.h"//geometry_msgs #include "geometry_msgs/Twist.h"//包含elocity space消息 #include #include "math.h" #include #include #include转载 2016-08-15 16:21:33 · 665 阅读 · 1 评论 -
ros talker listener主要基本api 介绍
1 void ros::initvoid ros::init(const M_string & remappings, const std::string & name, uint32_t options = 0 )原创 2016-08-17 15:44:00 · 1289 阅读 · 0 评论 -
ros::NodeHandle成员介绍
1 Publisher ros::NodeHandle::advertise(const std::string & topic, uint32_t queue_size, bool latch = false ) [inline]Advertise a topic原创 2016-08-17 10:32:48 · 11683 阅读 · 0 评论 -
Sending Twist Messages to a Real Robot
实际使用的是kobuki 底座的turtlebot机器人,之前没有看资料,使用roslaunch turtlebot_bringup minimal.launch测试(提示音)通过后,查看rostopic list,发现有好多运行的节点,其中有/cmd_vel_mux/的几个topic。如:cmd_vel_mux/input/navicmd_vel_mux/input/sa原创 2016-08-02 22:47:07 · 587 阅读 · 0 评论 -
ROS node调用service: ros::service::call/client.call()
简介:介绍如何在一个node里调用现有的rosservice list查询到的service。效果:通过talker publish需要调用服务的数据,listener接收到数据后调用服务进行三个整形数据相加,并返回相加和。环境:ubuntu 14.04 +indigo.备注:文中未详细介绍的api或ros的基本函数请参看之前博文。原创 2016-08-17 22:17:25 · 8526 阅读 · 0 评论 -
c++实现ros by example volume1 例子timed_out_and_back功能
之前没有查找相关资料,过后发现有相似功能例程,网址:http://blog.csdn.net/scliu12345/article/details/44538927之前以为ros::Rate 时间片用完后,会重新从while(ros::ok())开始,后来证明该想法是不对的,应该是从断点处继续执行。上文的网址博文有源码中关键部分的注释,我的只是一个不同思路,但建议用上文博文的方法。// mov原创 2016-08-06 22:17:09 · 1180 阅读 · 0 评论 -
通过ROS的Node(节点)调用bhand_controller服务实现barrett_hand基本动作控制
简介:编写一个node,实现通过该node进行barrett机械手的初始化。bhand_controller提供很多关于机械手操作的服务,如我们可以通过终端运行下面命令:$ rosservice call /bhand_node/actions "action: 1",实现机械手初始化,恢复到手指初始展开位姿,并进入到ready状态。本文将初始化等系列操作集成到一个node中,可以实现机械初始化和如开合等基本动作。效果:运行 rosrun beginner_tutorials bhand_test 后,原创 2016-08-18 22:38:26 · 1411 阅读 · 0 评论 -
PCAN linux 下ROS匹配
1,找到peak-linux-driver-7.x tar包,我解压到了Downloads文件夹下。2,执行如下命令cd peak-linux-driver-x.ymake cleanmake会发现有错误,提示类似 leving ....make错误,查明缺少libpopt3,补充以下步骤,apt-cache search popt|headsudo apt-g原创 2016-07-13 15:05:38 · 3499 阅读 · 3 评论 -
ROS多进程回调的实现 ROS Using different ros::CallbackQueue
总体上分为一下步骤:1 用 ros::CallbackQueue定义需要的回调队列;ros::CallbackQueue state_callback_queue;2 将回调队列初始化进subscriber中。例如下面所示:ros::SubscribeOptions ops=ros::SubscribeOptions::create( "/bhand原创 2016-08-31 10:37:12 · 3229 阅读 · 1 评论 -
ROS CAN总线设备接入(一)Linux动态库的显式调用
前提:(1),如果在libpcan安装正常的话,那么可以用以下命令查找到libpcan.sols /usr/lib/libpcan*查找到方可进行api载入。(2),确保CMakeList.txt 当前目标文件已加入add_executable...target_link_libraries此外加入 target_link_libraries(源码名 ${CMAKE_DL_LI原创 2016-09-23 10:13:09 · 8314 阅读 · 3 评论 -
ROS .so载入undefined reference to `dlopen'问题
在ros下做libpcan导入是遇到`dlopen',`dlclose'等函数没有定义问题,查了好多资料,并没有解决,在google上搜索cmake dlopen后第一条就是解决方案。原文如下。Suppose you get this error with the main.cpp file below: Linking CXX executable testlink CMakeFi原创 2016-09-22 10:39:56 · 2811 阅读 · 0 评论 -
Modify environment variable so that solving Anaconda与ROS共存问题
when i tried to add a publisher of ROS to a tensorflow python file, i got follow error:ImportError: No module named rospkgand i found a follow solution Link问题描述在安装Anaconda后$ cd ~/catkin_ws...原创 2018-07-21 11:00:36 · 304 阅读 · 0 评论