ros1环境,通过编译foxglove的msg消息,得到python3的消息结构

先将foxgloveros1 的msg下载下来

schema的github地址
访问不到github的小伙伴可以移步到这里 下载资源

如果想要直接使用python3的结构的,可以从这里下载,可以直接使用,就无需看本博客了: python3结构

ros1中文教程

激活环境

source /opt/ros/noetic/setup.sh

如果还没有创建一个工作空间的话,创建一个工作空间:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_make
source devel/setup.bash

创建foxglove_msgs包

catkin_create_pkg foxglove_msgs std_msgs geometry_msgs rospy roscpp
# 进入包中
cd src/foxglove_msgs/

新建文件夹msgs,存放msg文件,名称不能改变

mkdir msg

然后把msg文件复制到新建的文件夹msg 下.(schema版的msg文件在schemas-main/schemas/ros1 下, schemas-main 为你解压后的目录)

修改package.xml 文件

vim package.xml

打开下面两个注释掉的代码,若没有,则添加:

  <build_depend>message_generation</build_depend>
  <exec_depend>message_runtime</exec_depend>

然后修改CMakeLists.txt 文件

vim CMakeLists.txt

修改以下内容: 无需全部复制,添加本来没有的即可

find_package(catkin REQUIRED COMPONENTS
  geometry_msgs
  roscpp
  rospy
  std_msgs
  message_generation
)

# 添加自定义消息文件,本来是注释的
add_message_files(
    FILES
    ArrowPrimitive.msg
    CameraCalibration.msg
    CircleAnnotation.msg
    Color.msg
    CompressedImage.msg
    CubePrimitive.msg
    CylinderPrimitive.msg
    FrameTransform.msg
    GeoJSON.msg
    Grid.msg
    ImageAnnotations.msg
    KeyValuePair.msg
    LaserScan.msg
    LinePrimitive.msg
    LocationFix.msg
    Log.msg
    ModelPrimitive.msg
    PackedElementField.msg
    Point2.msg
    PointCloud.msg
    PointsAnnotation.msg
    PoseInFrame.msg
    PosesInFrame.msg
    RawImage.msg
    SceneEntityDeletion.msg
    SceneEntity.msg
    SceneUpdate.msg
    SpherePrimitive.msg
    TextPrimitive.msg
    TriangleListPrimitive.msg
    Vector2.msg
)

generate_messages(
  DEPENDENCIES
  geometry_msgs
  std_msgs
)

重新构建ros包

cd ../..
catkin_make

如果不出意外的话,python文件就会被编译好了.

编译好的python文件存放在当前目录下的 devel/lib/python3/dist-packages/foxglove_msgs 的位置.
c++文件在:devel/include/foxglove_msgs/

一番周折,大功告成.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值