首页 > 其他分享 >【ROS2机器人入门到实战】目标速度控制-运动学逆解

【ROS2机器人入门到实战】目标速度控制-运动学逆解

时间:2023-09-07 15:35:12浏览次数:43  
标签:代码 机器人 运动学 逆解 commit speed ROS2


13.目标速度控制-运动学逆解

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

你好,我是小鱼。上一节我们推导并在代码中实现了运动学正解,本节我们来学习下运动学逆解,实现给定线速度和角速度,计算出轮子达到怎样的转速才能达到这个速度。






机器人目标线速度

运动学逆解

机器人目标角速度

左轮目标速度

右轮目标速度


一、逆解推导

我们直接用正解结果进行求逆解即可。
【ROS2机器人入门到实战】目标速度控制-运动学逆解_机器人
所以有
【ROS2机器人入门到实战】目标速度控制-运动学逆解_目标速度控制_02

二、编写代码

继续在上一节中的代码Kinematics.cpp中完善即可。

void Kinematics::kinematic_inverse(float linear_speed, float angular_speed, float &out_wheel1_speed, float &out_wheel2_speed)
{
    out_wheel1_speed =
        linear_speed - (angular_speed * wheel_distance_) / 2.0;
    out_wheel2_speed =
        linear_speed + (angular_speed * wheel_distance_) / 2.0;
}

三、下载测试

下载代码,运行agent,点击RST按键。

sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6

【ROS2机器人入门到实战】目标速度控制-运动学逆解_git_03

看到连接建立表示通信成功,接着用ros2 topic list

ros2 topic list

【ROS2机器人入门到实战】目标速度控制-运动学逆解_运动学逆解_04

看到/cmd_vel表示正常,接着我们使用teleop_twist_keyboard进行键盘控制

ros2 run teleop_twist_keyboard teleop_twist_keyboard

先调整下速度,降低到0.05左右(50cm/s),然后使用i\j\j\k,测试。

四、总结

没啥好说的,记得提交下代码

git commit -m "feat(13.13):完成运动学逆解"

代码提交也是有规范的,我们一起来学习下:https://fishros.org.cn/forum/topic/390

我们采用用的比较多的Angular 规范

git commit -m "<type>(<scope>): <subject>"

其中 type(必选)、scope(可选)和 subject(必选)

Type

  • feat:新功能(feature)。
  • fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
  • docs:文档(documentation)。
  • style:格式(不影响代码运行的变动)。
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
  • perf:优化相关,比如提升性能、体验。
  • test:增加测试。
  • chore:构建过程或辅助工具的变动。
  • revert:回滚到上一个版本。
  • merge:代码合并。
  • sync:同步主线或分支的Bug。

scope(可选)

scope用于说明 commit 影响的范围,比如电机控制层、通信层等等,视项目不同而不同。

例如在FishBot嵌入式中,可以是motors,uart等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必选)

subject是commit目的的简短描述,不超过50个字符。

结尾不加句号或其他标点符号。

举个例子
小鱼给FishBot增加了oled支持

git commit -m "feat(13.13):完成运动学逆解"


标签:代码,机器人,运动学,逆解,commit,speed,ROS2
From: https://blog.51cto.com/u_15473553/7397644

相关文章

  • 【ROS2机器人入门到实战】FishBot控制系统搭建
    第16章FishBot控制系统搭建写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香肉丝的小鱼。本章我们将学习......
  • 【ROS2机器人入门到实战】可视化点云-雷达消息合成
    5.可视化点云-雷达消息合成写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。上一节完成了指定角......
  • 【ROS2机器人入门到实战】舵机+超声波循环扫描
    4.舵机+超声波循环扫描写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。本节我们尝试将超声波的......
  • 【ROS2机器人入门到实战】简易雷达原理介绍
    1.简易雷达原理介绍写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。在正式开始制作我们的简易......
  • 【ROS2机器人入门到实战】控制舵机学会使用执行器
    3.控制舵机学会使用执行器写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。本节我们尝试使用第......
  • 【ROS2机器人入门到实战】ROS2硬件实战(自制简易雷达)
    第15章ROS2硬件实战(自制简易雷达)写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是小鱼。本章是ROS2硬件实战教程......
  • 【ROS2机器人入门到实战】榨干性能-使用双核运行MicroROS
    4.榨干性能-使用双核运行MicroROS写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。在硬件篇开始......
  • 【ROS2机器人入门到实战】做个时钟-系统时间同步
    2.做个时钟-系统时间同步写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。在机器人系统中,时间同......
  • 【ROS2机器人入门到实战】控制OLED-自定义消息接口
    1.控制OLED-自定义消息接口写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。前面章节中我们使用......
  • 【ROS2机器人入门到实战】MicroROS-服务通信服务端实现
    3.MicroROS-服务通信服务端实现写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn一、新建工程添加依赖新建example13_microro......