装机环境配置笔记

阅读: 评论:0

装机环境配置笔记

装机环境配置笔记

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

1./etc/udev/rules.d/imu.rules  添加以下内容(需要创建文件)

    # set the udev rule , make the device_port be fixed by imu
    #
    KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{version}==" 2.00", MODE:="0777", SYMLINK+="imu"

2.xiugaiyonghuming

1. 使用root用户权限

sudo su

进入root用户权限。
2. 修改 /etc/passwd用户信息文件

gedit /etc/passwd

找到代表原用户名的那一行,将用户名和后面的用户文件夹目录都修改为新用户名,保存并关闭。
如果没有gedit工具需要先下载gedit,使用其他的文本编辑工具也可以,比如vim。
3. 修改 /etc/shadow用户密码文件

gedit /etc/shadow

找到原用户名对应的地方,修改旧的用户名为新用户名,保存并关闭。
4. 修改 /etc/group用户组文件

gedit /etc/group

这里面会有很多包含旧用户名的组,全部改成新用户名,保存并关闭。
5. 修改用户文件夹目录

这里的文件夹目录是和/etc/passwd中的用户文件夹目录对应的,那里修改了文件夹目录,这里也要修改,如果二者不对应,将无法正常登录。使用以下命令进行修改,比如要将旧的用户名gy,修改为新的用户名rubber,则命令应写为

mv /home/gy /home/rubber

到这一步用户名就修改完成了,重启系统,使用新用户名登录进入。如果登录的时候依然显示的是原来的用户名,可以在图形界面点击右上角的倒三角,点击用户,进入Account Settings界面,在这里将旧用户名改为新用户名即可。
 
3.将当前用户添加到  ttyS2的组内

    rubber@gy-Computer:~$ ls -l /dev/ttyS2
    crw-rw---- 1 root dialout 4, 66 4月  13 12:02 /dev/ttyS2

当前组为 dialout 将当前用户rubber添加到dialout

    rubber@gy-Computer:~$    sudo usermod -aG   dialout rubber

重启用户

查看当前用户是否在组内

     

    rubber@gy-Computer:~$ groups
    rubber adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare

3.修改对应的IP修改两个网口的ip对应机械臂和imu在同一个网段

5使用sudo命令时无需输入密码,您可以按照以下步骤进行设置:

打开终端或命令行窗口。

输入以下命令以编辑sudoers文件:

sudo visudo

在打开的文件中,找到以"root ALL=(ALL) ALL"开始的一行。

在该行下面添加以下内容(其中rubber是您的用户名):

rubber ALL=(ALL) NOPASSWD: ALL

保存文件并退出编辑器。

重新启动终端或命令行窗口。

设置完成后,您在使用sudo命令时将不再需要输入密码。

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

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 -O fishros && . fishros
```

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

进入fishros一键配置ros

```bash
$ wget -O fishros && . fishros
```

. **  修改~/.bashrc   增加路径 **

source /home/rubber/rubber_tapping_robot/carto_ws/devel_isolated/setup.bash
source /home/rubber/rubber_tapping_robot/rubber_ws/devel/setup.bash
# <<< fishros initialize <<<
LD_LIBRARY_PATH=/home/rubber/rubber_tapping_robot/rubber_ws/devel/lib:/home/rubber/rubber_tapping_robot/carto_ws/devel_isolated/cartographer_rviz/lib:/home/rubber/rubber_tapping_robot/carto_ws/install_isolated/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/aubocontroller:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/config:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/log4cplusexport ENV_ROBOT_TYPE='0001'
export ENV_ROBOT_ID='a002'

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

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

通过U盘拷贝整个 rubber_tapping_robot 到家目录下

通过

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

``'''''''

1. 

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

3.需要通国小鱼 wget -O fishros && . fishros  安装 rosdepc!!!!!!!!!!!!!

rosdepc update
rosdepc install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
4.重新编译abseil(建议一条指令输入一次,不要全复制粘贴
set -o errexit
set -o verbose
cd abseil-cpp
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl ..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow absl
5.编译(在carto_ws下)
cd ~/rubber_tapping_robot/carto_ws
catkin_make_isolated --install --use-ninja

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


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

直接copy或运行命令

```bash
git clone .git
cd apriltag
cmake .
sudo make install
cd ..
sudo rm -rf apriltag
```

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

直接copy或运行命令

```
git clone .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(源码编译)

ubuntu中安装opencv3.4.5

1.opencv的安装

在SSD中需要使用到OPENCV3,那么经过选择安装opencv3.4.5,首先下载opencv3.4.5

打开网址:=4.1.1

选择opencv3.4.5:

选择源代码,tar格式的,右击复制下载链接,使用wget命令下载opencv 源代码,下载之后解压即可

    wget .4.

解压命令如下:

    tar -xvf 3.4.

解压之后开始编译opencv安装即可。

下面在编译opencv前需要安装一些依赖,使用下面的命令安装依赖项:

首先安装cmake工具,使用下面的命令安装cmake工具:

  

  sudo apt-get install cmake

安装好cmake工具之后,安装一下依赖项

   

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

安装完依赖项之后,首先进入opencv的目录下,开始使用cmake命令进行编译

   

 cd opencv-3.4.5

创建编译目录

  

  mkdir release && cd release

使用编译命令对opencv3.4.5进行编译

   

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_OPENGL=ON ..

完成之后使用make命令进行编译,根据自己cpu选择线程数

    make -j10

在这一步完成之后输入命令:

  

  sudo make install

至此编译已经完成,接下来添加环境变量:

在位置

sudo gedit /etc/f.f

文件下创建f,在创建好的文件里面添加

  

  /usr/local/lib

如下图:

同时执行命令使得更改生效:

    sudo ldconfig

完成这些之后配置bash,具体如下:

在文件/etc/bash.bashrc 的后面添加两行:

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH

可以借助vim或者winscp实现。之后输入命令

source /etc/bash.bashrc

使得配置生效。并更新数据库:

至此opencv安装完成。

#### 1.2.4. realsense

运行命令```bash

sudo apt-key adv --keyserver keyserver.ubuntu --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb  $(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 install ros-noetic-realsense2-*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 .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.有线网络连接*

静态网址设置

enp1s0:192.168.2.1

enp3s0: 192.168.1.102

### **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。

远程主机无需额外配置,浏览器地址输入`机器人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中修改。

导航问题

1.启动导航报错

ERROR: cannot launch node of type [move_base/move_base]: move_base
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/rubber/rubber_tapping_robot/rubber_ws/src
ROS path [2]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_rviz
ROS path [3]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros
ROS path [4]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros_msgs

解决方法:

sudo apt install ros-noetic-move-base

2.

ERROR: cannot launch node of type [map_server/map_server]: map_server
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/rubber/rubber_tapping_robot/rubber_ws/src
ROS path [2]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_rviz
ROS path [3]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros
ROS path [4]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros_msgs
ROS path [5]=/opt/ros/noetic/share

解决方法

sudo apt install ros-noetic-map-server

3

.sudo apt install ros-noetic-robot-pose-ekf

4.

[ERROR] [1684392691.155224726]: "chassis_link" passed to lookupTransform argument target_frame does not exist.
[ WARN] [1684392691.160409645]: link 'imu_link' material 'orange' undefined.
process[landmark_broadcaster-14]: started with pid [4009]
[ INFO] [1684392691.161912122]: lslidar type: c16
process[datatest-15]: started with pid [4017]
[ERROR] [1684392691.192080598]: Unable to open port.
[ INFO] [1684392691.250775610]: output frame: odom
[ INFO] [1684392691.261021295]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.261069466]: Opening UDP socket: port 2368
[ INFO] [1684392691.264873838]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.264908752]: Opening UDP socket: port 2369
[ INFO] [1684392691.266866106]: return mode: 1
[ INFO] [1684392691.270245406]: base frame: ch[ERROR] [1684392691.155224726]: "chassis_link" passed to lookupTransform argument target_frame does not exist. 
[ WARN] [1684392691.160409645]: link 'imu_link' material 'orange' undefined.
process[landmark_broadcaster-14]: started with pid [4009]
[ INFO] [1684392691.161912122]: lslidar type: c16
process[datatest-15]: started with pid [4017]
[ERROR] [1684392691.192080598]: Unable to open port.
[ INFO] [1684392691.250775610]: output frame: odom
[ INFO] [1684392691.261021295]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.261069466]: Opening UDP socket: port 2368
[ INFO] [1684392691.264873838]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.264908752]: Opening UDP socket: port 2369
[ INFO] [1684392691.266866106]: return mode: 1
[ INFO] [1684392691.270245406]: base frame: chassis_link
[ INFO] [1684392691.278525306]: BASE READY!!!
[ INFO] [1684392691.431160967]: default channel is 8
[imu_sonser_spec-7] process has died [pid 3953, exit code 255, cmd /home/rubber/rubber_tapping_robot/rubber_ws/devel/lib/serial_imu/serial_imu __name:=imu_sonser_spec __log:=/home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7.log].
log file: /home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7*.log
assis_link
[ INFO] [1684392691.278525306]: BASE READY!!!
[ INFO] [1684392691.431160967]: default channel is 8
[imu_sonser_spec-7] process has died [pid 3953, exit code 255, cmd /home/rubber/rubber_tapping_robot/rubber_ws/devel/lib/serial_imu/serial_imu __name:=imu_sonser_spec __log:=/home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7.log].
log file: /home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7*.log

解决方法:

sudo apt install ros-noetic-global-planner 
sudo apt install ros-noetic-dwa-local-planner

5.

/home/rubber/rubber_tapping_robot/rubber_ws/src/lslidar_c16/lslidar_driver/include/lslidar_driver/input.h:24:10: fatal error: pcap.h: 没有那个文件或目录
   24 | #include <pcap.h>
      |          ^~~~~~~~

sudo apt-get update
sudo apt-get install  libpcap-dev

6,出现websocket 或者mqtt报错

###需安装websocketpp库:
sudo apt-get install libboost-all-dev

git clone .git
cd websocketpp/
mkdir build
cd build/
cmake ..
sudo make install

sudo apt install python3-websocket
###MQTT安装paho.mqtt.c-1.3.0.zip这个包的源码###

源码在:.git

下载编译安装一下:

本文发布于:2024-01-28 13:36:01,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064201677783.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:装机   环境   笔记
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23