Some basic readme for the autonomy components.
This commit is contained in:
parent
2efb41c529
commit
2f7ab2edb1
120
README.md
120
README.md
|
@ -53,3 +53,123 @@ catkin config -DCMAKE_BUILD_TYPE=Release -DSIM=0 -DKIN=1
|
|||
catkin build
|
||||
````
|
||||
|
||||
## Autonomy Stack Notes:
|
||||
|
||||
1. Based on the robot launch its respective launch file from the rover_launch ros pkg.
|
||||
### Optimus
|
||||
```
|
||||
roslaunch rover_launch rover_optimus.launch
|
||||
```
|
||||
### Jean rover
|
||||
```
|
||||
roslaunch rover_launch rover_agx.launch
|
||||
```
|
||||
### Spot
|
||||
```
|
||||
sudo route add -net 192.168.50.0/24 gw 192.168.1.3 # Route to the robot not setup yet, so do this to communicate with the robot.
|
||||
roslaunch rover_launch spot.launch
|
||||
```
|
||||
2. Use a computer with valid ROS installation to act as a base station, on the base station launch the
|
||||
base station launch script. Make sure you have a ps4 joystick paired or connected via USB for control.
|
||||
|
||||
**Note: Make sure the IP of the robot and your Ip are correct in the script**
|
||||
|
||||
Get to the location of the script
|
||||
|
||||
```
|
||||
cd src/rover_launch/launch_scripts
|
||||
```
|
||||
|
||||
### Optimus
|
||||
```
|
||||
bash bash_optimus.sh
|
||||
```
|
||||
|
||||
### Jean rover
|
||||
```
|
||||
bash bash_tars.sh
|
||||
```
|
||||
### Spot
|
||||
```
|
||||
bash bash_spot.sh
|
||||
```
|
||||
Now one should be able to visualize the autonomy module components (pointcloud, images, tf, etc.),
|
||||
and control the robot manualy based on the commands below.
|
||||
|
||||
### Local Planner Joystick Mapping
|
||||
|
||||
```
|
||||
# Teleop configuration for PS4 joystick.
|
||||
# Left thumb-stick up/down/left/right for forward/backward translation
|
||||
# Right thumb-stick left/right for yaw
|
||||
# Left shoulder button for obstacle enabled
|
||||
# Right shoulder button for obstacle disabled
|
||||
#
|
||||
# L1 R1
|
||||
# L2 R2
|
||||
# _=====_ _=====_
|
||||
# / _____ \ / _____ \
|
||||
# +.-'_____'-.------------------------------.-'_____'-.+
|
||||
# / | | '. S O N Y .' | _ | \
|
||||
# / ___| /|\ |___ \ / ___| /_\ |___ \ (Y)
|
||||
# / | | | ; ; | _ _ ||
|
||||
# | | <--- ---> | | | ||_| (_)|| (X) (B)
|
||||
# | |___ | ___| ; ; |___ ___||
|
||||
# |\ | \|/ | / _ ____ _ \ | (X) | /| (A)
|
||||
# | \ |_____| .','" "', (_PS_) ,'" "', '. |_____| .' |
|
||||
# | '-.______.-' / \ / \ '-._____.-' |
|
||||
# | | LJ |--------| RJ | |
|
||||
# | /\ / \ /\ |
|
||||
# | / '.___.' '.___.' \ |
|
||||
# | / \ |
|
||||
# \ / \ /
|
||||
# \________/ \_________/
|
||||
#
|
||||
#
|
||||
# BUTTON Function
|
||||
# L1 Disable Obstacles
|
||||
# L2 Not defined
|
||||
# R1 Enable Obstacles
|
||||
# R2 Not defined
|
||||
# A Stop enable
|
||||
# B Stop release
|
||||
# X Manual control
|
||||
# Y Autonomy control
|
||||
#
|
||||
# AXIS Value
|
||||
# Left Horiz. Not defined
|
||||
# Left Vert. Forward/Backward
|
||||
# Right Horiz. Yaw
|
||||
# Right Vert. Not defined
|
||||
```
|
||||
|
||||
### Exploration planning
|
||||
|
||||
Start the exploration using the following commands by calling the rc cmd topic.
|
||||
|
||||
```
|
||||
rosservice call /buzzcmd "{broadcast: false, command: 1, confirmation: 0, param1: 0.0, param2: 0.0, param3: 0.0,
|
||||
param4: 0.0, param5: 0.0, param6: 0.0, param7: 0.0}"
|
||||
```
|
||||
|
||||
The command can be replaced with any of the following to switch the state of the robot:
|
||||
```
|
||||
No_cmd = 0
|
||||
Turnoff_cmd = 21
|
||||
Explore_cmd = 1
|
||||
Home_cmd = 2
|
||||
Wp_cmd = 3
|
||||
Find_object_cmd = 4 # Not Implemented
|
||||
Sit_cmd = 5
|
||||
Stand_cmd = 6
|
||||
Dance_cmd = 7 # Not Implemented
|
||||
all_robots_explore_cmd = 8 # Not Implemented
|
||||
all_robots_home_cmd = 9 # Not Implemented
|
||||
```
|
||||
### Troubleshooting
|
||||
|
||||
1. Robot too close to Obstacles: If the robot gets too close the planner states clear the space around the robot. Ideally one can take back control and move the robot a little bit to resolve the warning and re-enable exploration.
|
||||
2. Planner unable to find feasible path: Either try moving the robot, switch to turnedoff and back to explore, Move the robot a bit in the prefered direction and switch state -> turnedoff -> explore.
|
||||
3. Robot connection bad: Restart the communication hub radios `radio0` from luci.
|
||||
4. Rover driver not starting (ROSBuzz complaining Waiting for pose): check if the can bus is up and sending data using: `candump can0`, if not bring it up and using `bringup can` script from the driver package. Some robots have a service setup check sudo systemctl status bringupcan.service
|
||||
5. Vector nav driver not starting: check the /dev/vectornav or /dev/USB0 is there based on the device.
|
Loading…
Reference in New Issue