orocos安装_ubuntu 精简安装步骤

1. sudo apt remove libreoffice* firefox  游戏等东西

2. sudo apt install openssh-server samba vim git

3. 禁用 compiz.   sudo apt-get install gnome-session-flashback

注销,重新登录系统,在用户名的右侧,会有个按钮,选择 GNOME Flashback(Metacity)选项,就进入了另一个风格的界面

4. 安装自定义的模拟显示器的远程VNC

sudo apt install xvfbx11vnc

点击(此处)折叠或打开

ray@Joule:/work/doc$ cat fake_lcd.sh

#!/bin/bash

while [ 1 ]; do

xvfb_cnt=`pidof Xvfb`

if [[ $xvfb_cnt -eq 0 ]]; then

Xvfb :95 -screen 0 1280x1024x16 &

sleep 2

fi

x11_cnt=`pidof x11vnc`

if [[ $x11_cnt -eq 0 ]]; then

x11vnc -ncache 10 -listen 0.0.0.0 -rfbport 9595 -noipv6 -passwd wanglong -display :95 & #每次vncview退出后, 此程序也会退出.

else

sleep 3

fi

done

5. 开启桌面共享

命令行输入 dconf-editor ,设置 org > gnome > desktop > remote-access ,取消钩选 “require-encryption”属性

现在可以通过 ssh 或者 vnc viewer 远程登录了.

6. 部署自己的开发环境.

点击(此处)折叠或打开

ssh-keygen -t rsa -C "225986@qq.com"

git config --global user.email 225986@qq.com

git config --global user.name iibull

点击(此处)折叠或打开

mkdir /work/doc

cd /work/doc

git clone ssh://iibull@192.168.46.168:29418/doc.git .

点击(此处)折叠或打开

cd /work

git clone ssh://iibull@192.168.46.168:29418/chassis/nonRosStdPkgs.git

mkdir /work/old_ws; cd /work/old_ws

git clone ssh://iibull@192.168.46.168:29418/kinetic_demo.git .

mkdir /work/pad_apps; cd /work/pad_apps

git clone ssh://iibull@192.168.46.168:29418/ChairRefApps.git .

mkdir -p /work/Waffle/src; cd /work/Waffle/src  #注意, 我已经把第三方的一些库挪到了 third_pkgs 目录中.

git clone ssh://iibull@192.168.46.168:29418/chassis/ROS_kinetic_waffle.git .

建立 ros kinect 环境.

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update

sudo apt install ros-kinetic-actionlib ros-kinetic-actionlib-msgs ros-kinetic-actionlib-tutorials ros-kinetic-amcl ros-kinetic-angles ros-kinetic-ar-track-alvar ros-kinetic-ar-track-alvar-msgs ros-kinetic-base-local-planner ros-kinetic-bfl ros-kinetic-bond ros-kinetic-bond-core ros-kinetic-bondcpp ros-kinetic-bondpy ros-kinetic-camera-calibration ros-kinetic-camera-calibration-parsers ros-kinetic-camera-info-manager ros-kinetic-carrot-planner ros-kinetic-catkin ros-kinetic-class-loader ros-kinetic-clear-costmap-recovery ros-kinetic-cmake-modules ros-kinetic-collada-parser ros-kinetic-collada-urdf ros-kinetic-common-msgs ros-kinetic-common-tutorials ros-kinetic-compressed-depth-image-transport ros-kinetic-compressed-image-transport ros-kinetic-control-msgs ros-kinetic-costmap-2d ros-kinetic-cpp-common ros-kinetic-cv-bridge ros-kinetic-ddynamic-reconfigure ros-kinetic-depth-image-proc ros-kinetic-depthimage-to-laserscan ros-kinetic-desktop ros-kinetic-desktop-full ros-kinetic-diagnostic-aggregator ros-kinetic-diagnostic-analysis ros-kinetic-diagnostic-common-diagnostics ros-kinetic-diagnostic-msgs ros-kinetic-diagnostic-updater ros-kinetic-diagnostics ros-kinetic-dwa-local-planner ros-kinetic-dynamic-reconfigure ros-kinetic-ecl-build ros-kinetic-ecl-concepts ros-kinetic-ecl-config ros-kinetic-ecl-errors ros-kinetic-ecl-exceptions ros-kinetic-ecl-license ros-kinetic-ecl-mpl ros-kinetic-ecl-threads ros-kinetic-ecl-time ros-kinetic-ecl-time-lite ros-kinetic-ecl-type-traits ros-kinetic-ecl-utilities ros-kinetic-eigen-conversions ros-kinetic-eigen-stl-containers ros-kinetic-executive-smach ros-kinetic-fake-localization ros-kinetic-filters ros-kinetic-gazebo-dev ros-kinetic-gazebo-msgs ros-kinetic-gazebo-plugins ros-kinetic-gazebo-ros ros-kinetic-gazebo-ros-pkgs ros-kinetic-gencpp ros-kinetic-geneus ros-kinetic-genlisp ros-kinetic-genmsg ros-kinetic-gennodejs ros-kinetic-genpy ros-kinetic-geometric-shapes ros-kinetic-geometry ros-kinetic-geometry-msgs ros-kinetic-geometry-tutorials ros-kinetic-gl-dependency ros-kinetic-global-planner ros-kinetic-gmapping ros-kinetic-image-common ros-kinetic-image-geometry ros-kinetic-image-pipeline ros-kinetic-image-proc ros-kinetic-image-publisher ros-kinetic-image-rotate ros-kinetic-image-transport ros-kinetic-image-transport-plugins ros-kinetic-image-view ros-kinetic-interactive-marker-tutorials ros-kinetic-interactive-markers ros-kinetic-joint-state-publisher ros-kinetic-joy ros-kinetic-kdl-conversions ros-kinetic-kdl-parser ros-kinetic-laser-assembler ros-kinetic-laser-filters ros-kinetic-laser-geometry ros-kinetic-laser-pipeline ros-kinetic-laser-proc ros-kinetic-laser-scan-publisher-tutorial ros-kinetic-librviz-tutorial ros-kinetic-map-msgs ros-kinetic-map-server ros-kinetic-marker-msgs ros-kinetic-media-export ros-kinetic-message-filters ros-kinetic-message-generation ros-kinetic-message-runtime ros-kinetic-mk ros-kinetic-move-base ros-kinetic-move-base-msgs ros-kinetic-move-slow-and-clear ros-kinetic-mrpt-bridge ros-kinetic-mrpt-msgs ros-kinetic-mrpt1 ros-kinetic-nav-core ros-kinetic-nav-msgs ros-kinetic-navfn ros-kinetic-navigation ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-nodelet ros-kinetic-nodelet-core ros-kinetic-nodelet-topic-tools ros-kinetic-nodelet-tutorial-math ros-kinetic-octomap ros-kinetic-odometry-publisher-tutorial ros-kinetic-opencv3 ros-kinetic-openslam-gmapping ros-kinetic-orocos-kdl ros-kinetic-pcl-conversions ros-kinetic-pcl-msgs ros-kinetic-pcl-ros ros-kinetic-people-msgs ros-kinetic-perception ros-kinetic-perception-pcl ros-kinetic-pluginlib ros-kinetic-pluginlib-tutorials ros-kinetic-point-cloud-publisher-tutorial ros-kinetic-polled-camera ros-kinetic-pose-base-controller ros-kinetic-pose-cov-ops ros-kinetic-pose-follower ros-kinetic-python-orocos-kdl ros-kinetic-python-qt-binding ros-kinetic-qt-dotgraph ros-kinetic-qt-gui ros-kinetic-qt-gui-cpp ros-kinetic-qt-gui-py-common ros-kinetic-qwt-dependency ros-kinetic-random-numbers ros-kinetic-range-sensor-layer ros-kinetic-resource-retriever ros-kinetic-rgbd-launch ros-kinetic-robot ros-kinetic-robot-model ros-kinetic-robot-pose-ekf ros-kinetic-robot-pose-publisher ros-kinetic-robot-setup-tf-tutorial ros-kinetic-robot-state-publisher ros-kinetic-robot-upstart ros-kinetic-roomba-stage ros-kinetic-ros ros-kinetic-ros-base ros-kinetic-ros-comm ros-kinetic-ros-core ros-kinetic-ros-environment ros-kinetic-ros-tutorials ros-kinetic-rosbag ros-kinetic-rosbag-migration-rule ros-kinetic-rosbag-storage ros-kinetic-rosbash ros-kinetic-rosboost-cfg ros-kinetic-rosbuild ros-kinetic-rosclean ros-kinetic-rosconsole ros-kinetic-rosconsole-bridge ros-kinetic-roscpp ros-kinetic-roscpp-core ros-kinetic-roscpp-serialization ros-kinetic-roscpp-traits ros-kinetic-roscpp-tutorials ros-kinetic-roscreate ros-kinetic-rosgraph ros-kinetic-rosgraph-msgs ros-kinetic-roslang ros-kinetic-roslaunch ros-kinetic-roslib ros-kinetic-roslint ros-kinetic-roslisp ros-kinetic-roslz4 ros-kinetic-rosmake ros-kinetic-rosmaster ros-kinetic-rosmsg ros-kinetic-rosnode ros-kinetic-rosout ros-kinetic-rospack ros-kinetic-rosparam ros-kinetic-rospy ros-kinetic-rospy-tutorials ros-kinetic-rosserial-arduino ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosservice ros-kinetic-rostest ros-kinetic-rostime ros-kinetic-rostopic ros-kinetic-rosunit ros-kinetic-roswtf ros-kinetic-rotate-recovery ros-kinetic-rqt-action ros-kinetic-rqt-bag ros-kinetic-rqt-bag-plugins ros-kinetic-rqt-common-plugins ros-kinetic-rqt-console ros-kinetic-rqt-dep ros-kinetic-rqt-graph ros-kinetic-rqt-gui ros-kinetic-rqt-gui-cpp ros-kinetic-rqt-gui-py ros-kinetic-rqt-image-view ros-kinetic-rqt-launch ros-kinetic-rqt-logger-level ros-kinetic-rqt-moveit ros-kinetic-rqt-msg ros-kinetic-rqt-nav-view ros-kinetic-rqt-plot ros-kinetic-rqt-pose-view ros-kinetic-rqt-publisher ros-kinetic-rqt-py-common ros-kinetic-rqt-py-console ros-kinetic-rqt-reconfigure ros-kinetic-rqt-robot-dashboard ros-kinetic-rqt-robot-monitor ros-kinetic-rqt-robot-plugins ros-kinetic-rqt-robot-steering ros-kinetic-rqt-runtime-monitor ros-kinetic-rqt-rviz ros-kinetic-rqt-service-caller ros-kinetic-rqt-shell ros-kinetic-rqt-srv ros-kinetic-rqt-tf-tree ros-kinetic-rqt-top ros-kinetic-rqt-topic ros-kinetic-rqt-web ros-kinetic-rviz ros-kinetic-rviz-plugin-tutorials ros-kinetic-rviz-python-tutorial ros-kinetic-self-test ros-kinetic-sensor-msgs ros-kinetic-serial ros-kinetic-shape-msgs ros-kinetic-simple-navigation-goals-tutorial ros-kinetic-simulators ros-kinetic-smach ros-kinetic-smach-msgs ros-kinetic-smach-ros ros-kinetic-smclib ros-kinetic-social-navigation-layers ros-kinetic-stage ros-kinetic-stage-ros ros-kinetic-std-msgs ros-kinetic-std-srvs ros-kinetic-stereo-image-proc ros-kinetic-stereo-msgs ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-tf2 ros-kinetic-tf2-eigen ros-kinetic-tf2-geometry-msgs ros-kinetic-tf2-kdl ros-kinetic-tf2-msgs ros-kinetic-tf2-py ros-kinetic-tf2-ros ros-kinetic-theora-image-transport ros-kinetic-topic-tools ros-kinetic-trajectory-msgs ros-kinetic-turtle-actionlib ros-kinetic-turtle-tf ros-kinetic-turtle-tf2 ros-kinetic-turtlesim ros-kinetic-urdf ros-kinetic-urdf-parser-plugin ros-kinetic-urdf-tutorial ros-kinetic-urg-c ros-kinetic-urg-stamped ros-kinetic-usb-cam ros-kinetic-vision-opencv ros-kinetic-visualization-marker-tutorials ros-kinetic-visualization-msgs ros-kinetic-visualization-tutorials ros-kinetic-viz ros-kinetic-voxel-grid ros-kinetic-webkit-dependency ros-kinetic-xacro ros-kinetic-xmlrpcpp ros-kinetic-yaml-cpp-0-3 ros-kinetic-yocs-velocity-smoother libceres1 libceres-dev lua5.3 liblua5.3-0 liblua5.3-dev python-rosinstall python-rosinstall-generator python-wstool build-essential htop strace yasm ninja-build libsdl2-2.0-0 libsdl2-dev libpostproc-dev protobuf-compiler

sudo rosdep init ; rosdep update

cd /work/Waffle/src;catkin_init_workspace

在 ffmpeg代码中, 编译

./config --enable-shared --disable-static

make -j4

sudo make install-headers  install-libs

部署环境

点击(此处)折叠或打开

cat /etc/ROS_ENV

#!/bin/sh

source /opt/ros/kinetic/setup.bash

source /work/Waffle/install_isolated/setup.bash

export ROS_MASTER_IP=127.0.0.1

export ROS_MASTER_URI=http://${ROS_MASTER_IP}:11311

export ROS_HOSTNAME=127.0.0.1

export GIT_SSL_NO_VERIFY=1

export BIG_MODEL=Waffle

export SLAM_MAP_DIR=/work/Waffle/SlamMap

export VP_CALLBACK_ECHO=everything_is_OK

点击(此处)折叠或打开

cat ~/.bashrc

source /etc/ROS_ENV

alias gw='cd /work/Waffle'

alias gs='cd /work/Waffle/src'

alias gm='cd /work/Waffle && catkin_make_isolated --install --use-ninja'

编译时有一些是前置编译项目, 例如 cartographer

cd /tmp; /work/Sensors/src/cartographer/scripts/install_proto3.sh

//开机自动, 在 UI startup program 中添加两项

点击(此处)折叠或打开

Baidu TTS daemon

/work/pad_apps/bin/custom_ffplay_baidu_tts -vn -nodisp -f mp3 /tmp/pipe_ffplay

MeetingChairRobotScript

/work/pad_apps/bin/MeetingChairROS.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 CPP 中使用 Orocos KDL 和 KDL Parser,需要先安装 Orocos KDL 库和 KDL Parser 库。下面是安装步骤: 1. 安装 Orocos KDL 库: ``` sudo apt-get install liborocos-kdl-dev ``` 2. 安装 KDL Parser 库: ``` sudo apt-get install libkdl-parser-dev ``` 安装完成后,可以在 CPP 中使用这两个库。使用 Orocos KDL 和 KDL Parser 的示例代码如下: ```cpp #include <kdl/chain.hpp> #include <kdl/chainfksolver.hpp> #include <kdl/chainfksolverpos_recursive.hpp> #include <kdl/chainjnttojacsolver.hpp> #include <kdl_parser/kdl_parser.hpp> int main(int argc, char** argv) { // Load the robot description from the parameter server. std::string robot_description; ros::param::get("robot_description", robot_description); // Parse the robot description into a KDL tree. KDL::Tree robot_kdl; if (!kdl_parser::treeFromString(robot_description, robot_kdl)) { ROS_ERROR("Failed to construct KDL tree from robot description."); return 1; } // Create a solver for computing the forward kinematics of the robot. KDL::Chain robot_chain; robot_kdl.getChain("base_link", "end_effector_link", robot_chain); KDL::ChainFkSolverPos_recursive fk_solver(robot_chain); // Compute the forward kinematics of the robot for a given joint configuration. KDL::JntArray joint_positions(robot_chain.getNrOfJoints()); for (size_t i = 0; i < robot_chain.getNrOfJoints(); ++i) { joint_positions(i) = i * 0.1; } KDL::Frame end_effector_pose; fk_solver.JntToCart(joint_positions, end_effector_pose); // Create a solver for computing the Jacobian of the robot. KDL::ChainJntToJacSolver jac_solver(robot_chain); // Compute the Jacobian of the robot for a given joint configuration. KDL::Jacobian jacobian; jac_solver.JntToJac(joint_positions, jacobian); return 0; } ``` 这段代码演示了如何使用 Orocos KDL 和 KDL Parser 实现机器人的正运动学和雅克比矩阵计算。需要注意的是,这段代码是在 ROS 中编写的,如果在其他环境中使用,需要根据需要进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值