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

一键安装脚本sh

首先是初始化的ros安装的一些库;
install.sh:

execute_command() {if [ "$1" = "1" ]; thenwget http://fishros.com/install -O fishros && bash fishroselif [ "$1" = "2" ]; then#gnome-terminal --title="nvidia-smi" -- bash -c "sudo ubuntu-drivers devices; exec bash"sudo ubuntu-drivers autoinstallelif [ "$1" = "3" ]; thensudo apt install -y ros-noetic-navigationsudo apt install -y  ros-noetic-joysudo apt install -y  ros-noetic-gazebo-ros-controlsudo apt install -y  ros-noetic-joint-state-controllersudo apt install -y  ros-noetic-position-controllerssudo apt install -y  ros-noetic-effort-controllerssudo apt install -y  ros-noetic-cv-bridgesudo apt install -y  ros-noetic-controller-managersudo apt install -y  ros-noetic-hector-mappingsudo apt install -y  ros-noetic-gmapping
sudo apt install -y ros-noetic-plotjuggler
sudo apt install -y ros-noetic-plotjuggler-ros
sudo apt install -y libdw-dev
sudo apt install -y ros-noetic-osqp-vendorsudo apt install -y  ros-noetic-joint-state-controllersudo apt install -y  ros-noetic-velocity-controllerssudo apt install -y  ros-noetic-position-controllerssudo apt install -y  ros-noetic-gmappingsudo apt install -y  ros-noetic-map-serversudo apt install -y  ros-noetic-amclsudo apt install -y  ros-noetic-move-basesudo apt install -y  ros-noetic-nav-coresudo apt install -y  ros-noetic-costmap-*sudo apt install -y  ros-noetic-teb-local-plannersudo apt install -y  ros-noetic-global-planner# add cyun 9.25sudo apt-get install -y ros-noetic-joint-state-publisher-guisudo apt install -y ros-noetic-controller-managersudo apt install -y ros-noetic-gazebo-ros-controlsudo apt-get install -y ros-noetic-effort-controllerssudo apt install -y ros-noetic-driver-basesudo apt install -y ros-noetic-ackermann-msgssudo apt install -y ros-noetic-rtabmap-rossudo apt-get install -y ros-noetic-ros-controllerssudo apt install -y ros-noetic-joint-state-controllersudo apt install -y ros-noetic-velocity-controllerssudo apt install -y ros-noetic-position-controllerssudo apt install -y ros-noetic-gmappingsudo apt install -y ros-noetic-map-serversudo apt install -y ros-noetic-amclsudo apt install -y ros-noetic-move-basesudo apt install -y ros-noetic-nav-coresudo apt install -y ros-noetic-costmap-*sudo apt-get install -y ros-noetic-costmap-*sudo apt install -y ros-noetic-teb-local-plannersudo apt install -y ros-noetic-global-plannersudo apt-get install -y ros-noetic-usb-camsudo apt-get install -y ros-noetic-cartographer-rossudo apt-get install -y ros-noetic-driver-basesudo apt-get install -y ros-noetic-ackermann-msgssudo apt install -y ros-noetic-navigation
sudo apt install -y  ros-noetic-joy
sudo apt install -y  ros-noetic-gazebo-ros-control
sudo apt install -y  ros-noetic-joint-state-controller
sudo apt install -y  ros-noetic-position-controllers
sudo apt install -y  ros-noetic-effort-controllers
sudo apt install -y  ros-noetic-cv-bridge
sudo apt install -y  ros-noetic-controller-manager
sudo apt install -y  ros-noetic-hector-mapping
sudo apt install -y  ros-noetic-gmappingsudo apt install -y  ros-noetic-joint-state-controller
sudo apt install -y  ros-noetic-velocity-controllers
sudo apt install -y  ros-noetic-position-controllers
sudo apt install -y  ros-noetic-gmapping
sudo apt install -y  ros-noetic-map-server
sudo apt install -y  ros-noetic-amcl
sudo apt install -y  ros-noetic-move-base
sudo apt install -y  ros-noetic-nav-core
sudo apt install -y  ros-noetic-costmap-*sudo apt install -y  ros-noetic-teb-local-planner
sudo apt install -y  ros-noetic-global-planner
# add cyun 9.25
sudo apt-get install -y ros-noetic-joint-state-publisher-gui
sudo apt install -y ros-noetic-controller-manager
sudo apt install -y ros-noetic-gazebo-ros-control
sudo apt-get install -y ros-noetic-effort-controllerssudo apt install -y ros-noetic-driver-base
sudo apt install -y ros-noetic-ackermann-msgs
sudo apt install -y ros-noetic-rtabmap-ros
sudo apt-get install -y ros-noetic-ros-controllers
sudo apt install -y ros-noetic-joint-state-controller
sudo apt install -y ros-noetic-velocity-controllers
sudo apt install -y ros-noetic-position-controllers
sudo apt install -y ros-noetic-gmapping
sudo apt install -y ros-noetic-map-server
sudo apt install -y ros-noetic-amcl
sudo apt install -y ros-noetic-move-base
sudo apt install -y ros-noetic-nav-core
sudo apt install -y ros-noetic-costmap-*sudo apt-get install -y ros-noetic-costmap-*
sudo apt install -y ros-noetic-teb-local-planner
sudo apt install -y ros-noetic-global-plannersudo apt-get install -y ros-noetic-usb-cam
sudo apt-get install -y ros-noetic-cartographer-ros
sudo apt-get install -y ros-noetic-driver-base
sudo apt-get install -y ros-noetic-ackermann-msgs# add cyun sudo apt install -y gitelseecho '输入无效,退出脚本'exit 1fi
}read -p '请输入数字(1-执行 wget,2-驱动,3-安装):' input
execute_command $input

python环境下的库:
install_python.sh:

pip install can cantools

cartographer建图的安装:

#!/bin/bash
# cyun 一键安装cartographer源码环境
# 2024.3.6
# 需要git可用(科学上网)# 1. 安装依赖
sudo apt-get update
sudo apt-get install -y \cmake \g++ \git \google-mock \libboost-all-dev \libcairo2-dev \libeigen3-dev \libgflags-dev \libgoogle-glog-dev \liblua5.2-dev \libprotobuf-dev \libsuitesparse-dev \libwebp-dev \ninja-build \protobuf-compiler \sphinx-commoncd ~/Documents
if [ ! -d "ceres-solver" ]; thengit clone https://github.com/ceres-solver/ceres-solver.git
fi
echo "ceres Document Ready" 
cd ceres-solver
git checkout 1.14.x
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake ..
fi
make -j8
sudo make installcd ~/Documents
if [ ! -d "protobuf" ]; thengit clone https://ghproxy.com/https://github.com/google/protobuf.git
fi
echo "protobuf Document Ready" 
cd protobuf
git checkout v3.6.1
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF ../cmake
fi
make -j8
sudo make installcd ~/Documents
if [ ! -d "cartographer" ]; thengit clone https://gitee.com/BlueWhaleRobot/cartographer.git
fi
cd cartographer
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake ..
fi
make -j
sudo make installcd ~/forklift_ws/src
if [ ! -d "cartographer_ros" ]; thengit clone https://git.bwbot.org/publish/cartographer_ros
fi
cd ..
catkin_makecd ~/forklift_ws/src
if [ ! -d "Hybrid_A_Star" ]; thengit clone https://github.com/zm0612/Hybrid_A_Star
fi
cd ..
catkin_makecd ~/forklift_ws/src
if [ ! -d "pointcloud_to_laserscan" ]; thengit clone https://github.com/BluewhaleRobot/pointcloud_to_laserscan.git
fi
cd ..
catkin_makeecho "脚本执行完毕"
echo "2D:"
echo "wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag"
echo "测试命令:source ros 环境;roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:='/home/cyun/Downloads/cartographer_paper_deutsches_museum.bag'"echo "3D:"
echo "wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag"
echo "roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag"

python程序的注释内容:

#!/usr/bin/env python3
#coding=utf-8
# **************** panda_ws实现采棉功能 ****************
'''describe = "This is the description."
input_data = "Input data example."
output_data = "Output data example."
author = "cyun"
time = "2024.3.15"

cc程序的注释内容:

// *************** panda\_ws实现采棉功能 \***************
/*describe = "This is the description."
input_data = "Input data example."
output_data = "Output data example."
time = "2023-12-15"
*/

sudo不再需要输入密码:

相关文章:

一键安装脚本sh

首先是初始化的ros安装的一些库; install.sh: execute_command() {if [ "$1" "1" ]; thenwget http://fishros.com/install -O fishros && bash fishroselif [ "$1" "2" ]; then#gnome-terminal --title"n…...

WebGL在医学成像方面的应用

WebGL(Web Graphics Library)是一种用于在Web浏览器中呈现3D和2D图形的JavaScript API。它被广泛应用于各种领域,包括医学成像。以下是WebGL在医学成像方面的应用及其详细描述。北京木奇移动技术有限公司,专业的软件外包开发公司&…...

SpringBoot+layuimini实现角色权限菜单增删改查(layui扩展组件 dtree)

角色菜单 相关组件方法效果图MySQL代码实现资源菜单树组件实现权限树方法js这里我先主要实现权限树的整体实现方法,如果是直接查看使用的话可以只看这里! 后端代码Controlle层代码Service代码及实现类代码Service代码ServiceImpl代码 resourceMapper 代码…...

项目范围管理

目录 1.概述 2.主要工作 3.基础 4.项目范围管理的过程 5.规划范围管理 6.收集需求 7.定义范围 8.创建 WBS 9.确认范围 10.控制范围 1.概述 项目范围管理是项目管理中的一个重要组成部分,涉及到确定项目需要完成的工作范围,以及如何管理和控制…...

监管端..

文章目录 1. 登录流程2. 日志AOP 1. 登录流程 使用账号(手机号)、密码、验证码。登录就是获取token的,输入的账号密码用RSA加密(非对称) 首先输入账号密码,在发送手机验证码时候先校验账号密码有没有输入…...

点击登录按钮先检测输入框的规则检测(vue组合式)

<template><el-form :model"user" :rules"rules" ref"loginForm" label-width"auto" style"max-width: 600px"><el-form-item label"用户名" prop"name"><el-input v-model"…...

网络工程师---第四十二天

1、基于子网的vlan划分配置步骤是什么&#xff1f; 2、基于端口的vlan划分配置步骤是什么&#xff1f; 3、基于MAC地址的vlan划分配置步骤是什么&#xff1f; 4、请简述无线局域网的组网方式有哪几种&#xff0c;区别是什么&#xff1f; 5、请简述堆叠、级联和集群作用和区别是…...

leetcode 1241每个帖子的评论数(postgresql)

需求 编写 SQL 语句以查找每个帖子的评论数。 结果表应包含帖子的 post_id 和对应的评论数 number_of_comments 并且按 post_id 升序排列。 Submissions 可能包含重复的评论。您应该计算每个帖子的唯一评论数。 Submissions 可能包含重复的帖子。您应该将它们视为一个帖子。…...

前端最新面试题(ES6模块篇)

目录 1 ES5、ES6和ES2015有什么区别? 2 babel是什么,有什么作用? 3 let有什么用,有了var为什么还要用let? 4 举一些ES6对String字符串类型做的常用升级优化? 5 举一些ES6对Array数组类型做的常用升级优化 6 举一些ES6对Number数字类型做的常用升级优化 7 举一些ES…...

STM32H750外设之ADC通道选择

目录 概述 1 通道选择功能介绍 2 通道选择&#xff08; SQRx、 JSQRx&#xff09; 2.1 通道复用 2.1.1 通道介绍 2.1.2 通道框图 2.2 转换分组 2.3 内部专用通道 3 通道预选寄存器 (ADCx_PCSEL) 3.1 功能介绍 3.2 预选通道寄存器 概述 本位主要介绍STM32H750外设之…...

【Unity2D 2022:Cinemachine】相机跟随与地图边界

一、导入Cinemachine工具包 1. 点击Window-Package Manager&#xff0c;进入包管理界面 2. 点击All&#xff0c;找到Cinemachine工具包&#xff0c;点击Install 二、相机跟随角色 1. 选中Main Camera&#xff0c;点击Component-Cinemachine-CinemachineBrain&#xff0c;新建…...

ssh远程连接的相关配置

连接同一个局域网下&#xff1a; 正好这里来理解一下计算机网络配置中的ip地址配置细节&#xff0c; inet 172.20.10.13: 这是主机的IP地址&#xff0c;用于在网络中唯一标识一台设备。在这个例子中&#xff0c;IP地址是172.20.10.13。 netmask 255.255.255.240: 这是子网掩码…...

在leafet上画圆、多边形、线、矩形

在leaflet上画圆、多边形、线、矩形 <template><div id"map" class"map"></div> </template><script> import L from leaflet; export default {data () {return {myGroup: ,};},mounted () {this.initMaps()this.huizhiro…...

SpringBoot中如何在服务器进行校验?

数据校验就是数据的合法性检查&#xff0c;在服务器端也可以对数据进行校验&#xff0c;一般使用JSR303 校验 JSR303是Java为Bean数据合法性校验提供的标准框架&#xff0c;是一种声明式校验 JSR303通过在Bean属性上标注类似于NotNull、Max等注解来指定校验规则&#xff0c;并…...

element ui 的el-input输入一个字后失去焦点,需重新点击输入框才能再次输入

解决方案&#xff1a; 我是form表单嵌套表格&#xff0c;里面的el-input输入框&#xff0c;输入第一个值的时候会突然失去焦点&#xff0c;需要再次点击输入框才能正常输入&#xff0c;原因是table的key值&#xff0c;需要改成正常的index即可&#xff0c;如果你是循环的&…...

【绝地求生game】

编写一个完整的《绝地求生》这样的游戏程序代码是一个庞大的工程&#xff0c;涉及到成千上万行的代码和复杂的多模块协作。在这里&#xff0c;我可以提供一个非常简化的示例&#xff0c;用于演示游戏编程中可能用到的基本概念&#xff0c;比如玩家移动、基本物理和简单的游戏逻…...

Mac上Steam安装的游戏已经卸载,但游戏的快捷方式图标仍存在的解决方式

打开终端&#xff0c;输入以下内容&#xff0c;回车。 open ~/Applications 在弹出的窗口中&#xff0c;会列出对应的快捷方式&#xff0c;按需删除即可。 实际上打开的是 /Users/改为你的用户名/Applications 文件夹下的内容。因此也可以通过打开访达&#xff08;Finder&am…...

PTA 判断两个矩阵相等

Peter得到两个n行m列矩阵&#xff0c;她想知道两个矩阵是否相等&#xff0c;请你用“Yes”&#xff0c;“No”回答她&#xff08;两个矩阵相等指的是两个矩阵对应元素都相等&#xff09;。 输入格式: 第一行输入整数n和m&#xff0c;表示两个矩阵的行与列&#xff0c;用空格隔…...

《征服数据结构》双向链表

摘要&#xff1a; 1&#xff0c;双链表的介绍 2&#xff0c;双链表的用途 3&#xff0c;双链表的节点插入和删除 1&#xff0c;双链表的介绍 前面我们讲过单链表&#xff0c;单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多&#xff0c;比如删除倒数第…...

我用 Midjourney 的这种风格治愈了强迫症

在 Midjourney 能够实现的各种布局之中&#xff0c;有两种风格因其简洁、有序而独居魅力&#xff0c;它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译&#x1f923;)。要在现实生活中实现这样的美学效果并不容易&#xff0c;你需要精心挑选各种小物件&…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...