ROS用python来实现时间、随机数
- categories
在ROS用python来实现时间、随机数
创建一个名为ros_one的目录,并在其中创建一个名为src的子目录。-p参数确保如果目录已存在,不会报错
mkdir -p ~/ros_one/src
切换当前工作目录到~/ros_one/src
cd ~/ros_one/src
在当前目录/ros_one/src 初始化一个新的catkin工作空间。这个命令会在/ros_one目录下创建一个.catkin_workspace文件。
catkin_init_workspace
切换当前工作目录到~/ros_one,即catkin工作空间的根目录。
cd ~/ros_one/
编译catkin工作空间中的源代码。这个命令会查找所有在src目录下的包,并编译它们。
catkin_make
将命令source ~/ros_one/devel/setup.bash追加到用户的.bashrc文件中。这样每次打开新的终端时,都会自动设置ROS环境变量。
echo "source ~/ros_one/devel/setup.bash" >> ~/.bashrc
重新加载.bashrc文件,确保刚才添加的环境变量设置生效
source ~/.bashrc
再次切换当前工作目录到~/ros_one/src。
cd ~/ros_one/src
创建一个新的ROS包,名为hello,并指定它依赖于std_msgs、rospy和roscpp这些包。
catkin_create_pkg hello std_msgs rospy roscpp
切换当前工作目录到~/ros_one。
cd ~/ros_one
再次运行catkin_make以编译工作空间中的包。
catkin_make
切换到hello包的目录。
cd src/hello
在hello包的目录下创建一个名为scripts的文件夹,通常用于存放可执行脚本。
mkdir scripts
这两行是Python脚本的标准开头。第一行指定了脚本的解释器路径,第二行指定了脚本的编码格式。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
导入必要的Python模块。
import rospy
from datetime import datetime
import random
定义一个函数lu,用于获取当前时间并打印。
def lu():
a = datetime.now()
rospy.loginfo(f"当前时间是:{a.strftime('%Y-%m-%d %H:%M:%S')}")
定义一个函数l,用于生成并打印一个在s和b之间的随机数
def l(s, b):
fd = random.randint(s, b)
rospy.loginfo(f"生成的随机数字是:{fd}")
当脚本作为主程序运行时,执行以下操作:初始化ROS节点,打印”Hello World!!!”,调用lu函数打印当前时间,打印一个固定字符串,调用l函数生成并打印一个1到50之间的随机数。
if __name__ == "__main__":
rospy.init_node("Hello")
rospy.loginfo("Hello World!!!")
lu()
rospy.loginfo("231902370125,卢国钦")
l(1, 50)
运行ROS核心守护进程,为ROS节点提供通信支持。
roscore
运行名为hello的包中的hello.py脚本。
rosrun hello hello.py
comment:
- Valine
- LiveRe
- ChangYan