装机过程中需要修改系统中的环境参数以及配置!!!
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(使用前将#替换为@)