Roboy Pinky: Avatar Mode 101
Devices overview
Name | Nmap output sudo nmap -nsP 10.180.1.0/24 | Login credentials | Function | Uses ROS |
---|---|---|---|---|
Calculon-9
| IP of the device is always listed above its name this is the output on LAN using the white Tp-Link Ethernet adapter | luis
|
|
|
NUC (replacement for Calculon-9)
|
| roboy
|
|
|
FPGA | root
|
|
| |
Jetson Xavier | roboy
|
|
| |
Jetson Nano | roboy
|
|
|
Running the system
Inspect hardware connections integrity
button box switches are all in OFF position
OFF = towards body part name label
OFF = O for 5V and 12V
fuse on the left side of the wheelchair is green (OFF)
FPGA power WAGO is connected (bottom right on the Core Board)
micromatch connectors on the FPGA’s Core Board are properly plugged in
micromatch connectors on the motorboards (front and back side) are properly plugged in
Power the system
connect the black socket plug to AC →
green light appears on the DC-DC convertor below the wheelchair
Ethernet switch lights turn on
Core Board fan starts spinning and FPGA’s blue light turns on
in the middle of the chest the white microphone’s tiny blue light turns on
turn on the beamer
push the switch to ON position
press and hold power button for a few seconds
turn on the speaker by turning a knob on a board located in the upper right side on the back of the robot
Discover devices on the network and note their IPs
run the IP finder script on Calculon-9 (currently mapping for
10.180.1.0
, edit the script if needed)~/ip_finder.sh
ORrun the IP finder on another machine
ORuse
sudo nmap -nsP 10.180.1.0/24
and see “Nmap output” from the Devices Overview table
Update ROS environmental variables for devices marked as “Uses ROS” in the Devices overview table
open
~/.bashrc
with an editorupdate
ROS_MASTER_URI
lineupdate
ROS_IP
line (if necessary).
If the ROS_IP is wrong, no ROS messages from this device will be recognizedsource ~/.bashrc
Update animus cloud replica IP
note the IP of the Jetson Nano board
update cloud_ip on the Jetson Xavier
update cloud_ip on the Operator’s PC in
C:/Users/Roboy/.cyberselves/animus/cloud_ip
file
Autostart ROS master ( on Calculon-9 / NUC)
Run
rviz
on a PC with a screen (ideally on LAN too), manually move the robot arms and head and confirm that the visualization in RViz is matching the physical robot state.Autostart on Jetson Xavier
Confirm that animus_server is working properly by scrolling to the start of the command output (press
Ctrl+A ü ⬆
) and look for the following lines:2021/08/18 17:32:11 Registration reply: 3 action from client 1: at 1629300731016952374
2021/08/18 17:32:11 Robot registered successfully with cloud platform.
Turn on wheelchair by flipping the fuse on the left side of the wheelchair from green to red →
ESP on the very bottom of the wheelchair will have the blue LED on
“Subscribing to .. “ logs appear in the wheelchair TCP node tmux window on Jetson Xavier
Restart face
Turn on the body parts, 5V, 12V
Run Motor Check from the Node-red GUI on
http://<jetson xavier IP>:1880/ui
(e.g. http://192.168.1.104:1880/ui) forshoulder left
shoulder right
head
Initialize the robot with Node-Red
Roboy Avatar is ready for telepresence!
Troubleshooting
Animus modality “Not Open”
Network is | Network should |
---|---|
LAN cable roll (avatar) → Teltonica Router | LAN cable roll (avatar)→ XPRIZE Avatar Network |
Jetson Nano → Teltonica Router | Jetson Nano → XPRIZE Avatar Network |
Operator PC (NUC) → XPRIZE Operator Network | Operator PC (NUC) → XPRIZE Operator Network |
Symptoms visible in the animus_server logs:Modality - not open - ...
Modality - not open - ...
Caused (likely) by animus client’s (on the NUC) inability to retrieve data from the animus server (Jetson Xavier).
Fix routine
Connect the LAN cable roll to XPRIZE Avatar Network
Connect Jetson Nano to XPRIZE Avatar Network
run
./ip_finder.sh
on Calculon-9update
ROS_MASTER_URI
for devices on ROS (see top table) to Calculon-9’s IPupdate wheelchair tcp socket IP to Jetson Xavier’s IP
update face websocket IP to Jetson Xavier’s IP
FPGA debugging
In case the FPGA doesn’t show up on the network connect it to a laptop with a USB-mini cable on the side of the LAN (top when mounted on the robot) and run:
Then power cycle the FPGA.
You should see the booting sequence in the terminal running screen
command.
Check if it’s getting an IP by ifconfig
edit /etc/network/interfaces
if necessary.
In case there’s no output on the screen
, power cycle it again. With no output after few power cycles exchange the SD card and/or the FPGA board.
Manual joint control
Option 1
One can send joint targets to /roboy/pinky/simulation/joint_targets
ROS topic. This will result in smooth and slow motions, since pybullet will take care of the interpolation between the target you sent and the current joint state. For example, to test a single joint:
Option 2
Another option is to send joint commands /roboy/pinky/control/joint_targets
. This might however result in unexpectedly abrupt & fast motions. Not recommended. Use at your own risk
Motorboard exchange
See Config Files | Updating motor ids
For instructions to flash a new ID for motorboards refer to https://devanthro.atlassian.net/wiki/spaces/R3/pages/2049474573
Other
See https://devanthro.atlassian.net/wiki/spaces/~865154073/pages/2470608897