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: