Code Monkey home page Code Monkey logo

aip_launcher's Introduction

aip_launch

Directory Structure

.
├── aip_***_launch # AI.Pilot *** package
│   └── ...
├── aip_***_description # AI.Pilot *** package
│   └── ...
├── ... # other AI.Pilot packages...
└── common_sensor_launch # common sensor driver package
    └── ... # some directories and files

Description for aip_*_launch

Overview

These are packages which contain some launch files for launching AI.Pilot sensors.

When you create your own sensor kit packages, please refer to aip_*_launch as a sample.

Directory Structure (ex. aip_x1)

.
├── aip_x1_launch
│   ├── CMakeLists.txt
│   ├── data
│   │   └── ... # some parameters
│   ├── launch
│   │   ├── camera.launch.xml
│   │   ├── gnss.launch.xml
│   │   ├── imu.launch.xml
│   │   ├── lidar.launch.xml
│   │   ├── sensing.launch.xml
│   │   └── ... # other launch files
│   └── package.xml
└── ... # other AI.Pilot packages...

Description for launch files

sensing.launch.xml

  • sensing.launch.xml is called from sensing_launch/sensing.launch.xml in autoware_launcher.
# https://github.com/tier4/autoware_launcher/blob/7e07eaa954bc04d252cda6b65bb7eae050ebdfb2/sensing_launch/package.xml

  <let name="sensor_launch_pkg" value="$(find-pkg-share $(var sensor_model)_launch)"/> # ex. sensor_model = aip_x1
...
  <include file="$(var sensor_launch_pkg)/launch/sensing.launch.xml">
...
  • sensor drivers such as LiDAR driver can be described as follows.
...
<!-- LiDAR Driver -->
<include file="$(find-pkg-share aip_xxx_launch)/launch/lidar.launch.xml">
    <arg name="launch_driver" value="$(var launch_driver)" />
    <arg name="vehicle_mirror_param_file" value="$(var vehicle_mirror_param_file)" />
</include>

<!-- Camera Driver -->
<include file="$(find-pkg-share aip_xxx_launch)/launch/camera.launch.xml">
    <arg name="launch_driver" value="$(var launch_driver)" />
</include>

<!-- IMU Driver -->
<include file="$(find-pkg-share aip_xxx_launch)/launch/imu.launch.xml">
    <arg name="launch_driver" value="$(var launch_driver)" />
</include>

<!-- GNSS Driver -->
<include file="$(find-pkg-share aip_xxx_launch)/launch/gnss.launch.xml">
    <arg name="launch_driver" value="$(var launch_driver)" />
</include>
...
  • Other necessary sensor drivers also can be allowed to describe, but please follow above examples.

lidar.launch.xml

In localization, to refer to LiDAR data,

  • The LiDAR output name is specified as /sensing/lidar/top/rectified/pointcloud.
  • The LiDAR driver container name is specified as /sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container.

These are referred from util.launch.xml in localization_launch.

# https://github.com/tier4/autoware_launcher/blob/1ccc97034f84f67d8ff000a308b58ffa9be58091/localization_launch/launch/util/util.launch.xml

...
  <arg name="input_sensor_points_topic" default="/sensing/lidar/top/rectified/pointcloud" description="input topic name for raw pointcloud"/>
...
  <arg name="container" default="/sensing/lidar/top/pointcloud_preprocessor/velodyne_node_container"  description="container name"/>
...

imu.launch.xml

The IMU output name is specified as /sensing/imu/imu_data to refer from gyro_odometer package.

# https://github.com/tier4/autoware.iv/blob/05a0bec8350c867c4e7bce3fd2f3e63bc8c9168e/localization/twist_estimator/gyro_odometer/launch/gyro_odometer.launch.xml

...
  <arg name="input_imu_topic" default="/sensing/imu/imu_data" description="input imu topic name" />
...

gnss.launch.xml

The GNSS output name is specified as /sensing/gnss/pose_with_covariance to refer from pose_initializer package.

# https://github.com/tier4/autoware.iv/blob/883951fb3eae8722fd896218d6798b5e19cebc5c/localization/util/pose_initializer/launch/pose_initializer.launch.xml

...
  <remap from="gnss_pose_cov" to="/sensing/gnss/pose_with_covariance" />
...

camera.launch.xml

There are no constraints now.

Description for common_sensor_launch

This is the package that contains some sensor driver launch files for reasons such as performing autoware's own processing.

Directory Structure

.
└── common_sensor_launch
    ├── CMakeLists.txt
    └── launch
    │   ├── velodyne_node_container.launch.py
    │   ├── velodyne_VLP16.launch.xml
    │   └── ...
    └── package.xml

Description for aip_***_description

Settings

  • Add each transformation between a base frame and a sensor into calibration yaml as below.
# sample_sensor_calibration.yaml
# parent -> child
parent_name
  child_name
    x:
    y:
    z:
    roll:
    pitch:
    yaw:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.