![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS
文章平均质量分 62
cchangcs
Make something different!
毕业于武汉大学软件工程专业,现就职于某厂。
展开
-
roslaunch rbx1_bringup fake_pi_robot.launch 运行报错[fake_turtlebot.launch] is neither a launch file in
roslaunch rbx1_bringup fake_pi_robot.launch 运行报错[fake_turtlebot.launch] is neither a launch file in在ros 中运行示例代码roslaunch rbx1_bringup fake_pi_robot.launch 时,有时会运行出错,报错如下所示: [fake_turtlebot.launch] is原创 2017-08-19 11:33:12 · 6496 阅读 · 2 评论 -
ROS——通信(一)
ROS中的通信方式有四种,主题、服务、参数服务器、动作库。 Node在ROS的世界里,最小的进程单元就是节点(node)。一个软件包里可以有多个可执行文件,可执行文件在运行之后就成了一个进程(process),这个进程在ROS中就叫做节点。 从程序角度来说,node就是一个可执行文件(通常为C++编译生成的可执行文件、Python脚本)被执行,加载到了内存之中;从功能角度来说,通常一个no...转载 2018-12-08 20:51:23 · 6808 阅读 · 0 评论 -
ROS——常用工具
本章主要介绍了ROS开发时常常使用的工具,分别是:Gazebo RViz rqt rosbag rosbridge moveit!这六个工具是我们开发常常用到的工具,gazebo是一种最常用的ROS仿真工具,也是目前仿真ROS效果最好的工具;RViz是可视化工具,是将接收到的信息呈现出来;rqt则是非常好用的数据流可视化工具,有了它我们可以直观的看到消息的通信架构和流通路径;ros...转载 2018-12-08 20:51:39 · 5643 阅读 · 0 评论 -
解决方案:error: ‘cout’ does not name a type
在ubuntu中编译cpp文件时,出现了如下错误:/home/exbot/tutorial_ws/src/time_d/src/timetest.cpp:26:1: error: ‘cout’ does not name a type cout<< "d2" <<d2 <<endl; ^解决方案:将cout语句放入函数体内,就不会出现如上错误了。...原创 2018-10-14 13:14:50 · 32428 阅读 · 0 评论 -
解决方案:terminate called after throwing an instance of ros::TimeNotInitializedException
在ROS中使用ros::Time和ros::Duration时出现了如下错误:terminate called after throwing an instance of 'ros::TimeNotInitializedException' what(): Cannot use ros::Time::now() before the first NodeHandle has been ...原创 2018-10-14 13:25:44 · 11010 阅读 · 1 评论 -
ROS——TF与URDF
第八章 TF与URDF本章简介机器人的坐标变换一直以来是机器人学的一个难点,我们人类在进行一个简单的动作时,从思考到实施行动再到完成动作可能仅仅需要几秒钟,但是机器人来讲就需要大量的计算和坐标转换。其中的坐标转换TF和URDF是本章要详细介绍的内容。首先我们从认识TF开始,然后学习TF消息和TF树,在后面我们还介绍了TF的数据类型和在C++以及Python中的一些函数和类。也简单...转载 2018-12-08 20:50:38 · 3025 阅读 · 0 评论 -
ROS——roscpp
从本章开始,我们就要正式的接触ROS编程了。在之前的章节,你了解到用命令行启动ROS程序、发送指令消息,或使用可视化界面来调试机器人。你可能很想知道,这些工具到底是如何实现这些功能的。起始这些工具本质上都是基于ROS的客户端库(Client Libarary)实现的,所谓客户端库,简单的理解就是一套接口,ROS为我们机器人开发者提供了不同语言的接口,比如roscpp是C++语言ROS接口,rosp...转载 2018-12-08 20:51:43 · 5108 阅读 · 0 评论 -
ROS——SLAM与Navigation
第九章 SLAM本章简介机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion Planning)也是重要的一个环节。而同步定位与建图(SLAM)问题位于定位和建图的交集部分。SLAM需要机器人在未知的环境中逐步建立起地图,然后根...转载 2018-12-08 20:48:48 · 15828 阅读 · 0 评论 -
ubuntu 登录界面循环
安装了TensorFlow的ubuntu系统一直卡在登录界面,不断循环,在查找资料之后,发现是nvidia驱动的原因。解决办法:1、在登录界面,同时按 Ctrl+alt+F1 进入命令行界面,并输入当前 用户名和密码 进行登录。2、运行如下代码对nvidia驱动进行卸载,并重新安装ubuntu桌面:sudo apt-get remove --purge nvidia-* ...原创 2018-11-23 19:31:54 · 4175 阅读 · 0 评论 -
ROS——文件系统
对于源代码包,我们只有编译才能在系统上运行。而Linux下的编译器有gcc、g++,随着源文件的增加,直接用gcc/g++命令的方式显得效率低下,人们开始用Makefile来进行编译。然而随着工程体量的增大,Makefile也不能满足需求,于是便出现了Cmake工具。CMake是对make工具的生成器,是更高层的工具,它简化了编译构建过程,能够管理大型项目,具有良好的扩展性。对于ROS这样大...转载 2018-12-08 20:48:00 · 1026 阅读 · 0 评论 -
ROS——创建工作空间并编译示例
本篇博客介绍如何在ROS中创建工作空间并编译示例。首先创建工作空间,并下载示例:cd ~mkdir -p tutorial_ws/srccd tutorial_ws/srcgit clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git安装依赖:cd ~/tutorial_wsrosdep in...转载 2018-10-05 18:22:00 · 3343 阅读 · 1 评论 -
解决方案:gazebo-2] process has died [pid 28003, exit code 255, cmd /opt/ros/indigo/lib/
在运行gazebo的过程中,出现了黑屏和下面的错误:[gazebo-2] process has died [pid 28003, exit code 255, cmd /opt/ros/indigo/lib/gazebo_ros/gzserver worlds/empty.world __name:=gazebo __log:=/home/exbot/.ros/log/3bd6002c...原创 2018-10-05 18:10:08 · 29843 阅读 · 27 评论 -
ROS创建机器人小车
ROS创建机器人小车本篇博文主要介绍如何在ROS上面创建机器人小车,因不明白rviz的使用,在多次成功创建后也无法显示,文末将附上该问题的解决方法。 一、在终端中进入catkin_ws/src/目录下,运行如下命令创建包;catkin_create_pkg smartcar std_msgs rospy roscpp urdf 二、进入smartcar目录下,并创建urdf目录(命令:mkdir原创 2018-01-07 18:44:22 · 5017 阅读 · 1 评论 -
PCL(点云库)学习(一)
最近在学习SLAM(同时定位与地图构建),因此顺带学习了一下,PCL(Point Cloud Library,点云库)。使用的操作系统为ROS(机器人操作系统),由于ROS集成了opencv和pcl,所以直接运行了PCL的示例代码。下面是运行步骤、示例代码以及运行结果:运行步骤:cd到catkin_ws/src目录下cd catkin_ws/src创建package...原创 2018-07-09 12:10:01 · 13800 阅读 · 2 评论 -
PCL(点云库)学习(二)
本篇博客主要介绍在ROS系统完成PCL的简单示例。首先在catkin_ws/src目录下创建项目包:catkin_create_pkg demo std_msgs rospy roscpp到demo目录下创建cloud_viewer.cpp文件gedit cloud_viewer.cpp 并输入如下代码:#include <pcl/visualiz...原创 2018-07-09 12:29:15 · 1381 阅读 · 0 评论 -
ubuntu下使用CMake创建C++项目
本篇博客主要介绍如何在Ubuntu下使用CMake创建C++项目,下面是详细步骤: 1、通过mkdir创建项目根目录。 mkdir test 2、进入根目录,并创建如下子文件夹。3、在根目录下创建CMakeLists.txt,并输入如下代码。 gedit CMakeLists.txt 代码:CMAK...原创 2018-07-10 20:27:26 · 9521 阅读 · 7 评论 -
Ubuntu中通过launch文件运行python报错
在ubuntu中通过launch文件运行python文件时,报错如下:ERROR: cannot launch node of type [smartcar_teleop/scripts/teleop.py]: can't locate node [scripts/teleop.py] in package [smartcar_teleop]产生这个错误的原因是python文件没有可执行权限,只...原创 2018-07-15 11:44:55 · 2993 阅读 · 0 评论 -
PID控制学习--原理(一)
目录一、PID控制原理与程序流程1、过程控制2、PID调节各个单元的作用二、数字PID控制器1、模拟PID控制规律的离散化2、数字PID控制器的差分方程3、常见的控制方式4、PID算法的两种形式三、PID算法的程序流程1、增量型PID算法的程序流程2、位置型PID控制的程序流程3、程序流程四、标准PID算法的改进1、微分项的改进2、微分线...原创 2018-07-22 14:17:19 · 53690 阅读 · 5 评论 -
PID控制学习代码(二)
kp:clear all;close all;figcount = 3;kpvalue = [20 50 100];for kpin = 1:figcount ts=0.001; sys=tf(50,[0.125,7, 0]); dsys=c2d(sys,ts,'z'); [num,den]=tfdata(dsys,'v'); u_1=0.0;...转载 2018-07-22 16:27:08 · 2280 阅读 · 0 评论 -
ubuntu解压zip文件出现权限问题
在ubuntu中解压zip文件时,解压出的csv文件带上了锁和叉号,使得普通用户无法进行读取。解决办法:cd到解压出来的文件目录下。运行:sudo chmod u+rw train.csv即可消除权限限制,普通用户也可对解压出的zip文件进行处理。...原创 2018-11-17 21:28:28 · 7998 阅读 · 0 评论