目前观察到cyberdog项目的更新进度是每周五合入并上传代码到github,在10月1之前并没有什么大的更新,在本周五(2021/10/15)合入了大改动的commit,其中主要就是cyberdog_remote功能包,这个功能包使得铁蛋可以使用手柄进行控制。 在前面的测评文章中说到小米官方在APP中是提供了手柄接入的功能,但是估计是会出一款官方手柄进行主要支持,其实在铁蛋中就已经存在一个名为j
内容列表 一,开箱 二,查看生产环境 三,手机连接铁蛋 四,二次开发 1,寻找相关资料 2,尝试手动搭建开发环境 3,在铁蛋本体上进行二次开发教程 4,二次开发环境搭建总结 五,不足与缺陷 六,未来二次开发方向 拆开快递箱,映入眼帘是一个行李箱,拆开行李箱后取出铁蛋: 一,开箱 行李箱+铁蛋 铁蛋+配件: 包含一个充电器,一根typec数据线,四个备用脚垫,铁蛋的专属铭牌 二,查
前言 在ROS librviz 人机交互软件开发系列教程中我们实现了Ubuntu端的界面开发。但是很多小伙伴问到能不能在Windows上进行开发,当时回复是不能,主要就是库的依赖问题难解决。但是我想了想ROS是有windows版本的,并且也能运行rviz之类的,既然rviz都可以在windows上运行,就说明是有库可以支持的。于是本人又进行了一番探索与总结. 本篇教程主要是介绍ROS Wind
在前面几篇教程中我们已经实现了订阅map话题,这篇我们主要就是实现rviz中的设置目标点和初始点的功能。 其实核心代码也就两三句,但是目前网上关于librviz的资料少之又少,连官方都没有api说明,只有最简单的一个demo。我也没找到实现类似功能的开源项目,于是我只能通过读rviz的源代码,找出了相关api,读了rviz的源代码不得不说rviz是如此强大。 现在分享出来供大家参考~~文章
一,实现效果: 二,核心代码 如果按照本人前几篇博客的话进程的话,就很容易实现这个功能了,主要就是用manager添加一个display:核心代码: //显示激光雷达 void QRviz::Display_LaserScan(bool enable,QString topic) { if(laser_==NULL) { laser_=manager_->createDisplay(
一,实现效果 二,核心代码 主要就是这么几句: //添加map displaymap_=manager_->createDisplay("rviz/Map","QMap",true);ROS_ASSERT(map_);//设置display的话题属性map_->subProp("Topic")->setValue(topic);//设置display的透明度map_->s
一,实现效果 实现效果: 二,核心代码 创建librviz界面类:qrviz_widget.h #ifndef QRVIZ_WIDGET_H#define QRVIZ_WIDGET_H #include <QWidget>#include <rviz/visualization_manager.h>#include <rviz/render_panel.h>#
我这里主要就是参考teleop_twist_keyboard项目的源代码,移植到自己程序 一,首先在ui界面添加按钮(注意按钮上显示的文字): 同时在ui界面设置每个按钮的shortcut(热键),就能实现键盘控制: 二,关联这些按钮的点击事件到同一槽函数 //绑定速度控制按钮 connect(ui.pushButton_i,SIGNAL(clicked()),this,SLOT(
一,实现效果: 原理主要就是订阅机器人的odom话题,然后利用信号与槽更新ui仪表盘控件的信息 二,制作仪表盘控件 由于qt标准控件没有仪表盘,因此我们需要自己手动绘制,可以直接使用这个绘制类文件: CCtrlDashBoard.h #ifndef CCTRLDASHBOARD_H #define CCTRLDASHBOARD_H #include <QWidget> class
文章目录 一,首先安装ros对qt pkg的支持 二,安装qtcreator 三,配置qtcreator 四,更改功能包main_window.hpp 五,运行可执行文件 本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅: ROS Qt开发环境搭建以及基础知识介绍 ROS人机交互软件的界面开发 ROS Rviz组件开发方法 完整项目代码: github 一,首先安装ros对qt
"没有看到可执行文件及其标识" 这个看着像是你打开的是工作空间下的CMakelist。正确的做法应该是打开ros2_qt_demo目录下的cmakelist
因为cmake项目并不是qtcreator原生项目,所以兼任性有点问题,这里添加新文件有两种方法:1,可执行程序名->右键->add New2,qtcreator左上角->文件->添加新文件注意添加新文件后qtcreator默认将文件放在项目根目录,需要手动放到对应目录(同时根目录的文件要删除,否则会影响项目运行),.h文件放到include目录.cpp文件放到src目录.qrc文件放到resource目录
应该就是没找到ros的环境变量导致的。你的sh脚本里的source ~/.bashrc改成source /opt/ros2/版本号/setup.bash(直接source ros的环境变量试试)
如果dll动态库也拷贝过去的话还是不行,则可能是像librviz一样存在问题,不能进行打包发布,目前我这边还没找到合适的方法,之前有部分小伙伴说需要把ros的python环境也进行打包才行,这个我没进行尝试,可以试一下
build目录删除 重新构建试下
这两个包并不需要必须安装,在cmakelist中将这两个依赖移除出去即可
安装下image_transport库 可以用命令安装sudo apt-get install ros-melodic-image-transport
mainwindows.cpp里面有个readSetting函数注释下,程序把窗口状态进行缓存了
先将自己安装的qtcreator的库添加到环境变量sudo gedit ~/.bashrc 添加如下(注意将QT_VERSION改为自己实际版本,我这里版本为5.9.9,并且需要确保安装Qt时安装路径没有更改,即默认放在home目录下):# QT export QT_VERSION=5.9.9 export QTDIR=~/Qt$QT_VERSION/$QT_VERSION/gcc_64 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH # export PATH=$PATH:$QTDIR/bin::$QTDIR/plugins/platforms export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$QTDIR:$QTDIR/lib/cmake export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/platforms/然后即可在cmakelist中导入qchart库:... # include other modules above find_package(Qt5Charts) . . . add_executable(myapp main.cpp) # Use the Widgets and Charts modules from Qt 5. target_link_libraries(myapp Qt5::Widgets Qt5::Charts)
小米官方提供的有用python GRPC控制铁蛋的demo:https://github.com/Karlsx/CyberDog_Ctrl
由于使用qt打开的ros项目不是原生qt项目,使用release模式不会生成对应的可执行程序,这里建议在对应工作空间下使用ros的catkin_make install 命令生成release版本,执行完成后会在工作空间下生成install目录,在对应目录寻找可执行程序即可
qt_build包在实际软件编译时不会被用到,直接在cmakelist中删除掉即可
在向项目中添加仪表盘的.h文件时,需要更改功能包的CmakeList.txt的如下一行:file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/class1_ros_qt_demo/*.hpp *.h) 添加上*.h,否者在编译时不会自动将.h文件添加到项目中,而导致编译错误
理论上是可行的,主要就是动态库的问题,因为程序依赖的某些动态库是放在系统环境变量中的,所以在win10进行打包时可能没有将系统自带的动态库进行打包,程序在win10也可正常运行。由于win7可能会缺少win10部分不具备的动态库,运行时可能会报动态库缺失,解决办法也很简单,找到缺失的动态库,放在exe程序的同级目录进行打包
可能是qtcreator相关的插件没有找到,点continue应该也是不影响使用的
库冲突了,可以把这个环境变量取消配置
cmakelist添加C++11支持,对应课程评论区有回复
参考古月学院的《如何实现ros windows人机交互软件》教程,里面有讲到
需配置多机通讯环境
课程中讲到了,就是编辑/usr/bin/qtcreator文件
提供图形化界面,像rviz就是用qt写的
工程目录只要cmakelist按照我的去写的话,应该是完整的,添加文件需要从左上角->文件->新建 去添加,添加后由于不是原生qt项目,添加后的文件会在项目根目录,cpp文件放在src目录下,.h/.hpp文件放在include目录下,ui放在ui目录下,资源文件放在resources
添加新文件需要放到对应的目录下,并且使用qtcreator创建的一些类文件是不会被放到对应的src和include目录下,仪表盘文件添加报错建议仔细查看课程中是怎么操作的
由于ubuntu18.04默认不使用c++11,需要在功能包的CMakeList添加如下一句:set(CMAKE_CXX_FLAGS “-std=c++11 ${CMAKE_CXX_FLAGS}“)
工作空间未添加到环境变量
直接使用catkin_make编译也会报这个错吗?看着像是cmakelist的原因
可以不使用ctkin_create_qt_pkg创建qt模板包,可以使用我这个github项目(已经创建了qt模板包和cmakelist)直接编译即可:https://github.com/chengyangkj/ros_qt_demo
积分
粉丝
勋章
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信