@ccsky Check if the rplidar is connected to the car host computer usb port.
Run "ls /dev " ,check ttyUSB002 is listed or not
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision

xiaoqiang 发布的帖子
-
RE: xiaoqiang tutorial (14) using rplidar A2 with gmapping
-
RE: loam_velodyne使用速腾聚创16线激光雷达建图和计算激光雷达里程计
@jaccica 应该不是代码的问题,这里的平稳是指不能有急转弯,即转弯半径要大,同时尽量保持匀速运动,还有雷达扫描频率越快越好,上面教程是20hz。
-
小强ROS机器人教程(28)___使用Intel RealSense D400系列深度摄像头进行自主移动避障
1.驱动测试
连接好RealSense摄像头后,运行下述命令可以测试sdk有没有安装成功
#sdk的安装教程 https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages rs-capture
正常的话可以看到类似下图的图像
关闭上述命令,继续测试ros驱动#ros驱动的安装教程 https://gitee.com/bluewhalerobot/realsense roslaunch realsense2_camera rs_camera.launch
如果正常,在rviz里面可以订阅显示深度和color图像话题。
2.关闭步骤1中命令,开始自主移动避障测试
intel RealsSense和kinect是兼容的,使用它来自主移动避障的教程也和kinect一样,区别是教程2.b、2.c步骤需要选择realsense。
roslaunch realsense2_camera rs_camera_xiaoqiang.launch
kinect避障教程:
https://community.bwbot.org/topic/115/小强ros机器人教程-10-___使用kinect进行自主移动避障 -
intel realsense D435 ROS驱动启动提示UVC device is already streaming错误的解决办法
如果topic数据正常,则可以忽略这个错误;如果图像话题不正常,主要问题就是sdk和固件的版本需要一致
1.librealsense的安装推荐用deb安装方式,简单可靠https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages
2.D435的固件版本更新,运行realsense-viewer会自动提示你当前固件版本问题。这里可以下载安装最新的固件https://downloadcenter.intel.com/download/28237/Latest-Firmware-for-Intel-RealSense-D400-Product-Family?product=128255 -
RE: 自定义消息在RVIZ中可视化如何实现???
@道灼 frame_id 和time 一般都需要的,可以写一个rviz plugin,参考这篇教程http://docs.ros.org/kinetic/api/rviz_plugin_tutorials/html/display_plugin_tutorial.html
-
RE: 原装和国产ps3手柄ros驱动程序
@xiangxiang123 多次短按试试,第1步是绑定(只用绑定一次),第2步才是配对(每次重启机器后都要操作一次)。第1步绑定成功后,断开usb和手柄连接,重启系统,然后直接进行第2步操作
-
浮点数计算误差对平均值计算的影响
计算当前时间前n个数的滑动平均值时,有一种常用数值加速办法:构造一个n*1大小的先进、先出的堆栈队列数据结构,然后记录这n个数的和sum,每次只需要把sum减去最老的值再加上最新的值就可以得到最新的和值,这样相当于把n次求和变成了2次加减运算,可以加速计算。
但是,如果因为数据异常,某次新加入的值很大,求和的时候,就会引入截断误差,从而导致后续的sum值一致存在一个偏差(即当队列里面值都更新为0时,sum值依然为一个不可忽略的的小量)。
解决办法是把异常值过滤掉,或者改为直接求和计算。 -
FreeRTOS系统的任务调度时间精度
FreeRTOS系统进行任务调度的时间精度只能保证小于调度周期,调度周期一般是毫秒级。因此在FreeRTOS中执行定时调度任务时,如果要获取这个任务两次调度的精确间隔时间,是不能只由xTaskGetTickCount()系统函数返回值计算得到的(这是一个毫秒级的整数),需要结合stm32 的systemtick定时器得到微秒级精度间隔时间。
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@leslie 仔细看上面教程,你发的命令不是保存充电桩命令,同时浏览前人回复的帖子,检查里程计设置
-
RE: ROS中求解二次规划问题
@rockyren 非线性优化求解(包括二次规划类),可以用google的Ceres 库,http://ceres-solver.org/nnls_tutorial.html
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@kevin 上面launch没有remap那个里程计话题名字,{remap from=“/odom” to=“/xqserial_server/Odom” }改成{remap from=“/odom” to=“你的里程计话题名字” }
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@kevin launch里面的里程计话题有没有改成自己小车的里程计名字,还有slamdb文件夹创建一下,发布dockposition_save命令后看一下里面是否有一个txt文件dock_station.txt。
mkdir ~/slamdb
dock_station.txt文件里面第三行,存储了当前充电桩位置,这行三个数据依次为x、y、角度。
-
小强底盘驱动xqserial_server发布的IMU数据简介
最新版本的xqserial_server驱动包增加了IMU话题的发布功能,现在小强上电开机后,将以50hz的频率发布IMU话题数据。
话题名字是:/xqserial_server/IMU
话题所在frame_id: imu
imu到base_link的tf关系的设置参数在xqserial.launch文件里面
1.驱动包更新
roscd xqserial_server git stash git pull cd .. cd .. catkin_make
2.重启startup任务,现在可以使用/xqserial_server/IMU话题了
可以使用rostopic工具查看话题数据
还可以使用python脚本可视化话题数据rosrun xqserial_server visualization.py
-
小强ROS机器人教程(26)___使用奥比中光astrapro进行自主移动避障
奥比中光astrapro和kinect是兼容的,使用它来自主移动避障的教程也和kinect一样,区别是教程2.b、2.c步骤需要选择astrapro。
roslaunch astra_launch astrapro.launch
kinect避障教程:
https://community.bwbot.org/topic/115/小强ros机器人教程-10-___使用kinect进行自主移动避障 -
loam_velodyne使用速腾聚创16线激光雷达建图和计算激光雷达里程计
loam_velodyne 是业界比较有名的一个3d 激光雷达slam包,它不以常规的3d icp策略而以3d雷达点云特征点为主要匹配方式,结合IMU实现实时地计算高精度的6自由度激光雷达里程计,在此基础上再结合3d icp得到高精度地图点云数据。
1. 数据包准备
loam_velodyne包原始作者是针对vlp-16激光雷达设置的,我们测试发现它对其他平台的IMU数据兼容性不好,在下文的建图过程,我们只使用速腾聚创3d激光雷达输出的三维点云数据进行测试,不使用小强开发平台的IMU。
测试结果发现因为没有IMU,loam_velodyne对剧烈晃动、快速转向适应性差,为了得到好的结果,需要保证运动的平稳、匀速。同时雷达输出点云的速率提升到20HZ后,slam效果也有提高。20hz的设置需要使用windows配置软件设置。rosbag数据包的详细制作过程,请参考这篇教程: https://community.bwbot.org/topic/522/使用rosbag录制和回放3d激光雷达数据和小强ros开发平台的里程计imu数据
下文教程将以蓝鲸机器人录制的bag包为例,演示如何使用loam_velodyne包得到激光雷达里程计。bag包百度云下载地址2. 配置安装loam_velodyne
#需要安装到ros工作空间,以小强主机为例 cd ~/Documents/ros/src git clone https://github.com/BluewhaleRobot/loam_velodyne.git cd .. catkin_make
3. 启动loam_velodyne 开始建图
#先关闭小车的ros启动节点 #在小车主机上新开一个命令终端 sudo service startup stop roscore
#启动loam节点 #在小车主机上新开一个命令终端 roslaunch loam_velodyne xiaoqiang_lungu_off.launch
#播放bag数据 #在小车主机上新开一个命令终端 rosbag play -s 200 2018-08-11-13-20-34.bag #从200秒开始播放数据,这段数据比较好
-
谷歌cartographer使用速腾聚创3d激光雷达转二维数据进行2d建图
谷歌cartographer_ros请参考这篇安装教程:http://community.bwbot.org/topic/136/google激光雷达slam算法cartographer的安装及bag包demo测试
1. 数据包准备
本文建图将采用普通的2d 雷达数据,结合IMU和里程计数据进行2d建图。2d 雷达数据由速腾聚创3d激光雷达转换得到,其他数据由小强机器人底盘得到。
rosbag数据包的详细制作过程,请参考这篇教程: https://community.bwbot.org/topic/522/使用rosbag录制和回放3d激光雷达数据和小强ros开发平台的里程计imu数据
下文教程将以蓝鲸机器人录制的bag包为例,演示如何建立2d地图。bag包百度云下载地址2. 配置cartographer_ros
蓝鲸机器人github上的cartographer_ros已经配置好了所有文件,对于加装速腾聚创小强xq5开发平台采集的数据包,cartographer_ros需要使用的是下列文件,简略的说明在下文。cartographer_ros的详细文档可以参考官方wiki
cartographer_ros/launch/demo_xiaoqiang_rslidar_scan.launch #建图时启动的launch文件,负责启动rviz,加载cartographer_ros主要的启动节点和参数文件,话题数据名字的remap也在这个文件设定。 cartographer_ros/urdf/rslidar_2d.urd #模型文件,用来发布3d激光雷达、小车里程计、IMU、小车本体之间的tf关系 cartographer_ros/configuration_files/xiaoqiang_rslidar_scan.lua #cartographer_ros算法参数配置文件,优化建图效果需要调整的参数就是这个文件。
ros中坐标系的设置,请参考这篇教程,小强xq5平台的base_link原点设置在两个主动轮轴中间位置。
# cartographer_ros/configuration_files/xiaoqiang_rslidar_scan.lua文件里面设置是否使用imu、odom数据的参数是这两个: use_odometry = true #true使能里程计,false禁用里程计 TRAJECTORY_BUILDER_2D.use_imu_data = false #true使能IMU,false禁用IMU
# cartographer_ros)/urdf/rslidar_2d.urd文件需要调整的参数是3d雷达相对base_link的安装位置,laserbase_link等价于base_link <joint name="horizontal_laser_link_joint" type="fixed"> <parent link="laserbase_link" /> <child link="rslidar" /> <origin xyz="0 0 0.4" rpy="0 0 0" /> </joint>
3. 启动cartographer_ros,播放rosbag数据包,开始建图
#先关闭小车的ros启动节点 #在小车主机上新开一个命令终端 sudo service startup stop roscore
#启动cartographer #在小车主机上新开一个命令终端 roslaunch cartographer_ros demo_xiaoqiang_rslidar_scan.launch
#播放bag数据 #在小车主机上新开一个命令终端 rosbag play --clock 2018-08-11-13-20-34.bag
4. bag播放完成后,用map_server保存地图
rosrun map_server map_saver --occ 51 --free 49 -f work0
保存成功后,会在home目录里面生成work0.yaml work0.pgm两个地图文件,这两个文件可以用来amcl导航。