欢迎来到 宁波市某某化工涂料销售部
全国咨询热线:020-123456789
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
python ROS2 部署 兼容ROS1
  来源:宁波市某某化工涂料销售部  更新时间:2024-04-30 00:30:11

python ROS2 部署 兼容ROS1

python ROS2 部署 兼容ROS1

实验平台 ubuntu18.04

ubuntu18.04支持的ROS2版本是eloquent

之前我们部署了ros1 现在我们在ros1的基础上部署ros2并实现可以自由切换。

ROS2 eloquent

  • 添加安装源

sudo apt updatensudo apt install curl gnupg2 lsb-releasencurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

如果出错:

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

  • 安装ros2

sudo apt updatensudo apt install ros-eloquent-desktop

  • 加入环境自启动

echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrcnn

  • 安装ros2 bag

sudo apt-get install ros-eloquent-ros2bag nsudo apt-get install ros-eloquent-rosbag2-converter-default-pluginsnsudo apt-get install ros-eloquent-rosbag2-storage-default-plugins

  • 安装其他依赖

sudo apt install python3-argcomplete

我的署兼python 代码的环境都是使用miniconda构建的 ,具体的署兼构建,我会再写一个文档加以补充 。署兼

ROS1与ROS2自由切换

如图所示

输入1 进入ROS1 输入2进入ROS2

python ROS2 部署 兼容ROS1


python ROS2 部署 兼容ROS1

实现方法 修改~/.bashrc

python ROS2 部署 兼容ROS1

当然我这里也指定了进入了miniconda 的环境

脚本是顺序进行的 ,这个指令尽量放入到最下面 。署兼

脚本如下  :

echo "ros melodic(1) or ros2 eloquent(2)?署兼"nread editionnif [ "$edition" -eq "1" ];thenn conda activate fusionn source /opt/ros/melodic/setup.bashn source /home/xia/catkin_workspace/install/setup.bash --extendn echo "ros1 is done"nelsen #DDS ROS2 relatedn conda activate ros2_envn source /opt/ros/eloquent/setup.bashn source /home/xia/HYworkspace/athena/install/setup.bashn echo "ros2 is done"nfi

有需要的修改的 ,可以自定义修改,署兼主要的署兼逻辑就是在自启动里添加选择 。

python 开发ros2的署兼基础代码

# 初始化rclpynrclpy.init(args=None) n# 创建话题nnode.create_publisher(String,"talker_topic",10)n# 构建节点nnode = Node('*')n# 订阅消息nnode.create_subscription(ParkingInfoList,subscriber_topic_name['call_back_parking'], call_back_parking,10)n# 运行节点nrclpy.spin(node) n# 关闭rclpy nrclpy.shutdown()

ros1 python 对比ros2 python


ROS1

ROS2

初始化

rclpy.init(args=None)

创建话题

rospy.Subscriber()

node.create_publisher()

构建节点

rospy.init_node()

node = Node('*')

订阅消息

rospy.Subscriber()

node.create_subscription()

运行节点

rospy.spin()

rclpy.spin(node)

后面我们继续进行ROS2数据的发出与接收 ,敬请期待 。署兼

署兼

友情链接LOL云顶之弈鳄鱼怎么出装 荒漠屠夫雷克顿出装攻略魔兽世界手游冰法天赋怎么加点顺序DNF:剑神6大技能圣痕护石实测分析,完美毕业应该怎么选择?lols6ADC卢锡安最新天赋加点 奥巴马s6天赋符文出装玩法DNF起源版本剑豪怎么加点 起源版本剑帝最新加点攻略方案4399电眼美女经典小游戏回顾(经典游戏电眼美女玩法攻略)热血传奇英雄合击版下载DNF110剑宗装备怎么搭配点击“全站返还通道”去丽子美妆购物,即可获得返还,最高返0%现金!DNF:一天如何升到满级?成长加速活动详解,12武器可以跨界《魔兽世界》怀旧服wlk战士练级天赋指南飘逸的大伊泽瑞尔攻略 恐怖输出PS你打不到我小蜜蜂提莫特工蝇免费获得方式,还有免费皮肤呦~【阿蛤活动快讯】买车为由,将人骗至公路附近持凶器抢车!玉林这伙人栽了高人气手游私sf平台推荐 十大最火手游私sf平台排名抖音年龄计算器怎么计算对象生日使用方法说明lol手游仓库在哪里,英雄联盟游戏内仓库在哪里不是橙武胜似橙武 盘点魔兽世界60年代经典武器阴阳师铃鹿山的考验答案大全 麓海归途铃鹿山的考验问题答案攻略汇总炉岩碳最速获得方式《泰拉瑞亚》复仇者徽章获得方法一览lol合金装备劫连招特效视频 lol劫中单出装天赋符文S5MOP牧师目前能获取的463以上等级装备大全《英雄联盟》快捷键大全及各种游戏命令一览dnf锻造失败会碎吗(dnf锻造会损坏武器吗)原神荒海水位下降机关门怎么开 打开荒海水位方法魔兽世界圣骑士天赋选择 魔兽10.0圣骑士刷图教程DNF:金秋增幅道具大放送,红10唾手可得,增幅12更进一步王者荣耀新英雄暃怎么出装 暃出装推荐云顶之弈S9潜行裁决劫阵容推荐攻略lol豹女叫什么如何一天完成拼多多砍价助力?英雄联盟点券什么支付,LOL的点卷怎么充值英雄联盟惩戒之箭韦鲁斯玩法技巧 LOL中单韦鲁斯装备合成方法 必看三国志战略版s3孙权顶级阵容 孙权s3赛季搭配大全DNF520的1314心意点礼盒为什么打不开 520的1314心意点礼盒怎么打开上单霸主最后的狂欢!雷霆咆哮沃利贝尔攻略我喜欢的小狗优秀作文200字范晓楠|景观社会的图像——20世纪90年代以来的欧洲绘画研究【魔兽幻化】牧师T3鸡腿落榜,华丽外衣下的“虚假”活动
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.221

Copyright © 2024 Powered by 宁波市某某化工涂料销售部   sitemap