- 博客(9)
- 收藏
- 关注
原创 stm32的printf自带16进制转换,会出现两次转换导致乱码
在stm32上对printf进行重定向后,打印16进制,串口调试助手会出现数值多进行一次16进制转换,使用用USART_SendData()就不会存在乱码情况。
2022-11-12 18:20:22
617
1
原创 机器人系统仿真学习
机器人操作系统学习、开发与测试过程中,会遇到诸多问题,比如:场景1:机器人一般价格不菲,学习ROS要购买一台机器人吗?场景2:机器人与之交互的外界环境具有多样性,如何实现复杂的环境设计?场景3:测试时,直接将未经验证的程序部署到实体机器人运行,安全吗?...在诸如此类的场景中,ROS中的仿真就显得尤为重要了。1.概念是通过计算机对实体机器人系统进行模拟的技术,在 ROS 中,仿真实现涉及的内容主要有三:对机器人建模(URDF)、创建仿真环境(Gazebo)以及感知环境(Rviz)等系统性实现。
2022-10-19 18:01:46
841
原创 ROS通信机制进阶学习
ros::spin() 是进入了循环执行回调函数,而 ros::spinOnce() 只会执行一次回调函数(没有循环),在 ros::spin() 后的语句不会执行到,而 ros::spinOnce() 后的语句可以执行。在ROS程序中,频繁的使用了 ros::spin() 和 ros::spinOnce() 两个回旋函数,可以用于处理回调函数。ROS中时间相关的API是极其常用,比如:获取当前时刻、持续时间的设置、执行频率、休眠、定时器...都与时间相关。3.持续时间与时刻运算。3.持续时间与时刻运算。
2022-10-17 16:59:46
570
原创 ROS通讯机制学习
发布订阅模式,也即:一个节点发布消息,另一个节点订阅该消息。master建立订阅者listener和发布者talker的连接 注意1:上述实现流程中,前五步使用的 RPC协议,最后两步使用的是 TCP 协议注意2: Talker 与 Listener 的启动无先后顺序要求注意3: Talker 与 Listener 都可以有多个注意4: Talker 与 Listener 连接建立后,不再需要 ROS Master。也即,即便关闭ROS Master,Talker 与 Listener 照常通信在模型实现中
2022-10-15 01:04:59
763
原创 自主移动机器人技术
上述命令,会在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中roscpp是使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。/usr/bin/env python 但是会抛出异常 : /usr/bin/env: “python”: 没有那个文件或目录。则在主目录 .bashrc文件添加source /home/zyf/工作空间名/devel/setup.bash。
2022-10-14 00:32:54
382
原创 MATLAB学习——MATLAB矩阵处理
稀疏存储方式只存储矩阵的非零元素的值及其位置,即行号和列号。注意,当参与运算的数据对象不全是稀疏存储矩阵时,所得结果是完全存储形式。矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。和n维非零列向量x,使得等式Ax=设A是n阶方阵,如果存在常数。为A的特征值,x是对应特征值。rat 有理数输出格式。矩阵特征值的数学定义。
2022-10-11 21:48:56
444
原创 MATLAB学习——MATLAB基础知识
浮点型数据分为单精度型和双精度类型,单精度型实数在内存中占用4个字节,而双精度型实数在内存中占用8个字节,所以双精度型的数据精度更高。linspace产生行向量 linspace(a,b,n) 对应(第一个元素,最后一个元素,总数) n省略则为100。MATLAB搜索顺序为 变量>内部函数>程序文件 这意味着,同名的变量相对于内部函数会优先,所以尽量不要同名。(2)利用已建好的矩阵建立更大的矩阵:一个大矩阵可以由已经建立好的小矩阵拼接而成。如果是以角度为单位的函数就在函数名后面加“d”,以示区别。
2022-10-11 21:44:30
1289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人