参考
gzweb
github dns
node安装
sudo ln -s /xxx/node-v8.17.0-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /xxx/node-v8.17.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
gzweb环境配置和运行
# =============================================
sudo apt install libjansson-dev libboost-dev imagemagick libtinyxml-dev mercurial cmake build-essential
# change dns ip
vi /etc/hosts
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
# install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
wget -O- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
总失败,直接clone源码
git clone git@github.com:nvm-sh/nvm.git ~/.nvm
git tag
git checkout v0.35.3
bash nvm.sh
vi .bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
# install node. Supported versions are 8 to 11.
nvm install 8
nvm use 8
# =============================================
# gzweb
cd ~; git clone https://github.com/osrf/gzweb
cd ~/gzweb
git checkout gzweb_1.4.1
npm set registry https://registry.npm.taobao.org/
source /usr/share/gazebo/setup.sh
# 先设置自己的模型路径
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/xxx/model/robot
GAZEBO_MODEL_PATH:以冒号分隔的一组目录,Gazebo 将在其中搜索模型
GAZEBO_RESOURCE_PATH:冒号分隔的一组目录,Gazebo 将在其中搜索其他资源,例如世界和媒体文件。
GAZEBO_MASTER_URI:凉亭主的 URI。这指定了服务器将启动的 IP 和端口,并告诉客户端连接到哪里。
GAZEBO_PLUGIN_PATH:以冒号分隔的一组目录,Gazebo 将在运行时搜索插件共享库。
GAZEBO_MODEL_DATABASE_URI:Gazebo 将从中下载模型的在线模型数据库的 URI。
# 编译,会拷贝本地模型到assets
npm run deploy --- -m
npm run deploy --- -m local
# 运行
npm start
解决gzweb不显示自己的模型
# js加载模型的代码在gziface.js
# 机器人:gazebo xacro中用model://相对路径,~/.gazebo/models下面放一份机器人模型;这样webgz能看到;
# 托盘:model.sdf写入相对路径,gzclient添加路径放置托盘后,gzweb能看到托盘;
# rviz 模型使用相对路径时无法显示(未解决)
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/xxx/model/robot:/xxx/model/obstacle
export GAZEBO_RESOURCE_PATH=$GAZEBO_RESOURCE_PATH:/xxx/model/robot:/xxx/model/obstacle
# 最终解决方案:
xacro引用的可视化和碰撞stl用model://相对路径;
所有模型放到~/.gazebo/models下,托盘sdf写入mode://相对路径;
并且复制所有模型到~/gzweb/http/client/assets