ubuntuにドローンシュミレータを導入する
研究で必要なためubuntuにクアッドコプターのシュミレータを導入した。
<参考にしたページ>
Gazebo Simulation · PX4 Devguide
Interfacing to ROS · PX4 Devguide
java - Ubuntu: OpenJDK 8 - Unable to locate package - Stack Overflow
Building the Code · PX4 Devguide
<gazeboとpx4 stack firmwareを用いたシュミレータの構築>
cd ~/
sudo add-apt-repository ppa:george-edison55/cmake-3.x -y
sudo apt-get update
sudo apt-get install python-argparse git-core wget zip \
python-empy qtcreator cmake build-essential genromfs -y
# simulation tools
sudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-8-jdk clang-3.5 lldb-3.5 -y
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
#toolchain,pixhawk用のpackage群(使うマイコンによって変わる)
sudo apt-get remove modemmanager
sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install python-serial openocd \
flex bison libncurses5-dev autoconf texinfo build-essential \
libftdi-dev libtool zlib1g-dev \
python-empy gcc-arm-embedded -y
#px4 stack firmwareのダウンロード
mkdir -p ~/src
cd ~/src
git clone https://github.com/PX4/Firmware.git
cd Firmware
git submodule update --init --recursive
#gazeboシュミレータ起動
make posix_sitl_default gazebo
<rosを用いたクアッドコプターのシュミレータ構築>
*前述の「#px4 stack firmwareのダウンロード」まで行う。
#ros用のgazeboインストール
sudo apt-get install ros-$(ROS_DISTRO)-gazebo7-ros-pkgs
#別のterminalでmavrosとマスター起動
roslaunch mavros px4.launch fcu_url:="udp://:14540@192.168.1.36:14557"
#gazeboとフライトシュミレータ起動
make posix_sitl_default gazebo //makeの処理が終わり次第、Ctr+C or Ctr+Z
source ~/ros/devel/setup.bash
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build_posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
roslaunch px4 posix_sitl.launch
#gazeboを起動したterminalでテスト
commander takeoff
-----------------------------------------------------------------------------
このままでは不便なのでシェルスクリプトを作った。
<px4_simulater.sh>
#!/bin/bash
source ~/ros/devel/setup.bash
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build_posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo
今後、以下のコマンドで実行できる
(terminal A)
cd src/Firmware
source ~/ros/devel/setup.bash
source Tools/setup_gazebo.bash $(pwd) $(pwd)/build_posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo./px4_simulater.sh
roslaunch px4 posix_sitl.launch
(terminal B)
roslaunch mavros px4.launch fcu_url:="udp://:14540@192.168.1.36:14557"
やることリスト
- シュミレーション環境の構築をする(mac)
- プログラムの作成(launch,etc.)、シュミレーション
プログラム内のmavlink parameterが正しいかどうかを確認(mavpara)
*x,y,z,wがそれぞれ東西南北に当たる?
~setpoint_attitude/cmd_vel (geometry_msgs/TwistStamped)
Send angular velocity.)
フローを書く、シュミレーション用のランチファイルを作る、シュミレーション
実機用のランチファイルを作る
1/2~4
- 論文作成
目次,概要,abstruct,序論を作成
1/2~4 序論
raspberry pi 3とpixhawkを通信させる
以下のリンクを参考にした。
Pixhawk family companion · PX4 Devguide
TELEM2 FTDI
1 +5V (red) DO NOT CONNECT!
2 Tx (out) 5 FTDI RX (yellow) (in)
3 Rx (in) 4 FTDI TX (orange) (out)
4 CTS (in) 6 FTDI RTS (green) (out)
5 RTS (out) 2 FTDI CTS (brown) (in)
6 GND 1 FTDI GND (black)
(command)
$ sudo chmod 666 /dev/ttyUSB0
$ roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:57600
Raspberry pi 3をWiFiルーター化する
この記事を参考にした。
RPI-Wireless-Hotspot - eLinux.org
ただし、手順通りにしたら、wlan0のIPが表示されなかったため
/etc/network/interfacesのwlan0の設定を以下のようにした。
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
Wifiのアクセスポイントとして利用するだけなら以下のリンクのやり方で十分。