制作简单的ROSWEB (2) -使用rosjs 进行栅格地图web端3d可视化

18 篇文章 3 订阅
订阅专栏

制作简单的ROSWEB (2) -使用rosjs 进行栅格地图web端3d可视化

rosweb可视化上位机

代码下载

本代码是通过网上拼接代码而成的,比较粗糙,是当时本科毕设的一个上位机界面,根据大家的强烈要求,开源此代码,如果对你有帮助,谢谢给赞或者star 喔~~~ ROS WEB可视化上位机
参考博客:
利用Websocket实现ROS与Web的交互
前言:
本次实现的功能主要是,在web浏览器端调用rosjslib实现控制机器人移动、和获取地图显示。因为个人不懂javascript,所以做的比较简陋,主要还是做代码拼接。两部分代码分别为:
一.3d栅格地图可视化
二.web端发布话题,实现按键控制车体前进后退
代码出处:
3d栅格地图可视化
web端发布话题,实现按键控制车体前进后退

环境说明

这里说明一下:
主机为机器人端(机器人master所在的电脑)
从机为浏览器端(可以使windows、linux)

使用我的代码需要主机和从机在同一网段上(同一wifi下)

主机配置

下载rosbridge工具

sudo apt-get install ros-kinetic-rosbridge-suite

启动机器人,我这里的机器人为古月老师的仿真机器人
在这里插入图片描述
在这里插入图片描述

roslaunch  mbot_gazebo mbot_laser_nav_gazebo.launch
roslaunch mbot_navigation gmapping_demo.launch

启动rosbridge websocket

roslaunch rosbridge_server rosbridge_websocket.launch

从机配置

查看主机的ip,注意是主机、主机、主机!!!

ifconfig

在这里插入图片描述

进入lib_web目录下,修改ip为当前ip,此处ip为订阅map显示。
在这里插入图片描述

使用chrome浏览器打开index.html
在这里插入图片描述
输入当前从机的IP地址,注意后缀为:9090 ,点击connect
在这里插入图片描述

连接成功:
从机:连接日记会刷新
在这里插入图片描述
主机:终端显示连接成功
在这里插入图片描述

web端地图显示:
在这里插入图片描述

在这里插入图片描述

主机端rviz地图显示:

通过点击,web端上的按钮可以通过websocket进行/cmd_vel话题发布
在这里插入图片描述

在这里插入图片描述

代码

代码为本人拼接开源代码而成,因为不是很懂前端工具,所以比较多bug,如有需要可以联系本人,谢谢指正。谢谢大家!!!

ROS从入门到精通8-1:基于roslibjsros3djsWeb开发(安装与实验)
FRIGIDWINTER的博客
10-26 2776
ROSBridge是一个用于非ROS系统和ROS系统进行通信的功能包,本文通过安装部署ROSBridge、roslibjsros3djs进行基于ROS的前Web开发实验
ROS WEB中文汉化 ROS userman配置
10-20
ROS WEB中文汉化 ROS userman配置
ros-web-app:ROS Web控制面板
04-03
ros-web-app 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 整理和修复文件 yarn lint 自定义配置 请参阅。
roswebcomponents:一个JavaScript库,用于快速开发ROS连接的Web界面
02-06
| | ROS Web组件 一个JavaScript库,用于快速开发连接的Web界面。 通过。 在( ) 。 该库提供了,这些与JavaScript函数接口以抽象化 ,简化了发布和订阅主题,从而为一组常见的机器人行为和数据源进行单行函数调用或仅编写HTML标签。 这些功能分为两类: ,触发机器人行为。 ,从机器人返回数据。 建立 将此存储库中的文件复制到网站的根目录中,并在要使用roswebcomponents”的任何页面的<head>标记中粘贴以下内容,以包括该库及其JS和CSS依赖项: < link rel =" stylesheet " href =" styles/jqu
ROSWeb 项目使用教程
最新发布
gitblog_00340的博客
09-10 256
ROSWeb 项目使用教程 roswebWeb based supervisory system for ROS项目地址:https://gitcode.com/gh_mirrors/ro/rosweb 1. 项目的目录结构及介绍 rosweb/ ├── AUTHORS.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── gulpfile.j...
探索ROSWeb交互的新维度:RoslibJS
gitblog_00074的博客
04-15 683
探索ROSWeb交互的新维度:RoslibJS roslibjs The Standard ROS JavaScript Library 项目地址: https://gitcode.com/gh_mirrors/ro/roslibjs ...
利用Rosweb实现ros与网页交互(1)
Adoreuu的博客
05-13 2501
利用rosbridge websocket实现ROS仿真机器人与网页进行交互。
ros web
wluke的博客
08-28 1634
https://www.cnblogs.com/yang220/p/12491226.html ROS是现在应为最为广泛的机器人操作系统,为了将ROSWeb的应用结合起来,ROS Web Tools社区开发了很多Web功能包,利用这些工具,我们能够在Web实现对机器人的监测与控制。 工具的准备 首先介绍以下所需要的工具包:rosbridge_suite功能包,roslibjs,ros2djsros3djs。 ● rosbridge_suite:实现Web浏览器与ROS之...
ROS WEB
longbinliu的专栏
08-13 1371
http://wiki.ros.org/ros3djs/Tutorials/ http://wiki.ros.org/ros2djs/Tutorials/ http://wiki.ros.org/roslibjs/Tutorials http://wiki.ros.org/pid 我的AI之路(25)--ROSBridge:机器人与外部系统之间的通讯解决方案 https://blo...
利用Websocket实现ROSWeb的交互
weixin_42784393的博客
04-01 1695
转载自“古月居”公众号 如何利用Websocket实现ROSWeb的交互
8、在ubuntu16.04 、ROS使用 rviz 显示octomap_sever 构建的三维栅格地图
sweetorange_的学习笔记
01-05 3693
ROS使用 rviz 显示octomap_sever 构建的三维栅格地图 本文是在安装完了octomap_sever 后(octomap_sever安装方法在这里:octomap_sever安装及demo、自己的pcd点云数据测试,基于八叉树的三维的栅格地图构建),使用ROS 自带的RVIZ显示自己的PCD点云文件构建的八叉树的教程。 1、安装octomap 在 rviz 中的插件: sudo apt-get install ros-kinetic-octomap-rviz-plugins 安装后启动
基于 ros2djs 的地图可视化
LeoOthello的专栏
03-04 3888
目录基于 ros2djs 的地图可视化原文译文1. 互动式标记例子1.1 HTML 代码1.2 代码解释1.3 运行这个例子补充说明安装 map_server下载 rail_maps 基于 ros2djs 的地图可视化 原文 https://wiki.ros.org/ros2djs/Tutorials/VisualizingAMap 译文 描述: 这篇教程向您展示了如何使用 ros2djs 可视化一幅地图 关键词: ros2djs, web interface, javascript, Robot Web
ros.js:远程操作流
05-30
用于网格的基本 RPC 系统。 允许您执行远程操作并接收响应。 总线示例: var ros = require ( "ros" ) ; var mesh = require ( "mesh" ) ; var io = require ( "socket.io" ) ; var memory = require ( "mesh-memory" ) ; function realtime ( options , appBus ) { var client = io ( options ) ; return ros ( client . on . bind ( client , "message" ) , client . emit . bind ( "message" ) , appBus ) ; } // local var bus = realtime (
rosmapjs:ROS可视化地图编辑器。 网络客户
05-21
罗斯地图 ROS Map控制器 用法 可以在或找到预构建的文件。 依存关系 rosmap取决于: 。 当前支持的版本是0.4.14。 当前受支持的版本可以在Robot Web Tools CDN()|英文本中找到。 () 。 当前支持的版本是0.14.0。 当前支持的版本可以在Robot Web Tools CDN上找到:( )| () 。 当前支持的版本是0.7.1。 当前支持的版本可以在Robot Web Tools CDN上找到:( )| () 。 当前支持的版本是0.6.0。 当前支持的版本可以在Robot Web Tools CDN上找到:( full )| (分钟) 建造 查看utils / README.md以获取有关构建的详细信息。 执照 rosmap随BSD许可证一起发布。 有关完整的条款和条件,请参阅许可文件。 作者 有关贡献者的完整列表,请参
3D-grid-path-planning-master三维栅格地图
03-21
在机器人路径规划领域,3D网格地图是一种常用的数据结构,用于表示复杂环境的空间信息。"3D-grid-path-planning-master"项目显然聚焦于三维空间中的路径规划算法,它利用3D网格来建模和解决机器人在三维环境中的移动...
Cartographer多分辨栅格地图数据,和可视化代码
09-24
5. **可视化工具**:Cartographer的可视化通常依赖于ROS的rqt plugins或者rviz,这些工具能够将多分辨栅格地图以图形化的方式展示出来,包括机器人轨迹、栅格地图、传感器数据等。通过可视化,开发者可以直观地了解...
visualization-of-spatial-data.rar_spatial 3D可视化
09-21
文件“第三章 空间数据的可视化表达.doc”很可能是详细阐述这些步骤和技术的文档,它可能包含更多关于如何在ArcGIS中有效地进行空间数据3D可视化的实践指导和案例研究。 总之,3D可视化是GIS中的强大工具,它使我们...
Python-使用Blender实现地理空间数据的实时3D可视化
08-10
要开始使用Blender进行3D可视化,你需要先安装Blender以及相关的Python库。Blender内置了一个Python解释器,可以用来编写脚本或扩展功能。在Blender中,你可以通过Python API操作场景、对象、材质等元素。对于地理...
web-基于组件化Web GIS前可视化框架关键技术研究.pdf
06-22
这些限制包括:功能耦合太高、代码不可重用、栅格数据可视化的传输效率低下等问题无法满足Web GIS可视化的需求。 为了解决这些问题,本研究探索了地理数据可视化服务集成技术,从而提高Web GIS中的可视化性能。该...
使用C++画占据栅格地图可视化
05-19
要画占据栅格地图可视化,可以使用C++和一些第三方库来实现。以下是一个基本的步骤: 1. 安装SDL库:SDL是一个跨平台的多媒体库,可以用于创建窗口、渲染图像等。你可以在SDL官网下载并安装它。 2. 创建一个窗口:使用SDL创建一个窗口,代码如下: ```c++ #include <SDL2/SDL.h> int main(int argc, char* argv[]) { SDL_Init(SDL_INIT_VIDEO); SDL_Window* window = SDL_CreateWindow("Map", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0); SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); SDL_RenderClear(renderer); SDL_RenderPresent(renderer); SDL_Delay(3000); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; } ``` 这个代码创建了一个名为“Map”的窗口,大小为640x480,背景色为白色,然后在窗口中等待3秒钟,最后关闭窗口。 3. 画占据栅格地图:你需要将占据栅格地图转换为可视化的图像。可以将每个栅格映射为一个矩形,并使用不同的颜色表示不同的占据状态。例如,黑色表示障碍物,白色表示可通行区域。使用SDL的渲染器可以很容易地实现这一点,代码如下: ```c++ void draw_map(SDL_Renderer* renderer, const vector<vector<int>>& map, int cell_size) { int width = map[0].size(); int height = map.size(); for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { SDL_Rect rect = {j * cell_size, i * cell_size, cell_size, cell_size}; if (map[i][j] == 1) { SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // 障碍物,黑色 } else { SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); // 可通行区域,白色 } SDL_RenderFillRect(renderer, &rect); } } } ``` 这个函数接受一个渲染器、一个占据栅格地图和一个单元格大小,然后根据占据状态渲染每个矩形。 4. 调用渲染函数:将绘制地图的函数传递给渲染器,以便在窗口中显示地图。代码如下: ```c++ int main(int argc, char* argv[]) { SDL_Init(SDL_INIT_VIDEO); SDL_Window* window = SDL_CreateWindow("Map", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0); SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); SDL_RenderClear(renderer); // 绘制地图 vector<vector<int>> map = {{0, 0, 0, 0, 0}, {0, 1, 1, 0, 0}, {0, 0, 0, 0, 1}, {0, 1, 0, 0, 0}}; draw_map(renderer, map, 40); SDL_RenderPresent(renderer); SDL_Delay(3000); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; } ``` 这个代码创建了一个像之前一样的窗口,并调用了`draw_map`函数以绘制地图。 这就是一个简单的占据栅格地图可视化程序。你可以根据需要修改它,并添加更多功能,例如地图编辑器或路径规划算法。
写文章

热门文章

  • FAST_LIO_SAM 融入后端优化的FASTLIO SLAM 系统 前端:FAST_LIO2 后端:LIO_SAM 13570
  • ubuntu18.04查看网卡mac地址 10617
  • 多传感器融合定位-章节索引 9368
  • 制作简单的ROSWEB (2) -使用rosjs 进行栅格地图web端3d可视化 8897
  • LQR 控制学习-LQR控制 MATLAB官方教程-LQR 控制器_状态空间系统Matlab/Simulink建模分析 8486

分类专栏

  • 深蓝-多传感器定位融合 18篇
  • 3D-SLAM自搭平台 4篇
  • 3D点云学习 55篇
  • 搭建实验室3d slam 移动小车 12篇
  • 深蓝-从零开始写VIO 3篇
  • RoboticsX-Study 8篇
  • github 1篇
  • 视觉slam14讲学习 3篇
  • 多传感器融合定位学习 22篇
  • docker学习 1篇
  • ubuntu wechat 2篇
  • ubuntu wechat安装 2篇
  • ROS机器人 18篇
  • pcl 1篇
  • 从零开始做自动驾驶定位 3篇
  • 菊安酱机器学习入门 1篇
  • 刘大大pytorch 11篇
  • kaggle入门 1篇
  • numpy数据分析 1篇
  • 毫米波雷达 1篇
  • ROS语音控制 3篇
  • 莫烦pytorch学习笔记 3篇
  • 莫烦多进程Multiprocessing学习笔记 6篇
  • 莫烦多线程Threading学习笔记 5篇
  • 莫烦Pandas学习笔记 5篇

最新评论

  • 使用Mapviz,进行机器人GPS轨迹卫星地图绘制(2)-调用天地图API,快速加载刷新地图

    MuMa_LA: 我的也是这样,解决了吗

  • 使用Mapviz,进行机器人GPS轨迹卫星地图绘制(2)-调用天地图API,快速加载刷新地图

    MuMa_LA: womeichulai

  • 制作简单的ROSWEB (2) -使用rosjs 进行栅格地图web端3d可视化

    2301_79920913: 怎么弄的,有没有源码

  • FAST_LIO_SAM 融入后端优化的FASTLIO SLAM 系统 前端:FAST_LIO2 后端:LIO_SAM

    不爱吃青椒的动感超人: 博主,请问这个可以使用mid360运行吗

  • 多传感器融合定位 第七章 基于滤波的融合方法

    primChang: 我用的3.17.3,我没记错的话应该是这样

大家在看

  • 基于SpringBoot+Vue的大数据技术的宠物商品信息比价及推荐系统(源码+LW+调试文档+讲解)
  • 短剧小程序,打造专属短剧观看平台
  • C++11 22-新的转换运算符 New conversion operator
  • 《深入掌握高德地图 API:全面调用指南与最佳实践》 891
  • 渗透测试实战—教育攻防演练中突破网络隔离 208

最新文章

  • Livox_Color_View-And-Mpping点云地图实时上色
  • rviz_marker_绘制直线_矩形框
  • rviz_marker_绘制直线_矩形框
2023年1篇
2022年13篇
2021年40篇
2020年123篇

目录

目录

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家包头玻璃钢雕塑价格定做古铜玻璃钢雕塑仿古玻璃钢花盆造型丽水玻璃钢陶瓷雕塑价格六安个性化玻璃钢雕塑供应商特色玻璃钢雕塑摆件市场报价深圳超市商场美陈报价桂平玻璃钢雕塑价格玻璃钢景观雕塑维护张界仿铜西式玻璃钢雕塑内蒙玻璃钢蔬菜雕塑宁远玻璃钢造型雕塑广场标识玻璃钢仿铜雕塑设计上海玻璃钢陶瓷雕塑蛋糕店中秋节商场美陈天津个性化玻璃钢雕塑市场吴江区大型人物玻璃钢雕塑开原玻璃钢价值观雕塑青岛玻璃钢人像雕塑甘肃玻璃钢雕塑安装鹿玻璃钢卡通雕塑定制重庆景观玻璃钢雕塑生产厂家福建主题商场美陈市场报价济源玻璃钢雕塑制作厂家宝山玻璃钢雕塑哪里卖南通玻璃钢花盆尺寸及价格各地好的大型玻璃钢雕塑云南铜玻璃钢仿铜雕塑襄阳景区玻璃钢雕塑公司巴中市玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化