ROS
文章平均质量分 83
yaked19
这个作者很懒,什么都没留下…
展开
-
Windows10 开机自启动 WSL1 中的ROS脚本
因为WSL1没有Linux内核,在其中的启动脚本不是Linux的常规操作,同时对USB设备的支持不是很好。建议有机会直接WSL 2,最近变为发行版了,更稳定。但是由于自己装的WSL 1不想重装系统了,希望WSL 中的ROS脚本随着win10启动而自动启动,这里自己做个笔记,也给需要的朋友一个参考。原创 2022-12-31 20:15:00 · 1078 阅读 · 2 评论 -
move base参数及global planner,local planner设置
gmapping建图,然后可以利用建好的图来定位和避障。如果你来做这个任务,会很自然的想到,静态障碍和动态障碍分层处理,这也就是为啥会有,静态层、障碍物层和膨胀层。而让机器人到达目标位置,当前点和目标点之间如何到达,需要一个全局的“天眼”——global_planner,在全局规划的过程中,遇到障碍了,需要局部做调整,因此引入了local planer。根据官网这里的描述,ROS1内置三种全局规划算法: global_planner、navfn和carrot planner。................原创 2022-06-29 23:18:55 · 7649 阅读 · 0 评论 -
ROS 信息打印(INFO、 DEBUG等)
ROS Logadd_definitions(-DROSCONSOLE_MIN_SEVERITY=ROSCONSOLE_SEVERITY_ERROR)原创 2022-03-22 21:41:46 · 15877 阅读 · 0 评论 -
给SLAM小车添加 手柄遥控 功能 罗技F710和PS4 手柄
罗技Logetic F710 手柄手柄正面背后上有D和X拨档,D表示Direct 模式,X表示Xbox 模式,带有陀螺仪数据,一般是游戏中手柄当做鼠标选择或进行打字用。一般遥控机器人的时候没有用到这个信息,所以直接选择D档。正面小按钮Mode灯亮和不亮的时候,会影响摇杆的数据输出。mode灯亮的模式下,只有右手边摇杆可以在+1和-1之间无极调节(精确到小数点后18位),而其他摇杆只有三种状态输出:+1.0,0.0,-1.0。因此直接选择mode灯不亮的模式,按mode按钮可以来回切换模式。原创 2022-03-05 21:00:00 · 3142 阅读 · 0 评论 -
手把手教你编写一个自己的rqt plugin (C++版)
ROS里的rqt plugin以Python语言编写的居多,c++的较少,如rqt_image_view和rviz是C++。Python版的见上一篇总结:https://blog.csdn.net/yaked/article/details/118420240cd ~/pcl_ws/src (任一个ROS工作空间即可,我这里为pcl_ws, 你可以替换为catkin_ws)catkin_create_pkg rqt_example_cpp roscpprqt_gui rqt_gui_cppstd..原创 2021-07-05 21:58:06 · 909 阅读 · 4 评论 -
手把手教你编写一个自己的rqt plugin (Python版)
http://wiki.ros.org/rqt/Tutorials原创 2021-07-05 20:39:21 · 1185 阅读 · 1 评论 -
catkin_make 与 catkin build指令记录
catkin_make 与 catkin build指令记录catkin build作为catkin_make的接班者,https://catkin-tools.readthedocs.io/en/latest/history.html(catkin_make-> catkin_make_isolated->catkinbuild),看到有很多的package都是使用这个命令...原创 2020-03-29 22:52:10 · 3103 阅读 · 0 评论 -
linux 用脚本打开多个terminal和多个标签页并分别执行命令
linux 用脚本打开多个terminal和多个标签页并分别执行命令#! /bin/bashsource /opt/ros/kinetic/setup.bashsource /home/yake/catkin_ws/devel/setup.bashgnome-terminal -x bash -c "roslaunch kinova_bringup kinova_robot.la...原创 2019-11-23 23:45:58 · 5019 阅读 · 1 评论 -
Matlab直接读取rosbag
本文使用Linux matlab 2016b无意中知道Matlab能直接读取rosbag,https://github.com/ethz-adrl/towr/blob/master/towr/matlab/plot_rosbag.m后来在做实验的过程中,有需要分析rosbag的需要,这里就产生了这篇文章。之前的做法都是rostopic echo导入txt中分析,现在能直接分析了,应该更直接...原创 2019-07-29 22:02:01 · 9006 阅读 · 6 评论 -
角蜂鸟AI视觉套件:(四)ROS下订阅并处理图像
对于熟悉ROS的朋友们来说,图像的topic有了,我们就可以开始自己想干的事情了。这里我创建一个名为hs_image_sub的package来处理角蜂鸟的图像,图像的topic 名字为上一篇提到的:/hs/camera/image_raw. 也是我们打开rqt_image_view窗口看到的东西。这篇博客主要是利用opencv来获取角蜂鸟图像,然后做一个阈值处理,并且打开窗口显示原图和处理后的...原创 2018-08-07 12:14:54 · 5487 阅读 · 0 评论 -
角蜂鸟AI视觉套件:(三)ROS案例
在翻看教程的时候,无意中发现居然可以和ROS接入,还是挺兴奋的。因为自己C++用的比Python多。https://hornedsungem.github.io/Docs/cn/workflow/ros/quickstart/安装ROS和编译都没有多说的,不过还是发现了一点点小错误,include没有s。编译通过后,输入命令:roslaunch horned_sungem_lau...原创 2018-07-30 23:46:22 · 1204 阅读 · 0 评论 -
深度相机同时保存深度图和彩色图及合成点云
空格键保存深度图和彩色图,办公室环境三维重建/home/yake/catkin_ws/src/pcl_in_ros/src/16_02rgb_depth_saver.cpprosrun pcl_in_ros rgb_depth_saver#include <ros/ros.h>#include <sensor_msgs/PointCloud2.h>#in...原创 2018-06-23 10:14:27 · 6027 阅读 · 0 评论 -
ROS Indigo下boost 1.6及PCL 1.8的编译
ROS indigo版本的boost自带是1.54,PCL默认版本是1.7.1ROS kinetic版本的boost自带是1.58,PCL默认版本是1.7.2安装PCL 1.8需要boost≥1.56,因此就有了boost 的升级,我这里用的是boost 1.61。建议boost 1.61和PCL 1.8都安装在自己的目录下,不要和系统的混在一起。https://blog.csdn.n...原创 2018-06-22 22:45:58 · 1590 阅读 · 0 评论 -
ROS下订阅topic保存为点云(1)
这里订阅了的是Kinect for Xbox One或是华硕的Xtion Pro Live的topic:/camera/depth_registered/points。这个topic是包含了利用相机内置的calibration参数来配准RGB图和深度图,也即它的像素点包含了颜色和深度信息。按空格键会将当前的点云保存下来,名字为inputcloud0.pcd,inputcloud1.pcd...依次类推pcd_saver.cp原创 2016-11-14 21:42:22 · 6206 阅读 · 1 评论 -
ROS python 代码转换到 C++
背景:ROS python 代码转换到 用C++实现,我的关于ar_marker追踪的时候发现点云跳动比较明显。找到了yoc他们的,测试了一下,发现效果还可以,无奈了他们前面的几个代码都是C++的,最后测试demo用Python写的,因此有了这个。其实早在以前学习ROS by Example这本书的时候,尝试用C++写过一部分,这次算是个学习笔记吧。yujin_ocs/yocs_ar_原创 2016-11-03 10:35:02 · 3438 阅读 · 0 评论 -
在Rviz中显示坐标系方法探究
这个问题也算是一个历史遗留问题,之前在youbot的机械臂的夹子间添加了一个virtual joint,也算是添加一个坐标系了。但这个偏重于机器人模型方面的坐标。另外,在做机械臂的轨迹运动规划的时候,常常也需要显示点位,甚至是坐标系姿态。Rviz的插件中虽然也可以添加坐标系,如下图:但是发现它的这个Axes只能添加Fixed Frame的坐标系,添加相对于其他坐标系的Axes会显示不出来。...原创 2016-11-01 16:42:45 · 22815 阅读 · 1 评论 -
KUKA youBot在ROS下的驱动问题
接触youBot也很久了,常常也遇到一些can not find slave on eth,后来查阅youBot Store和网友的一些方法,总结起来如下:主要是驱动、权限、网口配置、网线等这几个方面,可靠连接,软件和硬件为基础,结合起来才能够起作用。youBot的驱动是利用上位机,结合网线作为传输介质,同时借助于开源的SOEM(Simple Open EtherCAT Master)来进行数原创 2016-06-28 23:31:29 · 5138 阅读 · 5 评论 -
Gazebo与ros_control(4):举一反三,实战youBot
在前面的三篇中,对ros_control也有个大致了解了。这篇就是将之前学到的用于我们实验室的平台KUKA youBot上。在此之前,其实网上已经有关于youBot在Gazebo下的仿真视频了。另外说个题外话,用Gazebo和Riz都可以做仿真,Gazebo最强大的是拥有物理引擎,有物理渲染,有碰撞效果、重力等等。这里参考的package主要是:h原创 2016-05-23 23:11:01 · 14658 阅读 · 4 评论 -
Gazebo与ros_control(3):Moveit输出规划轨迹到Gazebo
在上一篇中介绍了ros_control的两个应用,但是还没结束,因为规划问题是一个很重要,而且也很有挑战性的问题。好在ROS里提供了一些规划的接口,比如主要用于机械臂规划的MoveIt,其实它也可以用于规划底座,这个只是在Moveit的一个PPT里看见过,是用于PR2的,其他的好像没看见过。这里主要是将上篇的7自由度手臂结合ros_control与Moveit。1. 关于Moveit的配置原创 2016-05-17 16:26:12 · 11966 阅读 · 5 评论 -
Gazebo与ros_control(2):七自由度机械臂和两轮差速运动小车
在上一篇文章里,结合Gazebo官方的RRBot(2自由度机械臂)的相关配置文件,介绍了一些关于ros_control的基本知识。这里结合《Mastering ROS for Robotics Programming》这本书里的7自由度机械臂和一个两轮差速运动的小车再来探究一番。首先根据上篇博客和书中的内容我们来总览一下,随后的操作都是基于这个来设置的。因为要仿真所以需要机器人模型,所以先得有ur原创 2016-05-16 22:44:36 · 16215 阅读 · 2 评论 -
Gazebo与ros_control(1):让模型动起来
不久前,师弟问了我一个问题:“师兄,我要控制一个机器人在仿真环境下运动,需要学什么,或者从哪里入手呢?“这个问题不是那么好回答,urdf——Gazebo——ros_control——MoveIt,这是我在很久后才能给出的一个答案。那么之前我是怎么做仿真的呢?1. 借助Arbotix舵机接口来仿真之前是在学习《ros by example volume 2 》的时候,接触到原创 2016-05-15 16:45:37 · 40420 阅读 · 5 评论 -
rosspin、rosspinOnce及多线程订阅
背景因为在一些点云处理的程序中,出现多个订阅者订阅同一个topic,由于内部处理的时间不同,最后造成显示界面出现卡顿,现象就是用鼠标拖动点云的视角会感觉非常卡,不顺畅。为此,决定先走一遍官方的多线程系列教程。https://github.com/ros/ros_tutorials/tree/jade-devel/roscpp_tutorialshttp://wiki.ros.org/r...原创 2016-03-01 22:36:21 · 19096 阅读 · 0 评论 -
ROS下创建meta_package
1.背景不知道大家有没有这样的经历,自己的catkin_ws/src下的package越来越多了,每次运行的时候,都得先去确认一下package的名字。有没有像ROS by example的代码rbx1那样,将这本书的所有package全部集中到一个metapackage下。比如我们实验室用的机器人是youbot,那么我可以把自己写的代码全部放在一个地方,比如叫youbot_yw,创建的pac原创 2015-11-28 16:14:45 · 4923 阅读 · 2 评论 -
CMake学习
背景:CMake这个东西,又爱又恨,第二次困在这个地方了。索性写篇博客,自己也好好总结一下。参考网址:http://blog.csdn.net/wokaowokaowokao12345/article/details/50414468ROS 官网:http://wiki.ros.org/catkin/CMakeLists.txt1. 简单的利用CMakeLists.txt来自动编译...原创 2015-10-24 22:22:50 · 1423 阅读 · 1 评论 -
KUKA youbot机械臂与Moveit工具包(3)
1. 背景这段时间以来,先是按照by example 的作者的例子,将它看懂,改动,以运用到youbot上来。其中修改完毕并测试成功的有:moveit_fk_demo.py(关节空间), moveit_ik_demo.py(笛卡尔空间),arm_tracker.py(追踪空中的球), moveit_cartesian_demo.py(加入途经点)。但是后面的那个moveit_constrain原创 2015-07-11 11:52:55 · 5020 阅读 · 1 评论 -
KUKA youbot机械臂与Moveit工具包(2)
这里利用在ROS by example volume2中学到的知识,将它转化到youbot上,这里我将记录一些关于在moveit中的正反解以及利用第三方求解器(主要是IKFast和youbot_arm_kinematics_moveit::KinematicsPlugin)的一些过程和体会,希望对大家有所帮助。1. 利用Moveit的API正解roslaunch ik_follow_joi原创 2015-05-10 15:56:56 · 8525 阅读 · 4 评论 -
KUKA youbot机械臂与Moveit工具包(1)
1. Background基于上次分析,我一直认为是自己的途径点的参数设置有问题才导致实际动作与仿真区别较大,然后想看看youbot的正逆解那块,其实因为我是基于actionlib实现的,因此我的主要目标定位在了youbot的驱动文件中,因为我们加载驱动的时候,它就启动了action_server,而我们的client目前做的工作是发送途径点,及其速度,加速度,运行时间这几个参数我的act原创 2015-05-10 10:35:40 · 13523 阅读 · 8 评论 -
利用rqt_plot与Matlab分析ROS topic信息
本文使用Matlab 2013a.后来发现matlab 工具箱可以直接处理rosbag了. https://ww2.mathworks.cn/help/robotics/examples/work-with-rosbag-logfiles.html最低版本Matlab R2015a, release notehttps://ww2.mathworks.cn/help/robotics...原创 2015-05-06 12:31:19 · 7434 阅读 · 3 评论 -
Qt_ROS Package学习与修改
1.学习package最近一直在思考,命令行上启动程序不太友好,想要GUI与用户交互,之前接触过Qt。自然,还是从Qt开始。找了一些地方,发现一个叫qt_ros的package,先用起来再慢慢做修改。http://wiki.ros.org/qt_ros作者给的tutorial比较简单,catkin_make之后,我们有四个可执行的程序:他们分别是qadd_client、qadd_ser原创 2015-04-28 21:07:53 · 4153 阅读 · 1 评论 -
Actionlib 与KUKA youbot机械臂
1.目前已经获得的情报 这篇文章是在对youbot机械臂进行dynamic 控制之后,我们的控制从关节角度控制到dynamic控制一路过来,但是这还是不过瘾,比较笨拙,完全需要人遥控,关节角控制,一次输一个点位还得重新编译、运行。dynamic控制每个关节角,调节滑块位置,机器人关节动作。但是必须小心,因为可能自碰撞。对于机器人正解,我的理解是经过转移矩阵可以得到末端的位置和姿...原创 2015-04-17 16:20:08 · 6973 阅读 · 7 评论 -
给KUKA youbot机械臂添加dynamic reconfig
首先,关于Dynamic Reconfig 的基本的操作和tutorial,官网上比较多,之前我的一篇文章也写过这个:http://blog.csdn.net/yaked/article/details/44924485 最近,因为自己刚把youbot的手臂控制做了一下,那个是在程序中写死位置,编译,运行程序让他动作的。想改变点位必须每次都重新编译再运行,比较麻烦。如果用dynamic原创 2015-04-15 17:02:36 · 3181 阅读 · 0 评论 -
用ROS控制KUKA youbot 的5自由度机械臂和夹子
1. 修改配置文件 在这里首先要说明的是,youbot的机械臂不需要底座也可以用电脑来控制。也就是说机械臂的驱动和控制都在那个机械臂内,另外一点,它的eth0和eth1的口是不能同时插在两个电脑上的,即使说是同时插上,但是只有一个电脑进行控制,这样的话,也是控制不了的,在实验和小伙伴一起试过。 还有一点要注意,修改config文件,因为在有底座和手臂的情况下,我们的Joint编原创 2015-04-13 10:02:59 · 13901 阅读 · 2 评论 -
ROS与boost::bind( )
boost可以看作是C++的第三方库,像我们常用的iostream等都是自带的库。因为ROS 的原因,看到许多地方的回调函数(call back)都用到了boost::bind。原创 2015-04-08 16:31:44 · 6431 阅读 · 0 评论 -
关于ROS下的Dynamic Reconfig的学习探索
Dynamic Reconfig是ROS比较厉害的一个地方,可以在程序运行的时候动态调整参数,ROS官网关于Dynamic Reconfig的讲解主要有三处1. http://wiki.ros.org/dynamic_reconfigure/Tutorials2. http://wiki.ros.org/roscpp_tutorials/Tutorials 最下面3. http:/原创 2015-04-07 19:07:56 · 7829 阅读 · 4 评论 -
在qt下编写基于KUKA youbot API的程序
在qt下编写基于KUKA youbot API的程序KUKA API地址遇到的主要问题还是关于它的lib和include文件,因为KUKA 官网提供了youbot-driver,我们git clone下来,在catkin make 就可以了,在这里我以前装过,就直接在那个文件夹下git pull origin更新,然后进入build 文件夹,cmake..最后make就在you原创 2014-12-30 13:58:30 · 2840 阅读 · 1 评论 -
(5)rosservice与rosparam
官网指南一、rosservicerosservice -h查看rosservice 的数据格式:rosservice type spawn| rossrv showfloat32 xfloat32 yfloat32 thetastring name---string namerosservice call spawn 2 2 0.原创 2014-12-21 15:20:25 · 1498 阅读 · 0 评论 -
(4)理解ROS node和topic
官网指南理解ROS noderoscore rosrun turtlesim turtlesim_node rosnode listrosrun turtlesim turtlesim_node __name:=my_turtle //node改名字,单下划线为private name,两个单下划线表示系统保留到名字Remapping ArgumentRemappi原创 2014-12-21 13:50:52 · 3752 阅读 · 2 评论 -
(3)创建ROS工作空间和Package
ROS官方Create a WorkingSpaceROS官方Create a ROS package创建工作空间,并将环境变量设置到终端启动配置文件bashrc中mkdir -p ~/catkin_ws/srccd ~/caktin_ws/srccatkin_init_workspacecd ~/catkin_wscatkin_makeecho "export ROS_......原创 2014-12-19 16:09:49 · 2624 阅读 · 0 评论 -
(2)在ROS的package间查看和跳转
rospack find [package_name]rospack find roscpproscd [package_name]roscd roscppecho $ROS_PACKAGE_PATHrosls roscpp_tutorials多用用TAB 补全功能# roscd turtles>>原创 2014-12-19 15:24:57 · 1825 阅读 · 0 评论 -
(1)关于ROS 你需要知道的
1. 关于ROS你需要知道的ROS的版本名称是按字母顺序E-F-G-H-I-J-K-L排列的,Electric-->Fuerte-->Groovy-->Hydro-->Indigo-->Jade-->Kinetic-->Lunar...ROS的fuerte和Groovy版本中会有ros_create_package和rosmake等命令,而H...原创 2014-12-18 11:38:37 · 4166 阅读 · 0 评论