装机环境配置笔记

2023-05-16

装机过程中需要修改系统中的环境参数以及配置!!!

http://t.csdn.cn/Ste4n(记录在这里)

# 运行环境配置文档(参考使用非必须)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

## **0.配置ros环境**

### **0.1.ubuntu系统安装**

插入u盘,开机,按`del`进入BIOS面板,进入`Advanced`下的`CSM Configuration`,更改`CSM Support`选项为`Enabled`,进入`boot`选项,选择无uefi的选项为`boot option1#`,`f4`保存重启,按`shift`,选U盘启动,进入ubuntu系统安装。

### **0.2.ubuntu系统安装配置ros**

**(1) 换源**

进入fishros一键换源

```bash
$ wget http://fishros.com/install -O fishros && . fishros
```

**(2) 安装配置ros**

进入fishros一键配置ros

```bash
$ wget http://fishros.com/install -O fishros && . fishros
```

### **0.5.cartographer安装**(复制包过来的不需要安装cartographer。!!!)

进入fishros一键安装,之后修改位置。
或运行代码~~

```bash
 sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow libgoogle-glog-dev
cd ~/rubber_tapping_robot/carto_ws
# 存档版本不需下载cartographer源码,否则需要根据说明下载源码。
 rosdepc update -t src
# 这里因为网络问题使用了fishros的rosdepc
 rosdepc install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
 catkin_make_isolated --install --use-ninja
```

编译工程中会报缺少一个GMOCK_LIBRARY的错误

解决方法

sudo apt install libgmock-dev

## **1.源代码与依赖**

### **1.1.获取源码**

直接copy或命令行运行

```bash
$ cd ~
# 原http方式弃用,改用ssh
 git clone git@github.com:fangjhh/rubber_tapping_robot.git
```

需要设置机器ssh公钥才可下载。

### **1.2.安装依赖**


#### 1.2.1. AprilTag(源码编译)

直接copy或运行命令

```bash
git clone https://github.com/AprilRobotics/apriltag.git
cd apriltag
cmake .
sudo make install
cd ..
sudo rm -rf apriltag
```

#### 1.2.2. Sophus(源码编译)

直接copy或运行命令

```
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
sudo make install
cd ../..
sudo rm -rf Sophus
```

步骤顺利,sudo make install时报错:     Sophus/sophus/so2.cpp:32:26:error:lvalue required as left operand of assignment 针对上述报错修改如下:打开Sophus/sophus/so2.cpp修改对应32、33行代码     32 | unit_comples_.real() = 1.; ->  unit_comples_.real(1.);     33 | unit_comples_.imag() = 0.; ->  unit_comples_.imag(0.);

#### 1.2.3. opencv3.4.5(源码编译)

直接copy或运行命令

```bash
# 使用Ubuntu 20.04 已经不需要虚拟环境
# TODO: 这里还需要源码从哪来的  Releases - OpenCV
$ cd opencv-3.4.5
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D ENABLE_CXX11=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv-3.4.5/modules \
-D BUILD_EXAMPLES=ON ..
$ make -j8
$ sudo make install
$ sudo ldconfig
```

2.失败的话请按照本文进行

ubuntu中安装opencv3.4.5_opencv-3.4.5_Charlie·齐的博客-CSDN博客

#### 1.2.4. realsense

运行命令```bash

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u
sudo apt-get install -y librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg ros-noetic-realsense2-camera
sudo apt-get --yes install ros-noetic-diagnostic-updater -y

sudo apt-get --yes install ros-noetic-ddynamic-reconfigure -y
sudo apt-get --yes install ros-noetic-rgbd-launch
sudo apt install ros-noetic-pcl-ros libeigen3-dev
cd /usr/include
sudo ln -sf eigen3/Eigen Eigen
sudo ln -sf eigen3/unsupported unsupported
sudo apt-get update
sudo apt-get --yes upgrade


```

#### 1.2.5. Other dependencies

```bash
$ sudo apt install -y ros-noetic-moveit ros-noetic-moveit-visual-tools ros-noetic-navigation ros-noetic-trac-ik-kinematics-plugin ros-noetic-industrial-core ros-noetic-joy
$ sudo apt install -y build-essential cmake pkg-config libjpeg8-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python2.7-dev ros-noetic-serial
```

### **1.3.auto机械臂包**

直接copy或运行代码

```bash
$ wget http://archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf9v5_2.6.1-1.3_amd64.deb
$ sudo dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb
```

### **1.4.Visual-Servo**

运行代码

```bash
$ wstool update -t src
```

## **2.网络配置**

### **2.1.无线网络连接**

目前使用室外路由器(WAVELINK-N)做主节点。
|WiFi SSID:| WAVELINK-N|
|:----:|:-----:|
|WiFi 密码:| zzkj2022|
|Admin 密码:|97012400|

### **2.2.机器人IP**

在户外使用固定路由器,所以各个机器人使用静态IP
|   机器人描述   | 机器人主机名 |    IP地址     |
| :------------: | :----------: | :-----------: |
|    良乡v1.1    |  rubber-xcy  | 192.168.10.9  |
| 小底盘坏机械臂 |   rubber00   | 192.168.10.10 |
|   新割胶机构   |   rubber01   | 192.168.10.11 |
|   新导航底盘   |   rubber02   | 192.168.10.12 |
|     机器臂     |               |192.168.2.13|

### **2.3.机器人网口连接**

一般情况下,右侧网口(第一个有线连接)插机械臂,左侧网口(第二个有线连接)插激光雷达。

## **3.开机自启设置**

### **3.1.编写脚本**

编写脚本,脚本位置存放在`rubber_tapping_robot/script`中

```shell
/bin/bash
···
···
w$ hile true
do
···
done
```

### **3.2.修改脚本权限**

在脚本存放处打开终端,运行代码
```
chmod +x auto_run.sh
```

### **3.3.添加自启**
 
 命令行运行

 ```bash
$ gnome-session-properties
```

Command部分添加以下命令

```
gnome-terminal -x bash -c '/home/rubber/rubber_tapping_robot/script/autostart.sh;exec bash'
```

## **4.机器人远程操作**

### **4.1.VNC**

机器人主机安装`x11vnc`与`openssh-server`,远控主机通过deb安装`vncviewer`即可。

机器人主机通过开机自启脚本启动,远程主机运行`vncviewer`并连接机器人IP即可。

### **4.2.VS code-remote ssh插件**

配置时需要主从机连能够接通外网的局域网,以更新server。

### **4.3.远程鱼眼**

使用MJPG-Streamer达到远程观察机器人携带摄像头的用途。

机器人主机安装MJPG-Streamer,并使用remotecam.sh脚本正确启动程序。可能出现/dev/video*对应不上的问题,根据rubber-xcy中的/etc/udev/rules.d/imu.rules中修改相机相应的.rules文件即可解决,保证每次相机连接的都是video0。

远程主机无需额外配置,浏览器地址输入`http://机器人IP:8080`即可

## **5.机械臂调试**

### **5.1.调试仿真**

实机调试之前先仿真调试,使用`roslaunch visual_servo visual_servo_sim.launch`

修改`aubo_ixx_gazebo_control.launch`

修改`(find aubo_ixx_moveit_config)`

之后运行`roslaunch visual_servo visual_servo_sim.launch`即可。
### **5.2.机械臂标定**

除了在示教器以外,还可以在AuboSDK.cpp中修改。

 cd ~/cartographer_ws/src/
    sudo apt-get install  liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev -y

    git clone https://github.com/ceres-solver/ceres-solver.git
    VERSION="1.13.0"
    # Build and install Ceres.                                                                                                                                                                                                                 
    git clone https://ceres-solver.googlesource.com/ceres-solver
    cd ceres-solver
    git checkout tags/${VERSION}
    mkdir build
    cd build
    cmake .. -G Ninja -DCXX11=ON
    ninja
    CTEST_OUTPUT_ON_FAILURE=1 ninja test
    sudo ninja install

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

装机环境配置笔记 的相关文章

随机推荐

  • 详解 FTP、FTPS 与 SFTP 的原理

    FTP FTPS 与 SFTP 简介 FTP FTP 即 文件传输协议 xff08 英语 xff1a File Transfer Protocol 的缩写 xff09 是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议 完整
  • 用函数调用,把在一个函数的内部改变另一个函数的变量(这个变量相对于第一个函数就是一个外部变量)

    include lt stdio h gt void add int p 指针是整数 xff0c 所以其类型是int整型 这里 p外部变量num的地址 xff0c 即 p 61 num p 43 43 指针变量在单独使用时记得要加括号表示一
  • keil5 C51版本安装及MDK5合并,搭建STM32开发环境(详细教程)

    keil5安装及MDK5合并 资源说明 已将文章中涉及到的所有软件安装包及注册机2032版都放置到百度网盘 xff0c 链接 xff1a 百度云盘链接 提取码 xff1a 0109 1 C51安装 首先在keil官网里下载软件安装包 xff
  • Jmeter性能测试(22)--内存溢出原因及解决方法

    jmeter是一个java开发的开源性能测试工具 xff0c 在性能测试中可支持模拟并发压测 xff0c 但有时候当模拟并发请求较大或者脚本运行时间较长时 xff0c 压力机会出现卡顿甚至报异常 内存溢出 xff0c 这里就介绍下如何解决内
  • Ubuntu16.04的安装教程

    Ubuntu16 04的安装 这里我们会介绍Ubuntu16 04的史诗级保姆教程 开始了 xff0c 车速有点快 xff0c 系好安全带 xff0c 发车了 xff01 1 打开浏览器 xff0c 找到Ubuntu的官网 2 单击 系统桌
  • 电脑触摸板无法使用,I2C HID设备异常处理。

    本人电脑 戴尔 Vostro3400 xff0c win10系统 xff0c 触摸板突然失灵 xff0c 客服让我更新BIOS驱动 xff0c 关闭电源选项的快速启动等等 好了一阵 xff0c 再一重启又失灵 经过无限次百度 xff0c 终
  • 自我简介,对软件工程课程的希望及个人目标

    我是一名桂林理工大学信息科学与工程学院软件工程本科大二年纪的学生 xff0c 热爱学习 xff0c 努力上进 xff0c 对未来充满希望 xff0c 很高兴能学习软件工程这门课程 我对这门课程的希望 xff1a 1 我希望通过学习软件工程这
  • 用HTML、CSS写一个酷炫的动态搜索框

    用HTML CSS写一个酷炫的动态搜索框 可伸展的动态搜索框 xff01 复制粘贴即可用 xff01 HTML部分 xff1a span class token doctype lt DOCTYPE html gt span span cl
  • 使用 curl/git 命令时出现 Failed to connect to XXX port 443: 拒绝连接

    文章目录 原因与过程解决办法 原因与过程 今天在linux下安装docker compose出现Failed connect to github com 443 拒绝连接 网上查了下说是DNS被污染 xff0c 改下host文件 解决办法
  • 【C++】30h速成C++从入门到精通(STL介绍、string类)

    STL简介 什么是STL STL standard template libaray 标准模板库 xff1a 是C 43 43 标准库的重要组成部分 xff0c 不仅是一个可复用的组件库 xff0c 而且是一个包罗数据结构与算法的软件框架
  • redis分布式锁

    1 Redis分布式锁最简单的实现 想要实现分布式锁 xff0c 必须要求 Redis 有 互斥 的能力 xff0c 我们可以使用 SETNX 命令 xff0c 这个命令表示SET if Not Exists xff0c 即如果 key 不
  • 网络边界安全

    防火墙 防火墙的分类 按物理特性划分 软件防火墙硬件防火墙 按性能划分 百兆级防火墙千兆级防火墙 按防火墙结构划分 单一主机防火墙路由集成防火墙分布式防火墙 按防火墙技术划分 包过滤防火墙应用代理防火墙状态检测防火墙 防火墙的功能 访问控制
  • 控制台报错--Module not found: Error: Can‘t resolve ‘core-js/fn/promise‘

    报错信息 xff1a 解决方法 xff1a 原因是vscode会自动导入 import resolve from 39 core js fn promise 39 这一行代码
  • 如何测量无人机电机和螺旋桨的效率?

    为什么要测试电机和螺旋桨 xff1f 首先要确认我们和最终用户的需求是什么 xff1f 因为它将帮助我们发现哪些内容需要优化 xff1a 是否希望增加无人机不间断航拍的续航时长 xff1f 是否希望增加无人机的净载荷 xff1f 是否需要加
  • Jmeter性能测试(23)--分布式测试

    关于jmeter的介绍和元件作用 xff0c 之前的博客介绍过 xff0c 很多其他同行的博客也够详细的 xff0c 这里不做介绍 xff0c 对jmeter不甚了解的可以参考之前的博客 xff1a jmeter xff1a 菜鸟入门到进阶
  • 无人机的电调及其工作原理是什么?

    电子速度控制器 ESC 是电力推进系统的重要硬件组成部分 它就像系统的大脑一样 xff0c 根据从油门控制器接收到的数据信号告诉电机以多快的转速运行 对于无人机和遥控车辆等小型场景应用 xff0c 该控制器的名称为 ESC xff0c 而对
  • 三自由度无人机飞手培训、PID调试、飞行教学、飞控算法验证、故障仿真平台

    无人机在研制过程中需要不断地进行飞行测试 xff0c 而测试的过程不是万无一失的 xff0c 飞行过程中发生任何错误都有可能会导致无人机的损毁或破坏 xff0c 更严重地甚至会造成外界伤害 基于此我们推出了无人机的三旋转自由度 3 DOF
  • shell脚本的执行

    标题 shell脚本的执行 概述 当shell脚本运行时 xff0c 首先会查找系统环境变量ENV xff0c 环境变量指定了环境文件 xff08 加载顺序 etc profile bash profile bashrc etc bashr
  • prometheus(普罗米修斯)

    prometheus 什么是普罗米修斯 xff1f Prometheus是一个开源系统监控和警报工具包 xff0c 最初是在 SoundCloud 上构建的 自2012年成立以来 xff0c 许多公司和组织都采用了Prometheus xf
  • 装机环境配置笔记

    装机过程中需要修改系统中的环境参数以及配置 xff01 xff01 xff01 http t csdn cn Ste4n xff08 记录在这里 xff09 运行环境配置文档 xff08 参考使用非必须 xff09 Notion The a