Be Engineer.

エンジニア成り立て管理人の日々の記録とメモブログです。

ubuntuにドローンシュミレータを導入する

研究で必要なためubuntuにクアッドコプターのシュミレータを導入した。

 

<参考にしたページ>

Linux · PX4 Devguide

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

 

#java SDK

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を通信させる

以下のリンクを参考にした。

akizukidenshi.com

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ルーター化する

この記事を参考にした。

qiita.com

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のアクセスポイントとして利用するだけなら以下のリンクのやり方で十分。

www.cyberciti.biz