
ROS
文章平均质量分 68
Arnold-FY-Chen
On the way of AI spiritual practice...
展开
-
如何使用OpenGL画出ROS rviz那样的点云可视化效果
ROS rviz可以将点云以多种形式渲染出来比较漂亮,尤其是根据intensity渲染点云不同的色彩和亮度的功能比较好, 比PCL和mayavi等提供的可视化API画的点云效果好看多了,缺点是你想在既有rviz工具里对点云效果增加功能处理或渲染效果的话不得不去读rviz很多的代码后去做修改,如果一知半解就会改出问题来,如果自己实现用OpenGL画点云的代码,想怎么改都行,但是很难找得到有资料介绍rviz里点云的效果(主要是比较好看的rainbow)到底是怎么画出来的,于是花了些空余时间先琢磨用集成到Qt里的原创 2023-09-10 00:05:56 · 1105 阅读 · 7 评论 -
ROS2中如何从欧拉角转换成四元素
ROS1中使用from tf.transformations import quaternion_from_euler导入quaternion_from_euler()即可调用。而ROS2中默认没有安装,需要单独安装一下ros-galactic-tf-transformations(我使用的ROS2是galactic,根据版本名不同做相应修改即可)原创 2023-09-03 23:43:34 · 1761 阅读 · 0 评论 -
如何解决ROS安装过程中rosdep init和rosdep update报错误的问题
根本原因是执行这些步骤时需要连到raw.githubusercontent.com这个已经被墙掉的网站下载一些文件,网上推荐的解决办法一般是去修改/etc/resolve.conf或者/etc/hosts增加谷歌的服务器ip地址或githubusercontent.com的ip地址,这样做现在根本没用!执行到curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -时。原创 2023-07-16 23:57:17 · 1134 阅读 · 0 评论 -
如何在不生成新文件前提下合并两个rosbag
将两个rosbag文件合并到一个新的robag文件里是很容易的,open两个源文件时指定bagmode::BagMode::Read(或BagMode::Read),然后read,open保存合并结果的新文件时指定bagmode::BagMode::Write(BagMode::Write),不用多说,如果将两个bag合并将结果保存在其中一个bag里,或者读取一个bag中的数据输入模型进行推理,然后把识别结果写回到此bag中,这些操作处理的本质涉及到对同一bag文件的同时读写处理,该怎么做呢?原创 2023-01-08 22:41:43 · 1375 阅读 · 0 评论 -
python3运行rosbag需要安装的常用包
from Cryptodome.Cipher import AESModuleNotFoundError: No module named 'Cryptodome'安装pycryptodome还不行,得安装pycryptodomex才能解决。在docker里运行rosbag,安装ros后还不行,还得安装一些支持包。Failed to load Python extension for LZ4 support这个的错误的原因是python3下没有LZ4压缩算法包只有python2下原创 2022-12-31 17:55:54 · 3932 阅读 · 2 评论 -
我的AI之路(32)--Ubuntu下设置开机自启动ROS节点
至少有两种途径,一种是使用ROS提供的功能包,一种自然是借助Ubuntu自身的启动机制。 ROS提供了robot_upstart包http://wiki.ros.org/robot_upstart(源码:https://github.com/clearpathrobotics/robot_upstart)可以用来设置开机自启动程序(通过把ros launch文件安装到se...原创 2019-09-08 14:18:05 · 1392 阅读 · 0 评论 -
在jetson nano上安装ROS melodic
Jetson nano的镜像使用的是Ubuntu18.04 LTS (绰号Bionic),因此在jetson nano上安装ROS得选择Melodic版,但是因为jetson nano使用的是ARM64架构的芯片,不是X86-64的,而Melodic的ARM64版安装包在国内的清华、中科大等几个源上没有,只能连到国外的服务器上安装,如果你有翻越那伟大的墙的帐号(不明白为何要屏蔽技术类网址...原创 2019-09-07 23:44:39 · 4502 阅读 · 1 评论 -
我的AI之路(29)--使用Boost Asio和Rapidjson实现机器人与机器人后端系统之间的自定义协议的通讯
如果机器人与后端系统或其他系统之间根据实际情况需要使用自定义协议通讯,例如第三方系统使用的是自定义协议或者传输大文件之类的,那么多半需要回到使用TCP Socket编程,传输的数据既有二进制数据又有控制命令的文本数据时,直接使用C++的API进行网络编程和进行json格式数据的构建和解析的话需要费不少劲进行编码和调试,如果使用某种框架来进行开发就省事不少,Boost是使用较多的C++...原创 2019-06-09 01:59:29 · 1447 阅读 · 0 评论 -
我的AI之路(28)--基于ROSBridgeClient实现安卓App和ROS之间的通讯
有操作屏幕的机器人通常首选安卓系统作为屏幕UI应用的开发和运行环境,机器人的导航和运动等底盘控制则通常都是基于Linux+ROS实现的,跑安卓系统的板子通常俗称上位机,跑Linux+ROS的则叫下位机,为完成机器人的整体功能控制,上下位机之间是需要通讯的,另外如果有专门的特殊设备(比如执行和传输数据频繁的实时性要求高的设备,这样的设备通常都首选只支持Linux)跑起来如果比较耗资源,连...原创 2019-05-02 00:16:23 · 5803 阅读 · 12 评论 -
我的AI之路(27)--用C++实现机器人与机器人后端控制系统之间的双向通讯
前面说过,机器人和机器人后端管理系统之间通常要求频繁双向传输数据、尤其需要最好保持长连接的通讯需求,使用WebSocket连接是最好的选择,可以基于RosBridge来实现,但是RosBridge实现的是websocket server,对于要求机器人后端管理系统在系统启动时主动连接机器人的需求是比较合适的,对于反过来要求机器人启动时作为client主动连接机器人管理系统的这种更常见需...原创 2019-03-17 00:10:15 · 2864 阅读 · 2 评论 -
我的AI之路(26)--使用ROSBridge WebSocket和roslibjs构建一个简单的控制机器人的web demo
在一个复杂的机器人后端控制平台系统开发完成以前,往往需要对你的机器人产品进行简单的软件架构设计验证或进行控制测试,这时,如果能花比较少的时间快速做一个web页面或者一个Android app来作此用途的话能节省不少人力,本人花比较少的时间做了一个web demo和几个安卓app用于不同机器人的通讯和控制的验证和测试,先只说怎么做web demo,实现安卓app的思路跟基于Java EE开...原创 2019-02-09 16:07:02 · 10668 阅读 · 37 评论 -
我的AI之路(25)--ROSBridge:机器人与外部系统之间的通讯解决方案
关于ROS的书和网上讲ROS的文章已经很多,绝大多数都是人人亦云的泛泛的讲表面层次的ROS的各部分怎么运用到机器人的各部分功能上、怎么执行命令之类的,对入门当然有用,但缺乏深层次的代码分析或架构层次的结构分析或解决机器人产品某些具体需求的解决方案,对实际做产品/项目开发可借鉴的有限,所以不想再重复说前一方面的知识,而是结合本人参与开发机器人产品中积累的经验侧重讲讲后一方面的知识供分享与交...原创 2019-02-09 00:39:31 · 12652 阅读 · 16 评论 -
我的AI之路(24)--ROS环境安装
换了新工作后,近几个月来太忙了,每天连睡觉5小时的时间都没保证,所以根本没时间写博,2018年的最后一天,终于有点时间来写篇博文,打算写写ROS相关的东西,算是跨年纪念 :) 。 本来原计划沿着我原来的大致学习路线: AI框架工具环境的安装和使用-->AI所需的高等数学知识-->常用网络模型-->常用算法 这样的路线写下去的,但是因为新工作需要的原因,不得不暂停,先...原创 2019-01-01 00:14:53 · 1267 阅读 · 0 评论