@rockyren 非线性优化求解(包括二次规划类),可以用google的Ceres 库,http://ceres-solver.org/nnls_tutorial.html
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
xiaoqiang 发布的最佳帖子
-
RE: ROS中求解二次规划问题
-
jetson nano fcitx中文输入法 没有提示框和提示框字体太小的解决办法
没有提示框,需要卸载一个包。
sudo apt remove fcitx-module-kimpanel
提示框字体太小看不清,skin选择classic,同时调整字体大小
-
使用rosbag录制和回放3d激光雷达数据和小强ROS开发平台的里程计IMU数据
用激光雷达进行大范围建图时,为了方便调整建图算法的参数,可以先录制数据包,然后离线回放数据包方式建图。安装有速腾聚创3d激光雷达的小强xq5开发平台,能同时输出3d雷达点云、2d雷达点云、IMU、里程计、图像等数据,结合小车主机配置的高速、高容量固态硬盘,可以录制高质量的数据包,满足各种场景的3d、2d建图。
1.安装无线路由,架设随车wifi网络
小车底盘的“kinect供电”dc头,是通用的直流12v输出电源,可以用来给常用的9V、12V无线路由供电。在小车上固定一个无线路由,我们就可以架设一个随车移动的wifi网络。利用这个wifi网络,我们可以远程控制录制过程和遥控小车移动。
2.在windows笔记本上安装小强开发平台的《伽利略导航客户端安装程序》和ssh客户端
伽利略导航客户端用来方便的遥控小强开发平台,ssh客户端则用于ssh登录小车主机,ssh客户端可以用putty。
3.启动3d激光雷达的ros驱动和pointcloud_to_laserscan包,2020年之后购买的小强设备不需要自己启动请跳过本步骤。
使用wifi网络,在windows笔记本电脑上ssh登录小车主机。小车的IMU、里程计、图像等数据默认是开机自动启动的。
#新开一个ssh连接启动ros驱动 ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址 #如果是小强xq5轮毂电机版本,请启动这个launch文件 roslaunch rslidar_pointcloud xiaoqiang_lungu.launch #如果是小强xq4-pro普通电机版本,请启动这个launch文件 roslaunch rslidar_pointcloud xiaoqiang_pro.launch #如果是北科天绘3d激光雷达,请启动下面这个launch文件 roslaunch rfans_driver xiaoqiang_lungu.launch
#新开一个ssh连接启动pointcloud_to_laserscan包 ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址 roslaunch pointcloud_to_laserscan xiaoqiang_rslidar.launch
4.开始录制数据
#新开一个ssh连接启动rosbag录制线程 ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址 rosbag record /rslidar/scan /rslidar_points /xqserial_server/IMU /xqserial_server/Odom
rosbag的使用方法,[请参考wiki](http://wiki.ros.org/rosbag/Commandline) /rslidar/scan 对应雷达的2d数据 /rslidar_points 对应雷达的3d数据 /xqserial_server/IMU 对应小车的IMU数据 /xqserial_server/Odom 小车的底盘里程计
5.使用windows伽利略导航客户端,遥控小车对待建图场景进行扫描。完成后,手动关闭rosbag录制线程
小车的遥控移动轨迹,最好要有多个闭合回路,因为现在的激光雷达slam算法通常都可以使用回环检测技术进一步消除误差。
ctrl+c关闭rosbag录制线程后,在小车home目录会自动生成一个2018-xxx-xxx.bag文件,这个文件就是录制的数据包。
6.用rosbag回放录制的数据包
#先关闭小车上启动的所有的ros驱动节点,因为回放数据包发布的传感器数据会和小车当前数据冲突,因此需要关闭现有的ros驱动节点 #在小车主机上新开一个命令终端 sudo service startup stop roscore
#用rosbag回放数据包 #在小车主机上新开一个命令终端 sudo service startup stop rosbag play 2018-08-11-13-20-34.bag #请将 2018-08-11-13-20-34.bag替换成实际bag包名字
一切正常的话,数据包里录制的话题数据就已经在ros中发布了,可以使用rostopic工具查看,也可以用rviz订阅。
还可以使用rqt_bag可视化工具打开bag数据包,rqt_bag可以方便的浏览、可视化bag包内容。 -
RE: GPS在ROS中的测试和使用
如果运行gpsd时出现, 这种错误 can’t bind to IPV4 port gpsd,Address already in use。可能是因为后台在执行gpsd这个服务,把它关闭掉再尝试运行。
sudo service gpsd stop gpsd -D 5 -n -N -b /dev/bwgps
xiaoqiang 发布的最新帖子
-
ubuntu中用udev规则绑定usb串口和映射别称的办法
1、为什么要把usb串口号映射绑定到usb口
usb转串口设备是常用的外设,用来扩展主机的串口功能。在实操过程中,一个机器人底盘往往会外接多个usb转串口设备,如果不对这些串口设备利用udev规则加以区分,则每次系统上电时这些串口设备的设备号是随机分配的。比如超声波模块的串口第一次开机分配成ttyUSB0, 自动充电模块串口则分配了ttyUSB1这个串口号,然后你重新断电开机后会发现ttyUSB1竟然被系统分配给了超生波模块的串口号,导致超生波和充电模块的ros驱动都工作异常。
解决办法就是把usb口和串口设备进行绑定,同时给这个串口设备映射一个新的名字,比如第一个usb口和超声波串口进行绑定,绑定后超声波串口映射成一个新的名字bwSensors,超生波
的ros驱动程序通过新名字bwSensors对串口进行操作,这样无论系统如何断电重启,都不会串台了。因为usb口的系统编号在关机重启后不会变化,绑定了usb口也就等价获取了静态分配的串口号。2、如何把usb串口设备绑定到usb口同时映射一个新名字
2.1确定要绑定的usb口在系统中的名字
#执行下列指令 dmesg --follow
将usb串口设备插在你要绑定的usb口上,观察上面指令的输出信息,确定系统这次分配的串口号是什么,一般是ttyUSB0、ttyUSB1之类,如下图中attached to ttyUSB1表示给新插入的设备分配了ttyUSB1这个编号。
再通过系统分配的串口号确定当前usb口的编号,下列指令输出信息中找到下图蓝色方框所在位置,红色方框内的2-2.3:1.0就是我们要获取的信息。#ttyUSB1要换成你上面实际获取的串口号 udevadm info /dev/ttyUSB1
2.2建立udev规则文件
在/etc/udev/rules.d/路径下新建95-persistent-serial.rules,如果文件之前存在,不用新建直接修改内容。
sudo nano /etc/udev/rules.d/95-persistent-serial.rules
文件内容如下
ACTION!="add", GOTO="persistent_serial_end" SUBSYSTEM!="tty", GOTO="persistent_serial_end" KERNEL!="ttyUSB[0-9]*", GOTO="persistent_serial_end" KERNELS=="2-2.3:1.0" ,SYMLINK="bwSensors" ,OWNER="xiaoqiang", MODE="0666" KERNELS=="2-2.4:1.0" ,SYMLINK="bwIMU" ,OWNER="xiaoqiang", MODE="0666" LABEL="persistent_serial_end"
KERNELS==“2-2.3:1.0” 中的"2-2.3:1.0"换成上面获取的usb口信息。
SYMLINK=“bwSensors” 中的"bwSensors"就是我们要设置的别称,你可以修改成自己想要的名字。
OWNER="xiaoqiang"中的"xiaoqiang"是系统当前用户名,要改成你自己的用户名。上面实列是把2-2.3:1.0这个usb口上的usb转串口设备绑定映射成bwSensors,把2-2.4:1.0这个usb口上的usb转串口设备绑定映射成bwIMU, 一行代表一个端口的映射,理论上几十个usb转串口设备都可以通过这种方式进行绑定区分,你只要添加对应内容就行。
Ctrl + s保存后, Ctrl + x退出。
2.3主机重启生效
重启后用ls /dev指令,一切正常的话会看到自己映射成功的设备号
ls /dev
-
RE: ps4手柄ros驱动安装和蓝牙配对教程
@cuiliyun ps4手柄有多款山寨版本,有些版本就会能蓝牙配对但是无法使用ros。包装盒有大小两款,小盒子的一般是用不了的垃圾,大盒子能用的概率比较大,原厂原装的最好。
-
RE: google激光雷达slam算法Cartographer的安装及bag包demo测试
@蓝胖子 没找到对应的launch文件,检查ros包launch文件夹内是否有这些launch文件,同时检查是否source了ros工作空间
-
RE: 小强ROS机器人教程(27)___bw_auto_dock自动充电功能包的使用和实现原理
@dennis odom_combined的话题类型需要是标准的里程计话题,不能是其它类型话题
-
RE: 二维码自动充电,无法保存dockposition
@yanyan http://community.bwbot.org/topic/16596/二维码自动充电无法保存dockposition问题/34
-
RE: Odom drifting heavily
@loto https://community.bwbot.org/topic/612/recalibrate-the-chassis-imu