********Install ProtoBuf
************************
终端输入 nproc 查看核心数,以下的N为核心数
sudo apt-get install autoconf automake libtool curl make g++ unzip
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protobuf-all-3.11.4.zip
unzip protobuf-all-3.11.4.zip
cd protobuf-3.11.4
./configure
make -jN
make check -jN
sudo make install
sudo ldconfig
********Install Franka-interface
********************************
git clone --recurse-submodules https://github.com/iamlab-cmu/franka-interface.git
cd franka-interface
以下步骤均在franka-interface目录下进行
如果Robot系统软件版本firmware is 3.x(进桌面软件查看版本号)
bash ./bash_scripts/clone_libfranka.sh 3
或者如果版本号是4.x,那么
bash ./bash_scripts/clone_libfranka.sh 4
bash ./bash_scripts/make_libfranka.sh
bash ./bash_scripts/make_franka_interface.sh
确保source /opt/ros/kinetic/setup.bash` or `source /opt/ros/melodic/setup.bash` into your `~/.bashrc` file.
安装catkin-tools:
pip install catkin-tools
或者
sudo apt-get install python-catkin-tools
bash ./bash_scripts/make_catkin.sh
sudo apt install ros-melodic-libfranka ros-melodic-franka-ros #kinect版本替换melodic
********Install Frankapy
********************************
git clone --recurse-submodules https://github.com/iamlab-cmu/frankapy.git
以下步骤在frankapy目录下进行
pip3 install -e .
上面这步如果报错,则需要安装LLVM,llvmlite和numba,在python3中
安装llvm llvmlite numba
sudo apt install llvm-10
export LLVM_CONFIG=/usr/bin/llvm-config-10
pip3 install llvmlite==0.36.0
升级pip
python3 -m pip install --upgrade pip
安装numba
pip3 install numba --no-cache-dir
numba安装结束后再运行
pip3 install -e .
bash ./bash_scripts/make_catkin.sh
bash ./bash_scripts/make_proto.sh
To make the protobufs use the following script (**you don't need to do this if you haven't modified the proto messages**):
```bash
./bash_scripts/make_proto.sh
以上安装过程均需在两台电脑上安装(也可以一台配置Franka-interface和ProtoBuf,另一台配置frankapy和ProtoBuf)
********网络配置
********************************
Franka的Ip为172.16.0.2(请勿修改)
Control PC(实时内核电脑,装有franka-interface,用于控制panda)
ipv4方式:手动
地址: 172.16.0.3
子关掩码:25(随便填)
点击应用
WorkStation (Frankapy运行电脑,也用于远程启动franka机器人)
ipv4方式:手动
地址: 172.16.0.1
子关掩码:25(随便填)
点击应用
在Control PC上 ping 172.16.0.1或者在Workstation上 ping 172.16.0.3
出现如下即为局域网网络配置成功
PING 172.16.0.9 (172.16.0.9) 56(84) bytes of data.
64 bytes from 172.16.0.9: icmp_seq=1 ttl=64 time=0.789 ms
64 bytes from 172.16.0.9: icmp_seq=2 ttl=64 time=0.546 ms
64 bytes from 172.16.0.9: icmp_seq=3 ttl=64 time=0.889 ms
********SSH通信
********************************
两台电脑都安装ssh
sudo apt install openssh-server
在Control PC上编辑hosts
sudo gedit /etc/hosts
将Workstation的ip和计算机名字添加到hosts然后保存
172.16.0.1 Workstation_PC_名字
同理在Workstation上编辑hosts
sudo gedit /etc/hosts
将Control PC的ip和计算机名字添加到hosts然后保存
172.16.0.3 Control PC的名字
配置成功后在Workstation执行命令ssh 'ControlPCUserName@ControlPCName,比如
ssh userName@ControlPCName
然后对方电脑输入密码
控制成功的标志是当前终端的用户和电脑名称变成了对方的
更改start_control_pc.sh 内部参数
control_pc_uname:实时内核电脑名称(安装了franka-interface)
control_pc_use_password:
添加SSH key
在Workstation上执行如下命令,将email替换成自己的邮箱
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
[Press enter]
[Press enter]
[Press enter]
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
这个时候会在home目录的.ssh文件夹下看到一个文件 id_rsa.pub
然后在COntrol PC的.ssh文件夹新建一个名为authorized_keys的文件
sudo gedit ./ssh/authorized_keys
将该id_rsa.pub文件内容复制到上面的新建文件里保存
然后
ssh userName@ControlPCName
如果不需要密码即切换到Control PC,则配置成功
********使用方法
********************************
除了-i 参数必须主动输入以外,其他的参数都可以在bash_scripts/start_control_pc.sh文件内修改
其中:
-h show this help text
-i IP address for the control PC.
-u Username on control PC. (default iam-lab)
-p Control PC password
-d Path to franka_interface on control PC (default ~/Documents/franka-interface)
-r Robot number (default 1)
-s Start franka-interface on control PC (0 / 1 (default))
-g Robot has gripper (0 / 1 (default))
-l Log at 1kHz on franka interface (0 (default) / 1)
-e Stop franka interface when an error has occurred (0 (default) / 1)
./start_control_pc.sh -i iam-space
./start_control_pc.sh -i iam-space -u iam-lab -p 12345678 -d ~/Documents/franka-interface -r 1 -s 0
"
control_pc_uname="tesla"
control_pc_use_password=0
control_pc_password="xxxx"
control_pc_franka_interface_path="~/franka-interface"
start_franka_interface=1
robot_number=1
with_gripper=1
log_on_franka_interface=1
stop_on_error=0
因为上述ssh通信没有设置任何密码,因此这里的control_pc_use_password=0
到fWorkstation电脑上,启动ControlPC的驱动程序和ROS程序
cd frankapy
bash ./bash_scripts/start_control_pc.sh -i 【control PC IP地址】
source catkin_ws/devel/setup.bash
python3 xxx.py