当前位置: 首页 > news >正文

网站信息备案查询shopify是什么平台

网站信息备案查询,shopify是什么平台,可以做软文推广的网站,wordpress memcache#x1f300; 一个中大型ROS项目常需要各个人员分别完成特定的功能#xff0c;而后再组合部署#xff0c;而各人员完成的功能常常依赖于一定的环境#xff0c;而我们很难确保这些环境之间不会相互冲突#xff0c;特别是涉及深度学习环境时。这就给团队项目的部署落地带来了… 一个中大型ROS项目常需要各个人员分别完成特定的功能而后再组合部署而各人员完成的功能常常依赖于一定的环境而我们很难确保这些环境之间不会相互冲突特别是涉及深度学习环境时。这就给团队项目的部署落地带来了极大的困难。虽然类似于conda这样的工具可以弥补一部分的不足但是对于项目部署而言还是不足的。 现在就针对上述的问题提出一种基于docker的ROS2通信解决方案其中会涉及docker network和docker compose等内容。容器与宿主机的ROS2版本LTS版(foxy/humble/…)都行。 01前情说明 首先有以下几点说明 (1) 宿主系统是基于ubuntu系统系统的架构x86_64或arm均可使用的是NVIDIA显卡且系统内已安装相应的显卡驱动。 (2) 宿主机和容器的架构(x86_64/arm64)保持一致。 (3) 如果宿主机开了VPN先关掉避免干扰。 为了讲解的方便假设我们有以下环境 (1) 宿主系统是ubuntu20.04架构是x86_64安装了ros foxy显卡是NVIDIA GTX 1650且显卡驱动可用。 (2) 宿主系统内docker和docker compose都可以正常使用。 (3) 有一个docker镜像(假设叫做image:latest)镜像环境是ubuntu22.04架构也是x86_64安装了ros humble。 02创建docker compose文件 第一步编写一个docker compose文件用以从镜像创建容器。这种方式会比使用docker run好些因为它能够把容器的参数写到文件里还能联调多个容器的关系对于多容器组合的项目开发比较友好。并且我建议如果你只有一个docker容器那也使用docker compose这样相对于docker run的命令行方式更容易维护。 mkdir project cd project touch project.yml然后编写project.yml的内容示例如下。这里之所有没用device:来挂载摄像头、激光雷达等外设那是因为这些外设的驱动节点(传感器数据发布节点)放在宿主机中更好容器只要订阅这些节点发布的话题进行处理即可。另外ROS_DOMAIN_ID要一样才能通信默认为0。 # 多对多自由 services:c1: # 服务名称(一个服务对应一个容器),自己取名即可container_name: c1 # 容器名称image: image:latest # 镜像名称working_dir: [your_workdir_path1] # 工作目录,比如/home/zhangsanshm_size: [your_share_memory_size] # 共享内存大小,比如4Gruntime: nvidia environment:- NVIDIA_VISIBLE_DEVICESall- DISPLAY${DISPLAY} # 设置DISPLAY环境变量 volumes:- [your_source_path1]:[your_target_path1] # 挂载项目目录- /dev/dri:/dev/dri # 挂载 GPU 设备- /tmp/.X11-unix:/tmp/.X11-unix:rw # 挂载 X11 Unix 套接字- ${HOME}/.Xauthority:/root/.Xauthority:rw # 挂载 X11 认证文件networks:- [network_name] # 共享网络名称比如ros_networkstdin_open: true # 相当于 -itty: true # 相当于 -tc2: # 服务名称(一个服务对应一个容器),自己取名即可container_name: c2 # 容器名称image: image:latest # 镜像名称working_dir: [your_workdir_path2] # 工作目录,比如/home/lisishm_size: [your_share_memory_size] # 共享内存大小,比如4Gruntime: nvidia environment:- NVIDIA_VISIBLE_DEVICESall- DISPLAY${DISPLAY} # 设置DISPLAY环境变量 volumes:- [your_source_path2]:[your_target_path2] # 挂载项目目录- /dev/dri:/dev/dri # 挂载 GPU 设备- /tmp/.X11-unix:/tmp/.X11-unix:rw # 挂载 X11 Unix 套接字- ${HOME}/.Xauthority:/root/.Xauthority:rw # 挂载 X11 认证文件networks:- [network_name] # 共享网络名称比如ros_networkstdin_open: true # 相当于 -itty: true # 相当于 -tnetworks: # 如果没有名称为ros_network的网络会自己创建一个。[network_name]:name: [network_name]driver: bridge03启动docker compose服务 开放X11服务(这样容器中的窗口就可以显示出来)并从project.yml文件启动docker容器。 xhost docker-compose -f project.yml up接着你可以查看网络信息确认是否共享上了 docker network ls你会看这样的信息 NETWORK ID NAME DRIVER SCOPE ecb8bca83c79 bridge bridge local 0e489127c701 host host local #这个是你宿主机的网络 fad86f998533 none null local 65b64309ebc2 ros_network bridge local #这个是你刚才创建的共享网络进一步查看共享网络信息 docker network inspect ros_network 你会看到这样的输出 # c1和c2之间的ROS2节点在ros_network子网中通信 # 容器ROS2节点通过把数据转发给ros_network网关网关再转接给host实现与宿主机ROS2节点通信 [{Name: ros_network,Id: 65b64309ebc2df88cd05c3a1fb33635ab4818fd6d2022ce028ad25ef22f2e0ef,Created: 2025-01-11T20:20:06.63280073508:00,Scope: local,Driver: bridge,EnableIPv6: false,IPAM: {Driver: default,Options: {},Config: [{Subnet: 172.18.0.0/16, # 子网Gateway: 172.18.0.1 # 网关}]},Internal: false,Attachable: false,Ingress: false,ConfigFrom: {Network: },ConfigOnly: false,Containers: {79ba2ce2e7914e02e9c36828eb40c343c5abe5f3ca43f2c61b304b91f8cd8de6: {Name: c1,EndpointID: f3956bf172423f84b4e2bf0d55d9c1149b9135dcc32cfc6d01c6770b86a0015d,MacAddress: 02:42:ac:12:00:03,IPv4Address: 172.18.0.3/16, # c1的ipIPv6Address: },d02027c00ae82e6589dd4690fb7f69974de9d867958f17ced17f3babe0c7527b: {Name: c2,EndpointID: 50b4abf51ee3f4b118b99813b061830a2cf2858ecffa4b2c6147849e378fe8b7,MacAddress: 02:42:ac:12:00:02,IPv4Address: 172.18.0.2/16, #c2的ipIPv6Address: }},Options: {},Labels: {}} ]04ROS2通信测试 另开两个终端分别在终端内运行以下命令进入容器(你可以开多个) docker exec -it c1 /bin/bash # 第一个终端(可以开多个) docker exec -it c2 /bin/bash # 第二个终端(可以开多个)启动以下节点 # 在宿主机中 ros2 run turtlesim turtlesim_node # 在c1容器中 ros2 run demo_nodes_cpp talker # [INFO] [1736647116.948458682] [talker]: Publishing: Hello World: 1 # 在c2容器中 ros2 run demo_nodes_cpp listener # [INFO] [1736647126.948946624] [listener]: I heard: [Hello World: 1]并分别在各环境中运行 ros2 node list如果所有环境中都输出了以下内容那就说明成功了。 /listener /talker /turtlesim05附录 5.1 安装docker compose # 从官方下载软件包(确保和自己机器的架构一致)https://github.com/docker/compose/releases # 假设下载了docker-compose-linux-x86_64到~/Downloads cd ~/Downloads # 改名 mv docker-compose-linux-x86_64 docker-compose # 移动到指定位置 sudo mv docker-compose /usr/local/bin # 赋予权限 sudo chmod x /usr/local/bin/docker-compose
http://www.dnsts.com.cn/news/254719.html

相关文章:

  • 网站认证怎么做南京市工程建设交易中心网站
  • 网站切换网站内容建设怎么写
  • php电子商务网站建设自动生成网站地图怎么做
  • 网站 制作水印做seo推广一年大概的费用
  • 第三次网站建设的通报买网站做网站
  • 顺德网站制作案例信息公网动态ip如何做网站
  • 网站建设福州百度下载2022新版安装
  • 海飞丝网站建设中面临的技术问题_并提出可行的技术解决方案app下载app开发公司
  • 眉山网站建设兼职2022年编程语言官方排行榜
  • 大学网站html模板建站公司成功案例
  • 南京建站服务成都商城网站制作
  • 关于电子商务网站建设的参考文献常德市做网站联系电话
  • 网站开发技术课程设计说明书国内跨境电商公司排行榜
  • 高校两学一做网站建设怎么做网站h汉狮
  • 网站建设知识网深圳的外贸公司有哪些
  • 网站开发前端指什么wordpress 用户函数
  • 企业网站应该怎么做古楼角网站建设
  • dedecms 网站地图插件星月网络公司做的网站
  • 深圳外贸平台建站站酷网图片
  • 合肥网站设计网站各种网址大全
  • 本地怎么做网站服务器吗北京网站建设icp有限公司
  • 专门做图片的网站吗wordpress网站评论插件
  • 嘉兴建网站关于网站建设与发布的书籍
  • 重庆最好的网站建设网站仿站
  • 重庆做网站建设公司排名德州市建设街小学网站
  • 接订单去哪个网站wordpress 微商
  • 专业网站制作服务巩义网站建设价格
  • 网站出现的问题天津建设工程信息网怎么登录
  • 西安的商城网站设计卖东西的网站怎么建设
  • 做网站怎么电话约客户营销推广方式都有哪些