Hi im not able to get the message when using Isaac Sight Virtual Gamepad-> “Keypad” functionality
when i did print inside my tick function, it keep prompt “none” for rx.message
Anywhere I do it wrong?
here is my setup
motorDriver.app.json
{
“name”: “motorDriver”,
“modules”:[“sight”,“navigation”],
“graph”: {
“nodes”: [
{
“name”: “motorDriver_node”,
“components”: [
{
“name”: “message_ledger”,
“type”: “isaac::alice::MessageLedger”
}
]
},
{
“name”: “virtual_gamepad_bridge”,
“components”: [
{
“name”: “message_ledger”,
“type”: “isaac::alice::MessageLedger”
}, {
“name”: “VirtualGamepadBridge”,
“type”: “isaac::navigation::VirtualGamepadBridge”
}
]
}
],
“edges”: [
{
“source”: “websight/WebsightServer/virtual_gamepad”,
“target”: “virtual_gamepad_bridge/VirtualGamepadBridge/request”
},
{
“source”: “virtual_gamepad_bridge/VirtualGamepadBridge/reply”,
“target”: “websight/WebsightServer/virtual_gamepad_reply”
}
]
},
"config": {
"motorDriver_node": {
"PyCodelet": {
…
“tick_period” : 1
}
},
“virtual_gamepad_bridge”: {
“VirtualGamepadBridge”: {
“tick_period”: “100ms”
}
}
}
}
motorDriver.py
from isaac import *
class MotorDriver(Codelet):
def start(self):
self.rx = self.isaac_proto_rx(“JoystickStateProto”, “state”)
self.tick_periodically(self.config.tick_period)
def tick(self):
print(self.rx.message)
def main():
app = Application(app_filename=“apps/AMV_BOT/motorDriver/motorDriver.app.json”)
app.load_module(“sight”)
app.nodes[“motorDriver_node”].add(MotorDriver)
app.connect(‘virtual_gamepad_bridge/VirtualGamepadBridge/joystick’,‘virtual_gamepad_bridge’,‘motorDriver_node/PyCodelet’, ‘state’)
# ‘odometry/isaac.navigation.DifferentialBaseOdometry’, ‘state’,‘motorDriver_node/PyCodelet’, ‘state’
app.run()
if name == ‘main’:
main()