owned this note
owned this note
Published
Linked with GitHub
Husky & Jackal Project
===
###### tags: `husky`, `jackal`
[TOC]
Work Distribution
---
| Task | members |
| -------------------- | -------------- |
| Kinova Arm Control | 鄭家豪、劉劭暐 |
| Husky Path Planning | 黃禹維、許晏誠 |
| Coordinate Transformation|王博慧|
Gantt v2
---
```mermaid
gantt
title Gantt Chart
dateFormat M-D
axisFormat %m-%d
section Arm Control
A: a1, 02-20, 7d
B: after a1, 7d
section Path Planning
set waypoints: done, waypoints, 02-20, 7d
rostopic control: done, rostopic, after waypoints, 3d
Test: active, after rostopic, 7d
section Coordinate TF
熟悉程式: done, plan, 02-20, 7d
tf code: done, code, after plan, 5d
Test: done, after code, 4d
change timing for pub. coordinate: done, 03-28, 5d
cv-image to ros message: done, 04-29, 7d
section Jackal
Local Network Setup: done, network, 04-10, 7d
Hardware Setup: done, hw, after network, 7d
Husky & Jackal Communication: done, comm., after hw, 7d
waypoint setting & test: active, way, after comm., 7d
section Itergration
robotic arm & camera: done, I, 03-06, 14d
Whole test without jackel: done, 03-21, 21d
Whole test: active, 04-18, 28d
```
Gantt v1
---
```mermaid
gantt
title Gantt Chart
dateFormat M-D
axisFormat %m-%d
section Arm Control
A: a1, 02-20, 7d
B: after a1, 7d
section Path Planning
set waypoints: done, waypoints, 02-20, 7d
rostopic control: done, rostopic, after waypoints, 3d
Test: active, after rostopic, 7d
section Coordinate TF
熟悉程式: done, plan, 02-20, 7d
tf code: done, code, after plan, 5d
Test: done, after code, 4d
section Itergration
Intergration: active, I, 03-06, 21d
Done: milestone, 03-31
```
## KINOVA control
```bash=
cd catkin_ws
source devel/setup.bash
cd src/kinova_gui/
python Arm_autocontrol.py
```
publisher定義的部分在 class RobotArm() 裡
## Camera & Coordinate Transformation
==1. Start camera to detect object==
```bash=
cd catkin_ws
source devel/setup.bash
roslaunch camera_tf camera_operate.launch
```
publish **/tennis_position** and **/camera_image/detect**
If erro occured, change port of video to 1 or 2 or 3 in `camera_detector.py` line 27 and then launch again.

## Husky Launch
==1. Open Joystick Control==
```bash=
cd ~/catkin_ws/src
roslaunch husky_base base.launch
```
==2.打開IMU==
```bash=
cd ~/catkin_ws/src
roslaunch mavros px4.launch
```
==3.打開Lidar==
```bash=
cd ~/catkin_ws/src
roslaunch velodyne_pointcloud VLP16_points.launch
```
==4.打開Lio==
```bash=
cd ~/catkin_ws/src
roslaunch ncrl_lio runlauch
```
==5.開啟husky 路徑規劃==
```bash=
cd ~husky_ws/src
roslaunch ncrl_ugv_ctrl husky.launch
```
## Kinova Launch
:::info
**請記得先插上 Kinova 的 usb,接著記得開啟電源。**
:::
==1. 開啟 Kinova Lanuch==
```bash=
roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2n6s300
```
==2. 開啟 Arm Auto Contorl==
```bash=
cd catkin_ws/src/kinova_gui
python Arm_autocontrol.py
```
:::warning
**手臂一開始會有歸零的動作,如果沒有歸零或是在車子運行的過程出問題,請將 1、2 關閉,再依序重新執行。**
:::
## Jackal Launch
==1.打開Joystick Control==
1. 開啟jackal ugv電源
2. 按下ps4手把的藍芽配對鍵
3. 手把操作指令與husky一致
==2.打開arducam AR0134==
```bash==
roslaunch arducam_usb2_ros trigger_capture_node.launch # using trigger mode
```
==3.打開xsense IMU==
```bash==
roslaunch xsens_mti_driver display.launch
```
==4.打開vins-mono==
```bash==
roslaunch vins_estimator euroc.launch
roslaunch vins_estimator vins_rviz.launch #open rviz check the path
```
==5.完成初始化==
1. 手持jackal左右前後十字移動
2. 由rviz確定目前初始化尺度
3. 放回原點,可用rostopic echo /vins_estimate/odometry 確定目前位置
==6.開啟路徑規劃==
```bash==
roslaunch husky_error husky_vio.launch
```