创建工作空间及小乌龟运动

发布时间:2024年01月11日

创建ros源码包前先创建一个工作空间,使用ubuntu的命令mkdir创建一个目录:每一个工作空间tmp_ws中都有一个src目录

mkdir -p tmp_ws/src

然后,切换到创建的ros的工作空间中去

cd tmp_ws/src

通过catkin_create_pkg方式创建包:catkin_create_pkg + 包名字(自己定义) + 依赖项(用python语言:rospy) + 通信消息(控制小乌龟运动)

catkin_create_pkg test00_turtle rospy geometry_msgs

?可以在Home中看一下刚创建的工作空间

?虽然创建了rospackage,但里面什么也没有,可以通过如下命令修改一下bashrc

gedit .bashrc

运行进入bashrc,在bashrc中加入一行,让系统找到ros的工作目录:

source ~/tmp_ws/devel/setup.bash

根据自己创建的工作空间名(我这里是tmp_ws)进行添加,如下

改后记得右上角保存"Save"

此时还没有编译我们的工作空间,所以tmp_ws中只有src文件

进入工作空间tmp_ws,编译一下:

cd tmp_ws/

catkin_make能把所有的源码和工作空间编译一下

在编译的过程中,tmp_ws中生成了两个文件:build 、devel

下面通过写一个节点看一下程序是如何运行的

输入roscore,所有的其他节点都要向roscore做注册、汇报

roscore

开一个新界面,接下来运行一个经典的turtlesim的例子?

1、安装turtlesim的软件包

sudo apt install ros-noetic-turtlesim

其他的包也能通过这种方式安装,ros+版本号+包名

2、启动软件包中的节点

通过rosrun命令启动软件包中的节点(一个小乌龟):rosrun+包名+所调用的包内函数名

rosrun turtlesim turtlesim_node

3、通过rostopic list详细了解小乌龟

rostopic list

可通过rostopic info +小乌龟属性名(如rostopic info /turtle1/pose)看一下小乌龟的详细属性数据

最后,写一段代码程序实现控制小乌龟的运动

1、切换到软件包中

cd tmp_ws/src/test00_turtle/scripts/

通过touch命令创建一个test00.py的文件,可通过vim或记事本编写代码程序,这里我使用vim

2、进入编写代码程序

import rospy
from geometry_msgs.msg import Twist

rospy.init_node('test_turtle')
pub = rospy.Publisher('/turtle1/cmd_vel', Twist, queue_size=1)
cmd = Twist()
cmd.linear.y = 0.1
#cmd.angular.z = 0.5
while not rospy.is_shutdown():
    pub.publish(cmd)
    rospy.sleep(0.1)

3、保存并退出

先按esc键,然后键入冒号:(会在左下角显示),最后在冒号后面输入wq(意思是保存并退出),按回车键即可

4、运行程序

如果输入python运行报错,如下

可以试试输入python3

可以发现小乌龟沿着y轴运动

也可以通过rosrun运行,但它要求test00.py有可执行权限

文章来源:https://blog.csdn.net/weixin_53148422/article/details/135457737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。