ros

linux c++串口数据解码 ros

帅比萌擦擦* 提交于 2020-12-22 17:25:33
Linux串口编程主要流程 : 1、open打开串口设备,获取串口设备文件描述符(Linux一切都是文件)-->2、设置set波特率,初始化ini等-->3、对数据解码-->4、read()、write()操作文件描述符进行串口通信 在主函数中,初始化ros节点,启动,定义发布消息的名称。 构造函数,初始化接口名称以及波特率( 每秒钟传送的码元符号的个数 ),从而初始化这个类 while循环,只要节点在运行就接收和解码数据,并输出到topic中。 int main(int argc, char** argv) { ROS_INFO("[info] init begin"); ros::init(argc, argv, "virtual_serial"); //初始化节点 ros::NodeHandle n; //启动节点 ros::Publisher chatter_pub = n.advertise<gripper_send::rec_num_msgs>("gripper_send", 1000); //定义发布消息的名称及sulv ros::Rate loop_rate(50); //控制发布速度,与sleep配合使用,每0.02秒休息一次 DataGripper data_gripper(dev_name, 115200); //构造函数,看串口是否打开并初始化 while

Fail to find gtest inside a container

巧了我就是萌 提交于 2020-12-15 05:16:58
问题 I am working inside a container. I want to try gtest so first I installed it by doing this inside the container: Download the source file from github/google/googletest build the project by cmake CMakeLists.txt call make cd lib and cp * /usr/lib cd googlemock/include and cp -r gmock /usr/local/include cd googletest/include and cp -r gtest /usr/local/include After this I created a CMakeLists.txt file as cmake_minimum_required(VERSION 3.13) set(CMAKE_CXX_STANDARD 11) find_package(GTest REQUIRED)

Fail to find gtest inside a container

自作多情 提交于 2020-12-15 05:16:12
问题 I am working inside a container. I want to try gtest so first I installed it by doing this inside the container: Download the source file from github/google/googletest build the project by cmake CMakeLists.txt call make cd lib and cp * /usr/lib cd googlemock/include and cp -r gmock /usr/local/include cd googletest/include and cp -r gtest /usr/local/include After this I created a CMakeLists.txt file as cmake_minimum_required(VERSION 3.13) set(CMAKE_CXX_STANDARD 11) find_package(GTest REQUIRED)

Fail to find gtest inside a container

*爱你&永不变心* 提交于 2020-12-15 05:16:05
问题 I am working inside a container. I want to try gtest so first I installed it by doing this inside the container: Download the source file from github/google/googletest build the project by cmake CMakeLists.txt call make cd lib and cp * /usr/lib cd googlemock/include and cp -r gmock /usr/local/include cd googletest/include and cp -r gtest /usr/local/include After this I created a CMakeLists.txt file as cmake_minimum_required(VERSION 3.13) set(CMAKE_CXX_STANDARD 11) find_package(GTest REQUIRED)

ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法

混江龙づ霸主 提交于 2020-12-12 15:30:43
ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法 参考文章: (1)ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法 (2)https://www.cnblogs.com/JuiceCat/p/12000953.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437974/blog/4547909

ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法

那年仲夏 提交于 2020-12-12 06:58:56
安装 ROS时 sudo rosdep init指令报错: ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down. 解决(以下方法依次执行,一直到搞定: ( 1)之前曾经安装过 ROS 系统的某个版本,按照提示删除已经存在的初始化文件即可: sudo rm /etc/ros/rosdep/sources.list.d/20-default.list    ( 2) ca-certificates问题,证书不对,重新安装证书 sudo apt-get install ca-certificates    ( 3)系统时间同步问题,需要同步系统时间 sudo apt-get install ntpdate sudo ntpdate cn.pool.ntp.org sudo hwclock --systohc ( 4) ssl certs问题 sudo c_rehash /etc/ssl/certs sudo -E rosdep init    ( 5) python-rosdep问题 sudo apt-get

19、ROS 动态限速

喜你入骨 提交于 2020-12-09 07:39:42
一、简单队列的手动限速(比较繁琐:(白天和晚上需要手动切换))   1、添加100台主机,对白天上网进行限速      2、添加100台主机,对晚上上网进行限速    二、动态控制,使用计划任务,添加脚本实现动态切换      1、设置白天更换的时间及速率   System —— Sctipts —— 点击加号      System —— Scheduler —— 点击加号      2、设置晚上更换的时间及速率   System —— Sctipts —— 点击加号      System —— Scheduler —— 点击加号    来源: oschina 链接: https://my.oschina.net/u/4412752/blog/4040701

ROS动态ip端口映射

折月煮酒 提交于 2020-12-08 11:42:23
新建端口映射ip--firewall--nat 脚本动态跟新端口映射,system--script 新建一个计划,system--schedule 为了方便(我把所有的命名都命名为5000) 一、 1.建立端口映射,ip--firewall--nat,dst Address是我拨号获取的动态ip,comment标记为5000(随意命名) 2.To Address是内网的ip 二、 1.创建脚本动态更新端口映射,命名为5000,interval是时间 2.其中ken-test是我建立的动态拨号的名字,5000是端口映射的comment :global ipaddr [/ip address get [/ip address find interface= ken-test ] address] :set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)] :global oldip [/ip firewall nat get [/ip firewall nat find comment=" 5000 "] dst-address] :if ($ipaddr != $oldip) do={ :log info [/ip firewall nat set [/ip firewall nat find comment=" 5000 "] dst

V-rep 二级摆仿真

非 Y 不嫁゛ 提交于 2020-12-06 03:06:10
这里致敬作者的V-rep启蒙大师, 冬木远景 。这里还有很多不懂得,有待后期修改。 开始,我们拿solidworks画几个简单零件。主要是两个连杆。上面的是这样的。有一个限位的小块。 下面的连杆就是普通的杆子,上面圆头防止干涉。 在将两个图纸输出成URDF文件,有疑问可以参考之前的 ROS入门(二) Solideworks生成URDF 并导入rviz 。 我们首先要建立一个平面,并且把它设为不可见,它是一个支撑点。在scene中右键,添加(add),初级形状(primitive shape),平面(plan) 添加好了之后,双击前面 标志,进入属性页面。在这里可以修改模型大小形状,颜色贴图等等。 忘记说了,保存URDF时候注意修改中心,质量矩阵和质量。 我们在adjust color中修改透明度,并且点掉show edges with angle。这样plan就彻底隐藏了。 之后再Plan下面创建一个joint,要用旋转轴revolution。 下面就是要导入URDF文件,最后配置Hierachy中应该如下。 注意,倒入的urdf要把body dynamic和 respondable点开。 最后,配置好,组装完成应该如下。 最后,点击运行。红色的是最上面的关节的角度,很明显是正弦波,绿色是二级摆相对上一个摆的相对角度。 好啦,简单的记录仿真过程。 参考 冬木远景 部分内容。 来源:

ROS2机器人笔记20-11-29

耗尽温柔 提交于 2020-12-01 13:20:01
turtlebot的文档是目前ROS1和ROS2机器人中做得最好最完善的并且还有免费的多语书。 ROS机器人编程新书推荐(附免费下载) 现在文档已经是这样了: 首先支持版本多,覆盖linux和windows,版本涵盖ros1和ros2,均为长期支持版,其实melodic也是完美支持的,这里发现标签中并没有。 以windows为例:在此更新的手册中,说明比以前的手册容易得多,并且操作起来也更简单。 新功能之一是通过在页面顶部选择特定的ROS版本来支持ROS1和ROS2的各种版本(其他版本或平台将很快添加)。 可以看到物联网版本的win10操作系统的雏形!!! 当然中文支持也挺好的(机器翻译!) 以前的手册中涉及的文本阅读过多,但是在此版本中,所有内容都变得紧凑,只公开了必要的信息。 如果想了解有关特定信息的更多内容,只需单击主题即可展开或缩小。 这里关于ROS有个话题如下,有兴趣可以参考: ROS1已经非常成熟,并将在2025年完成使命,ROS2将在2022年推出第一个5年版本的LTS长期支持版,现在的长期支持版都是3年(Dashing和Foxy),功能还在测试和快速迭代中! ROS机器人操作系统研发成熟的标志是什么呢?( www.zhihu.com/question/390894125 ) 目前,博客教程主要围绕ROS2 Foxy版本开发,其他版本全部停止维护