Merge pull request #31 from tlab-wide/cpm-tr
Sync changes to cpm-tr with main
This commit is contained in:
commit
0c377f62b3
|
@ -47,12 +47,12 @@ cd ~/workspace/autoware_docker
|
|||
```
|
||||
v2x/autowarev2x:
|
||||
type: git
|
||||
url: git@github.com:tlab-wide/AutowareV2X.git
|
||||
version: main
|
||||
url: https://github.com/tlab-wide/AutowareV2X.git
|
||||
version: cpm-tr
|
||||
v2x/vanetza:
|
||||
type: git
|
||||
url: git@github.com:tlab-wide/vanetza.git
|
||||
version: socktap-cpm-tr103562
|
||||
url: https://github.com/yuasabe/vanetza.git
|
||||
version: master
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -37,14 +37,14 @@ colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
|
|||
|
||||
1. Edit the `autoware.repos` file and add the following two repositories to the end.
|
||||
```
|
||||
v2x/autoware_v2x:
|
||||
v2x/autowarev2x:
|
||||
type: git
|
||||
url: git@github.com:tlab-wide/autoware_v2x.git
|
||||
version: main
|
||||
url: https://github.com/tlab-wide/AutowareV2X.git
|
||||
version: cpm-tr
|
||||
v2x/vanetza:
|
||||
type: git
|
||||
url: git@github.com:tlab-wide/vanetza.git
|
||||
version: socktap-cpm-tr103562
|
||||
url: https://github.com/yuasabe/vanetza.git
|
||||
version: master
|
||||
|
||||
```
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 668 KiB |
|
@ -24,6 +24,13 @@ docker network create --driver=bridge --subnet=10.0.0.0/24 v2x_net -o com.docker
|
|||
|
||||
### Launch two ITS-S containers
|
||||
|
||||
!!! Note
|
||||
Here, we will use a Rocker extension called [off-your-rocker](https://github.com/sloretz/off-your-rocker).
|
||||
Install `off-your-rocker` by running the below:
|
||||
```bash
|
||||
python3 -m pip install off-your-rocker
|
||||
```
|
||||
|
||||
In one terminal, use rocker to launch container `autoware_1`:
|
||||
```bash
|
||||
rocker --nvidia --x11 --user --privileged --volume $HOME/workspace/autoware_docker --volume $HOME/data --network=v2x_net --name autoware_1 --oyr-run-arg "--ip 10.0.0.2 --hostname autoware_1" -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
|
||||
|
@ -42,7 +49,7 @@ In `autoware_1`:
|
|||
|
||||
```
|
||||
cd ~/workspace/autoware_docker
|
||||
source ~/autoware_docker/install/setup.bash
|
||||
source install/setup.bash
|
||||
export AWID=1 # autoware_1
|
||||
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
||||
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
||||
|
@ -55,11 +62,13 @@ Note that you can make the dummy cars to be static by changing its `Velocity` to
|
|||
|
||||
![](./tools-properties.png)
|
||||
|
||||
![](./autoware_1_rviz.png)
|
||||
|
||||
In `autoware_2`:
|
||||
|
||||
```
|
||||
cd ~/workspace/autoware_docker
|
||||
source ~/autoware_docker/install/setup.bash
|
||||
source install/setup.bash
|
||||
export AWID=2 # autoware_2
|
||||
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
||||
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
||||
|
@ -74,8 +83,8 @@ In `autoware_1`:
|
|||
```
|
||||
docker exec -it autoware_1 bash
|
||||
sudo su
|
||||
cd ~/workspace/autoware_docker
|
||||
source ~/workspace/autoware_docker/install/setup.bash
|
||||
cd workspace/autoware_docker
|
||||
source install/setup.bash
|
||||
export AWID=1
|
||||
source ./src/v2x/autowarev2x/setup.sh
|
||||
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0
|
||||
|
@ -89,8 +98,8 @@ In `autoware_2`:
|
|||
```
|
||||
docker exec -it autoware_2 bash
|
||||
sudo su
|
||||
cd ~/workspace/autoware_docker
|
||||
source ~/workspace/autoware_docker/install/setup.bash
|
||||
cd workspace/autoware_docker
|
||||
source install/setup.bash
|
||||
export AWID=2
|
||||
source ./src/v2x/autowarev2x/setup.sh
|
||||
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0 is_sender:=false
|
||||
|
@ -104,9 +113,9 @@ When both the sender and receiver is launched, you should see that the receiver
|
|||
|
||||
1. Press "Add" from the Displays Panel <br>
|
||||
![](./add-v2x-rviz-1.png)
|
||||
2. Choose "By topic", then select PredictedObjects from /v2x/cpm/objects
|
||||
2. Choose "By topic", then select PredictedObjects from /v2x/cpm/objects <br>
|
||||
![](./add-v2x-rviz-2.png)
|
||||
3. The CPM-shared objects are shown in Rviz!
|
||||
3. The CPM-shared objects are shown in Rviz for `autoware_2`! <br>
|
||||
![](./add-v2x-rviz-3.png)
|
||||
|
||||
## Run scenarios
|
||||
|
|
|
@ -4,18 +4,30 @@
|
|||
|
||||
In `autoware_1`:
|
||||
```
|
||||
docker exec -it autoware_1 bash
|
||||
cd ~/workspace/autoware_docker
|
||||
ros2 bag record -o test_sender_rosbag /perception/object_recognition/objects /tf
|
||||
tcpdump -i eth0 -w test_sender_tcpdump
|
||||
|
||||
sudo apt update
|
||||
sudo apt install tcpdump
|
||||
sudo tcpdump -i eth0 -w test_sender_tcpdump.pcap
|
||||
```
|
||||
|
||||
In `autoware_2`:
|
||||
```
|
||||
docker exec -it autoware_2 bash
|
||||
cd ~/workspace/autoware_docker
|
||||
ros2 bag record -o test_receiver_rosbag /v2x/cpm/objects /tf
|
||||
tcpdump -i eth0 -w test_receiver_tcpdump
|
||||
|
||||
sudo apt update
|
||||
sudo apt install tcpdump
|
||||
sudo tcpdump -i eth0 -w test_receiver_tcpdump.pcap
|
||||
```
|
||||
|
||||
## Open PCAP file in Wireshark
|
||||
|
||||
![](./wireshark_awv2x.png)
|
||||
|
||||
## Analyze in JupyteLab
|
||||
|
||||
### Plot the x,y coordinates of objects in test_sender_rosbag
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 184 KiB |
|
@ -11,6 +11,7 @@
|
|||
|
||||
<depend>autoware_auto_perception_msgs</depend>
|
||||
<depend>tf2_msgs</depend>
|
||||
<depend>tf2</depend>
|
||||
<depend>geometry_msgs</depend>
|
||||
<depend>rclcpp</depend>
|
||||
<depend>std_msgs</depend>
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace v2x {
|
|||
cpm_num_(0),
|
||||
received_cpm_num_(0),
|
||||
cpm_object_id_(0),
|
||||
use_dynamic_generation_rules_(true)
|
||||
use_dynamic_generation_rules_(false)
|
||||
{
|
||||
RCLCPP_INFO(node_->get_logger(), "CpmApplication started. is_sender: %d", is_sender_);
|
||||
set_interval(milliseconds(100));
|
||||
|
|
Loading…
Reference in New Issue