ROS初探
安裝
# 添加軟件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 如果想使用鏡像站來加速下載,執行以下命令
# sudo sh -c 'echo "deb http://ros.exbot.net/rospackage/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 設置密鑰
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
# 更新源
sudo apt-get update
# 安裝完整桌面版
sudo apt-get install ros-kinetic-desktop-full
# 初始化ROS
sudo rosdep init
# 更新ROS依賴
rosdep update
# 更新環境變量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 如果使用zsh,使用以下命令進行更新
# echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
# source ~/.zshrc
# 安裝編譯工具鏈
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
安裝完成后測試ROS是否安裝完成
roscore
哦了~
安裝MAVRos
sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extras
# 需要執行以下命令來安裝geographiclib
sudo /opt/ros/kinetic/lib/mavros/install_geographiclib_datasets.sh
編譯PX4固件
git clone https://github.com/PX4/Firmware.git
# 編譯并啟動gazebo
make posix gazebo
轉發模擬器命令至飛控
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
之后便可以通過rostopic
和roservice
命令進行mavros消息、話題的發布來控制無人機了。
可能出現的錯誤
No rule to make target '~/Firmware/Tools/sitl_gazebo/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND'
sudo apt-get install python-jinja2 protobuf-compiler python-pip
sudo pip install numpy toml