• slam从入门到精通(稍复杂一点的运动控制)


    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

            ros本身只是提供了一个框架,上面对应客户需求,下面对应各个传感器,中间就是各个算法和决策措施。但是robot本身要真正动起来的话,还是需要底盘开发板来配合实施的。本身ros的底层输出只能到cmd_vel这一个层次。再深入的开发,比如说用pid来实现cmd_vel的效果,这个就需要在底盘开发板上用rtos+pid之类的控制算法来实现了。

            所以,在还没有自己的实体robot之前,完全可以用turtlesim来仿真测试一下,看下真实的效果是什么样的。

    1、测试方法

            测试方法其实很简单。主要过程有三个步骤,第一个步骤打开roscore;第二个步骤把小乌龟仿真界面打开,即rosrun turtlesim turtlesim_node;第三个步骤就是编写小乌龟的控制代码了。控制方法就是前面一章讲过的python编写方法。编写完了,用rosrun beginner_tutorials vel_cmd.py来执行即可。

    2、小乌龟前进的方法

    vel_msg.linear.x = 0.4

    3、小乌龟后退的方法

    vel_msg.linear.x = -0.4

    4、小乌龟上下侧移的方法

    1. vel_msg.linear.y = 0.4 或者是
    2. vel_msg.linear.y = -0.4

    5、小乌龟原地顺时针或者逆时针运动的方法

    1. vel_msg.angular.z = 0.4 或者
    2. vel_msg.angular.z = -0.4

    6、小乌龟画圈的办法

    1. vel_msg.linear.x = 0.4
    2. vel_msg.angular.z = 0.4

            画圈还是比较有意思的,效果是这样的,

    7、小乌龟画正方形的办法

            要想让让小乌龟画出正方向,主要是有两点需要考虑。第一,在掉头之前,需要保持小乌龟的前进速度;第二,就是计数到了之后,需要立马设置angular.z,并且设置完了之后,迅速恢复为0。为了便于大家学习,这里给出完整的python代码,

    1. #!/usr/bin/env python3
    2. import rospy
    3. from geometry_msgs.msg import Twist
    4. if __name__ == "__main__":
    5. rospy.init_node("vel_node")
    6. vel_pub = rospy.Publisher("/turtle1/cmd_vel", Twist, queue_size=10)
    7. vel_msg=Twist()
    8. vel_msg.linear.x = 0.4
    9. #vel_msg.angular.z = 0.4
    10. n = 0
    11. rate = rospy.Rate(2)
    12. while not rospy.is_shutdown():
    13. n +=1
    14. vel_msg.angular.z = 0;
    15. if n==20:
    16. n = 0
    17. vel_msg.angular.z = 1.57*2
    18. print(n)
    19. vel_pub.publish(vel_msg)
    20. rate.sleep()

            实际运行的时候,效果是这样的,

  • 相关阅读:
    你的领导也会有这3种特点吗?
    C/C++学习网址
    java基于springboot中小企业合同管理系统
    Java集合大总结——Map集合
    2022.9.1 SAP RFC
    【工具篇】Unity翻书效果的三种方式
    Android Jetpack Compose 用计时器demo理解Compose UI 更新的关键-------状态管理(State)
    计算机毕业设计Java无人售货机管理系统(源码+系统+mysql数据库+Lw文档)
    [零基础学习Vue2+webpack项目]的webpack对vue3进行编码打包的详解(2)
    Linux vi/vim
  • 原文地址:https://blog.csdn.net/feixiaoxing/article/details/133635796